diff --git a/ChangeLog b/ChangeLog index 1d2106b837..b491103558 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-03-28 Tim-Philipp Müller + + * ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init), + (gst_dvd_read_src_goto_title), (gst_dvd_read_src_read): + Name the structure in the custom event with the + language codes for the audio and subtitle streams + actually like dvddemux expects it to be named. + Set caps on source pad and outgoing buffers. + 2006-03-28 Tim-Philipp Müller * ext/lame/gstlame.c: (gst_lame_init), (gst_lame_set_property), diff --git a/ext/dvdread/dvdreadsrc.c b/ext/dvdread/dvdreadsrc.c index 29bfb8c465..2c0817005c 100644 --- a/ext/dvdread/dvdreadsrc.c +++ b/ext/dvdread/dvdreadsrc.c @@ -134,6 +134,10 @@ gst_dvd_read_src_init (GstDvdReadSrc * src, GstDvdReadSrcClass * klass) src->seek_pend_fmt = GST_FORMAT_UNDEFINED; src->title_lang_event_pending = NULL; src->pending_clut_event = NULL; + + gst_pad_use_fixed_caps (GST_BASE_SRC_PAD (src)); + gst_pad_set_caps (GST_BASE_SRC_PAD (src), + gst_static_pad_template_get_caps (&srctemplate)); } static void @@ -417,7 +421,7 @@ gst_dvd_read_src_goto_title (GstDvdReadSrc * src, gint title, gint angle) src->title_lang_event_pending = NULL; } - s = gst_structure_new ("application/x-gst-event", + s = gst_structure_new ("application/x-gst-dvd", "event", G_TYPE_STRING, "dvd-lang-codes", NULL); /* audio */ @@ -613,6 +617,8 @@ nav_retry: GST_BUFFER_SIZE (buf) = cur_output_size * DVD_VIDEO_LB_LEN; /* GST_BUFFER_OFFSET (buf) = priv->cur_pack * DVD_VIDEO_LB_LEN; */ + gst_buffer_set_caps (buf, GST_PAD_CAPS (GST_BASE_SRC_PAD (src))); + *p_buf = buf; src->cur_pack = next_vobu;