Commit 0c0f8034 authored by Mathieu Duponchelle's avatar Mathieu Duponchelle Committed by Sebastian Dröge

encodebin: Fix special case

Allows to run such a command line :

gst-launch-1.0 uridecodebin uri=file:///home/meh/Music/sthg.mp4 ! \
encodebin profile-string="audio/x-wav|1" ! filesink location=sthg.wav

Previously the code failed because wavenc is considered as a muxer.
We still want encodebin to audio/x-wav as an AudioEncodingProfile,
so this simple fix allows that.

Ability to mux raw streams in containers such as matroskamux
is a different issue.

https://bugzilla.gnome.org/show_bug.cgi?id=751470
parent 267f4c2b
......@@ -950,6 +950,14 @@ _get_encoder (GstEncodeBin * ebin, GstEncodingProfile * sprof)
gst_element_factory_list_filter (ebin->encoders, format,
GST_PAD_SRC, FALSE);
if (G_UNLIKELY (encoders == NULL) && sprof == ebin->profile) {
/* Special case: if the top-level profile is an encoder,
* it could be listed in our muxers (for example wavenc)
*/
encoders = gst_element_factory_list_filter (ebin->muxers, format,
GST_PAD_SRC, FALSE);
}
if (G_UNLIKELY (encoders == NULL)) {
GST_DEBUG ("Couldn't find any compatible encoders");
goto beach;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment