[gstreamer-bugs] [Bug 372428] fakesink audio still checks audio-codec in playbin
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Wed Nov 8 16:30:59 PST 2006
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=372428
GStreamer | don't know | Ver: 0.10.0
Tim-Philipp Müller changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |NOTABUG
Target Milestone|HEAD |NONE
------- Comment #1 from Tim-Philipp Müller 2006-11-09 00:29 UTC -------
I don't think this is true, at least not in any even remotely recent versions
of gst-plugins-base (What's your gst-plugins-base version?)
$ sudo rm /usr/local/lib/gstreamer-0.10/libgstmad.*
$ gst-launch-0.10 playbin uri=file:///home/tpm/file-with-mp3-audio.avi
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
** Message: don't know how to handle audio/mpeg, mpegversion=(int)1,
layer=(int)3, rate=(int)44100, channels=(int)2
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
and only the video is played back.
Besides, the fact that (if it can) playbin will decode audio even if 'fakesink'
is set as audio-sink is not a bug, but intended behaviour. People might use
fakesink+handoff signal to get to raw audio data this way. Even if we wanted to
change this behaviour (which we don't), we couldn't for compatibility reasons.
If you want to prevent audio decoding, the correct way to do this would be to
select -1 as the selected audio stream in playbin. There are currently two
issues with this:
a) I don't think selecting -1 works properly at the moment, see bug #342294
b) whether decoders actually spend time on decoding audio or not depends on
how they do buffer allocation internally. Ideally, audio decoders should
be using gst_pad_alloc_buffer_and_set_caps() to allocate buffers for
decoding. That way they'd get a NOT_LINKED flow return value from the
audio selector in playbin and skip the decoding step. If they allocate
buffers themselves directly via gst_buffer_new_and_alloc() etc. this
won't work. This is something that would need fixing in decoders (feel
free to file bugs about this for specific decoders where this doesn't
work).
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
More information about the Gstreamer-bugs
mailing list