summaryrefslogtreecommitdiffstats
path: root/gst/wavparse/gstwavparse.h
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-03-23 15:36:27 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-03-23 15:36:27 +0000
commitabb13bdd249c9f6eaa9f6ec8b03f62381625ea49 (patch)
treef5f916bcb646c58d37546d34da173f6fcf360665 /gst/wavparse/gstwavparse.h
parente035ba08376aba93a469e254e394ef2aecb4d043 (diff)
gst/wavparse/gstwavparse.*: Delay source pad creation until we have the first chunk of media data, so the we can exam...
Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek), (gst_wavparse_stream_headers), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data), (gst_wavparse_loop): * gst/wavparse/gstwavparse.h: Delay source pad creation until we have the first chunk of media data, so the we can examine the data and adjust the caps accordingly if required. This makes playback of .wav files with DTS-declared-as-PCM content work (#313266).
Diffstat (limited to 'gst/wavparse/gstwavparse.h')
-rw-r--r--gst/wavparse/gstwavparse.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/gst/wavparse/gstwavparse.h b/gst/wavparse/gstwavparse.h
index b9203140..2d140619 100644
--- a/gst/wavparse/gstwavparse.h
+++ b/gst/wavparse/gstwavparse.h
@@ -33,10 +33,10 @@ G_BEGIN_DECLS
#define GST_WAVPARSE(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_WAVPARSE,GstWavParse))
#define GST_WAVPARSE_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_WAVPARSE,GstWavParse))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_WAVPARSE,GstWavParseClass))
#define GST_IS_WAVPARSE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_WAVPARSE))
-#define GST_IS_WAVPARSE_CLASS(obj) \
+#define GST_IS_WAVPARSE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_WAVPARSE))
typedef enum {
@@ -59,6 +59,13 @@ struct _GstWavParse {
/* pads */
GstPad *sinkpad,*srcpad;
+ /* for delayed source pad creation for when
+ * we have the first chunk of data and know
+ * the format for sure */
+ GstCaps *caps;
+ GstTagList *tags;
+ GstEvent *newsegment;
+
/* WAVE decoding state */
GstWavParseState state;