summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--gst-libs/gst/riff/riff-media.c3
-rw-r--r--gst/asfdemux/gstasfmux.c1
-rw-r--r--gst/mpegstream/gstdvddemux.c13
4 files changed, 30 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index ddec267c..e5ecc886 100644
--- a/ChangeLog
+++ b/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>
diff --git a/gst-libs/gst/riff/riff-media.c b/gst-libs/gst/riff/riff-media.c
index 9912a6e8..9dbb31da 100644
--- a/gst-libs/gst/riff/riff-media.c
+++ b/gst-libs/gst/riff/riff-media.c
@@ -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
};
diff --git a/gst/asfdemux/gstasfmux.c b/gst/asfdemux/gstasfmux.c
index 3bcc83f1..69980c05 100644
--- a/gst/asfdemux/gstasfmux.c
+++ b/gst/asfdemux/gstasfmux.c
@@ -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;
diff --git a/gst/mpegstream/gstdvddemux.c b/gst/mpegstream/gstdvddemux.c
index ebcffcf2..7f5ae473 100644
--- a/gst/mpegstream/gstdvddemux.c
+++ b/gst/mpegstream/gstdvddemux.c
@@ -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);
}
}