summaryrefslogtreecommitdiffstats
path: root/ext/resindvd
diff options
context:
space:
mode:
Diffstat (limited to 'ext/resindvd')
-rw-r--r--ext/resindvd/resindvdbin.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/ext/resindvd/resindvdbin.c b/ext/resindvd/resindvdbin.c
index f22e1818..c17f31af 100644
--- a/ext/resindvd/resindvdbin.c
+++ b/ext/resindvd/resindvdbin.c
@@ -38,6 +38,7 @@ GST_DEBUG_CATEGORY_EXTERN (resindvd_debug);
#define GST_CAT_DEFAULT resindvd_debug
#define USE_VIDEOQ 0
+#define USE_HARDCODED_AUDIODEC 1
#define DVDBIN_LOCK(d) g_mutex_lock((d)->dvd_lock)
#define DVDBIN_UNLOCK(d) g_mutex_unlock((d)->dvd_lock)
@@ -434,14 +435,20 @@ create_elements (RsnDvdBin * dvdbin)
RSN_TYPE_STREAM_SELECTOR, "audioselect", "Audio stream selector"))
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 USE_HARDCODED_AUDIODEC
+ if (!try_create_piece (dvdbin, DVD_ELEM_AUDDEC, "a52dec", 0,
+ "auddec", "audio decoder"))
return FALSE;
-
+#else
if (!try_create_piece (dvdbin, DVD_ELEM_AUDDEC, NULL,
RSN_TYPE_AUDIODEC, "auddec", "audio decoder"))
return FALSE;
+#endif
+
+ /* 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"))
+ return FALSE;
src = gst_element_get_static_pad (dvdbin->pieces[DVD_ELEM_AUDDEC], "src");
sink =