summaryrefslogtreecommitdiffstats
path: root/ext/faad/gstfaad.h
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-04-28 11:04:12 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-04-28 11:04:12 +0000
commit2d4c6611699ad5d4fdd7ce4385e146cebc7479b4 (patch)
tree83844099edf2517190ed3a7a9bf58cac27ef0da3 /ext/faad/gstfaad.h
parentbf3fd4f95d83633e2d7fda8955d4f94fa8cd2684 (diff)
downloadgst-plugins-bad-2d4c6611699ad5d4fdd7ce4385e146cebc7479b4.tar.gz
gst-plugins-bad-2d4c6611699ad5d4fdd7ce4385e146cebc7479b4.tar.bz2
gst-plugins-bad-2d4c6611699ad5d4fdd7ce4385e146cebc7479b4.zip
ext/faad/gstfaad.*: If we run into a decoding error, try re-opening the decoder with faacDecInit2() using fake codec ...
Original commit message from CVS: * ext/faad/gstfaad.c: (gst_faad_init), (aac_rate_idx), (gst_faad_setcaps), (gst_faad_chain), (gst_faad_open_decoder), (gst_faad_close_decoder), (gst_faad_change_state): * ext/faad/gstfaad.h: If we run into a decoding error, try re-opening the decoder with faacDecInit2() using fake codec data created from the data the demuxer gave us. Should fix a whole bunch of GStreamer-faad problems incl. 'channel coupling not implemented', 'maximum number of scalefactor bands exceeded' etc. (#173007, #332892).
Diffstat (limited to 'ext/faad/gstfaad.h')
-rw-r--r--ext/faad/gstfaad.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/faad/gstfaad.h b/ext/faad/gstfaad.h
index 419ce20d..160b8ba4 100644
--- a/ext/faad/gstfaad.h
+++ b/ext/faad/gstfaad.h
@@ -33,7 +33,7 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_FAAD, GstFaadClass))
#define GST_IS_FAAD(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_FAAD))
-#define GST_IS_FAAD_CLASS(obj) \
+#define GST_IS_FAAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_FAAD))
typedef struct _GstFaad {
@@ -46,6 +46,8 @@ typedef struct _GstFaad {
guint channels; /* number of channels of the last frame */
guint bps; /* bytes per sample */
+ guint8 fake_codec_data[2];
+
GstBuffer *tempbuf; /* used to keep input leftovers */
/* FAAD object */