summaryrefslogtreecommitdiff
path: root/ext/resindvd/resindvdbin.c
diff options
context:
space:
mode:
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>2012-01-20 15:34:27 +0000
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>2012-01-23 11:04:26 +0000
commit1c0ccc45f458a2a3e9dbe49cc2084fbcb3f10267 (patch)
tree4b645519095689b8cb45b18a49f2c32c953a6c14 /ext/resindvd/resindvdbin.c
parent27eb76bf45112263452b7b47cecd75022d480835 (diff)
downloadgstreamer-plugins-bad-1c0ccc45f458a2a3e9dbe49cc2084fbcb3f10267.tar.gz
resindvd: fix preroll on titles with no audio track
https://bugzilla.gnome.org/show_bug.cgi?id=599469
Diffstat (limited to 'ext/resindvd/resindvdbin.c')
-rw-r--r--ext/resindvd/resindvdbin.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/ext/resindvd/resindvdbin.c b/ext/resindvd/resindvdbin.c
index c73af9a7f..c1a29eb3e 100644
--- a/ext/resindvd/resindvdbin.c
+++ b/ext/resindvd/resindvdbin.c
@@ -470,18 +470,16 @@ create_elements (RsnDvdBin * dvdbin)
RSN_TYPE_STREAM_SELECTOR, "audioselect", "Audio stream selector"))
return FALSE;
- if (!try_create_piece (dvdbin, DVD_ELEM_AUDDEC, NULL,
- RSN_TYPE_AUDIODEC, "auddec", "audio decoder"))
+ if (!try_create_piece (dvdbin, DVD_ELEM_AUD_MUNGE, NULL,
+ RSN_TYPE_AUDIOMUNGE, "audioearlymunge", "Audio output filter"))
return FALSE;
- /* rsnaudiomunge goes after the audio decoding to regulate the stream */
- if (!try_create_piece (dvdbin, DVD_ELEM_AUD_MUNGE, NULL,
- RSN_TYPE_AUDIOMUNGE, "audiomunge", "Audio output filter"))
+ if (!try_create_piece (dvdbin, DVD_ELEM_AUDDEC, NULL,
+ RSN_TYPE_AUDIODEC, "auddec", "audio decoder"))
return FALSE;
- src = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUDDEC], "src");
- sink =
- gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUD_MUNGE], "sink");
+ src = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUD_MUNGE], "src");
+ sink = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUDDEC], "sink");
if (src == NULL || sink == NULL)
goto failed_aud_connect;
if (GST_PAD_LINK_FAILED (gst_pad_link (src, sink)))
@@ -491,7 +489,8 @@ create_elements (RsnDvdBin * dvdbin)
src = sink = NULL;
src = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUD_SELECT], "src");
- sink = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUDDEC], "sink");
+ sink =
+ gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUD_MUNGE], "sink");
if (src == NULL || sink == NULL)
goto failed_aud_connect;
if (GST_PAD_LINK_FAILED (gst_pad_link (src, sink)))
@@ -501,7 +500,7 @@ create_elements (RsnDvdBin * dvdbin)
src = sink = NULL;
/* ghost audio munge output pad onto bin */
- src = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUD_MUNGE], "src");
+ src = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUDDEC], "src");
if (src == NULL)
goto failed_aud_ghost;
src_templ = gst_static_pad_template_get (&audio_src_template);
@@ -701,7 +700,7 @@ demux_pad_added (GstElement * element, GstPad * pad, RsnDvdBin * dvdbin)
gst_element_get_request_pad (dvdbin->pieces[DVD_ELEM_SPU_SELECT],
"sink%d");
skip_mq = TRUE;
- } else if (can_sink_caps (dvdbin->pieces[DVD_ELEM_AUDDEC], caps)) {
+ } else if (can_sink_caps (dvdbin->pieces[DVD_ELEM_AUD_MUNGE], caps)) {
GST_LOG_OBJECT (dvdbin, "Found audio pad w/ caps %" GST_PTR_FORMAT, caps);
dest_pad =
gst_element_get_request_pad (dvdbin->pieces[DVD_ELEM_AUD_SELECT],