diff --git a/ChangeLog b/ChangeLog index 655c6783ec..f9d801aced 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-09-15 Ronald S. Bultje + + * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_audio_stream): + Caps are only set if the type of the stream is unknown, but this + is initialized in ->init_stream(), so set to UNKNOWN after calling + ->init_stream() so that capsnego starts. + 2004-09-15 Ronald S. Bultje * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), diff --git a/gst/mpegstream/gstdvddemux.c b/gst/mpegstream/gstdvddemux.c index f39587dc90..15f0088f15 100644 --- a/gst/mpegstream/gstdvddemux.c +++ b/gst/mpegstream/gstdvddemux.c @@ -501,7 +501,6 @@ gst_dvd_demux_get_audio_stream (GstMPEGDemux * mpeg_demux, } str = mpeg_demux->audio_stream[stream_nr]; - if (str == NULL) { if (type != GST_DVD_DEMUX_AUDIO_LPCM) { str = g_new0 (GstMPEGStream, 1); @@ -509,11 +508,12 @@ gst_dvd_demux_get_audio_stream (GstMPEGDemux * mpeg_demux, lpcm_str = g_new0 (GstDVDLPCMStream, 1); str = (GstMPEGStream *) lpcm_str; } - str->type = GST_MPEG_DEMUX_AUDIO_UNKNOWN; name = g_strdup_printf ("audio_%02d", stream_nr); DEMUX_CLASS (dvd_demux)->init_stream (mpeg_demux, type, str, stream_nr, name, DEMUX_CLASS (dvd_demux)->audio_template); + /* update caps */ + str->type = GST_MPEG_DEMUX_AUDIO_UNKNOWN; g_free (name); mpeg_demux->audio_stream[stream_nr] = str;