mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 09:10:36 +00:00
ext/dv/gstdvdec.c: Set EOS on the element when processing an EOS event.
Original commit message from CVS: * ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event): Set EOS on the element when processing an EOS event. * ext/speex/gstspeexdec.h: * ext/speex/gstspeexenc.h: Only keep a const ptr to the mode * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps_with_data), (gst_riff_create_audio_template_caps): Allow WMAV3, with up to 6 channels. * gst/asfdemux/gstasfmux.c: (gst_asfmux_request_new_pad): Don't call gst_pad_set_event_function on a sink pad. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_set_cur_audio), (gst_dvd_demux_set_cur_subpicture): Copy the explicit caps that were set across to the cur_* pads, instead of trying to use a possibly non-existent negotiated caps. Reset the type of subpicture pads to UNKNOWN after calling init_stream, so that the caps get set.
This commit is contained in:
parent
edc08f902c
commit
eefd35e846
4 changed files with 30 additions and 8 deletions
21
ChangeLog
21
ChangeLog
|
@ -1,3 +1,24 @@
|
|||
2004-10-30 Jan Schmidt <thaytan@mad.scientist.com>
|
||||
|
||||
* ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event):
|
||||
Set EOS on the element when processing an EOS event.
|
||||
* ext/speex/gstspeexdec.h:
|
||||
* ext/speex/gstspeexenc.h:
|
||||
Only keep a const ptr to the mode
|
||||
* gst-libs/gst/riff/riff-media.c:
|
||||
(gst_riff_create_audio_caps_with_data),
|
||||
(gst_riff_create_audio_template_caps):
|
||||
Allow WMAV3, with up to 6 channels.
|
||||
* gst/asfdemux/gstasfmux.c: (gst_asfmux_request_new_pad):
|
||||
Don't call gst_pad_set_event_function on a sink pad.
|
||||
* gst/mpegstream/gstdvddemux.c:
|
||||
(gst_dvd_demux_get_subpicture_stream),
|
||||
(gst_dvd_demux_set_cur_audio), (gst_dvd_demux_set_cur_subpicture):
|
||||
Copy the explicit caps that were set across to the cur_* pads,
|
||||
instead of trying to use a possibly non-existent negotiated caps.
|
||||
Reset the type of subpicture pads to UNKNOWN after calling init_stream,
|
||||
so that the caps get set.
|
||||
|
||||
2004-10-29 Martin Pitt <martin.pitt@canonical.com>
|
||||
|
||||
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
|
|
@ -459,6 +459,8 @@ gst_riff_create_audio_caps_with_data (guint16 codec_id,
|
|||
{
|
||||
gint version = (codec_id - GST_RIFF_WAVE_FORMAT_WMAV1) + 1;
|
||||
|
||||
channels_max = 6;
|
||||
|
||||
block_align = TRUE;
|
||||
|
||||
caps = gst_caps_new_simple ("audio/x-wma",
|
||||
|
@ -613,6 +615,7 @@ gst_riff_create_audio_template_caps (void)
|
|||
GST_RIFF_WAVE_FORMAT_DVI_ADPCM,
|
||||
GST_RIFF_WAVE_FORMAT_WMAV1,
|
||||
GST_RIFF_WAVE_FORMAT_WMAV2,
|
||||
GST_RIFF_WAVE_FORMAT_WMAV3,
|
||||
/* FILL ME */
|
||||
0
|
||||
};
|
||||
|
|
|
@ -585,7 +585,6 @@ gst_asfmux_request_new_pad (GstElement * element,
|
|||
G_CALLBACK (gst_asfmux_pad_unlink), (gpointer) asfmux);
|
||||
gst_pad_set_link_function (newpad, linkfunc);
|
||||
gst_element_add_pad (element, newpad);
|
||||
gst_pad_set_event_function (newpad, gst_asfmux_handle_event);
|
||||
gst_pad_set_event_mask_function (newpad, gst_asfmux_get_event_masks);
|
||||
|
||||
return newpad;
|
||||
|
|
|
@ -645,11 +645,11 @@ gst_dvd_demux_get_subpicture_stream (GstMPEGDemux * mpeg_demux,
|
|||
|
||||
if (str == NULL) {
|
||||
str = g_new0 (GstMPEGStream, 1);
|
||||
str->type = GST_DVD_DEMUX_SUBP_UNKNOWN;
|
||||
|
||||
name = g_strdup_printf ("subpicture_%02d", stream_nr);
|
||||
DEMUX_CLASS (dvd_demux)->init_stream (mpeg_demux, type, str, stream_nr,
|
||||
name, CLASS (dvd_demux)->subpicture_template);
|
||||
str->type = GST_DVD_DEMUX_SUBP_UNKNOWN;
|
||||
g_free (name);
|
||||
add_pad = TRUE;
|
||||
|
||||
|
@ -886,7 +886,7 @@ gst_dvd_demux_set_cur_audio (GstDVDDemux * dvd_demux, gint stream_nr)
|
|||
str = mpeg_demux->audio_stream[stream_nr];
|
||||
if (str != NULL) {
|
||||
/* (Re)set the caps in the "current" pad. */
|
||||
caps = gst_pad_get_negotiated_caps (str->pad);
|
||||
caps = GST_RPAD_EXPLICIT_CAPS (str->pad);
|
||||
if (caps != NULL) {
|
||||
gst_pad_set_explicit_caps (dvd_demux->cur_audio, caps);
|
||||
}
|
||||
|
@ -898,7 +898,6 @@ static void
|
|||
gst_dvd_demux_set_cur_subpicture (GstDVDDemux * dvd_demux, gint stream_nr)
|
||||
{
|
||||
GstMPEGStream *str;
|
||||
const GstCaps *caps = NULL;
|
||||
|
||||
g_return_if_fail (stream_nr >= -1 &&
|
||||
stream_nr < GST_DVD_DEMUX_NUM_SUBPICTURE_STREAMS);
|
||||
|
@ -914,11 +913,11 @@ gst_dvd_demux_set_cur_subpicture (GstDVDDemux * dvd_demux, gint stream_nr)
|
|||
|
||||
str = dvd_demux->subpicture_stream[stream_nr];
|
||||
if (str != NULL) {
|
||||
GstCaps *caps = NULL;
|
||||
|
||||
/* (Re)set the caps in the "current" pad. */
|
||||
caps = gst_pad_get_negotiated_caps (str->pad);
|
||||
if (caps != NULL) {
|
||||
gst_pad_set_explicit_caps (dvd_demux->cur_subpicture, caps);
|
||||
}
|
||||
caps = GST_RPAD_EXPLICIT_CAPS (str->pad);
|
||||
gst_pad_set_explicit_caps (dvd_demux->cur_subpicture, caps);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue