Problem with playbin and used avdec_mp1float to decode MPEG-1 Layer 3 (MP3) with failure

rickyqiqi rickyqiqi at
Mon Sep 17 09:43:13 UTC 2018

I working on a MSYS2(MinGW32/64) platform. We are evaluating gstreamer for a
video player program.  We've compiled gstreamer 1.08(also we've tried
pre-compiled 1.14.2 version install package in MSYS2, the test result is
same.) for our platform (win32/x86 based) and it works mostly ok exept that
it fails to play an MP4 video file(with h.264 video and MP3 audio packed in

If we manually specify a stream using gst-launch, we can play video and
audio successfully:
"gst-launch-1.0 filesrc location=d:/3.mp4 ! qtdemux name=demux ! avdec_h264
! autovideosink demux. ! queue ! mpegaudioparse ! avdec_mp3 ! autoaudiosink"

But if we use playbin to auto-create the play stream, it fails with stream
"gst-play-1.0 d:/3.mp4
Interactive keyboard handling in terminal not available.
正在播放 d:\3.mp4
Redistribute latency...
ERROR GStreamer 遇到了常规流错误。 for file:///d:/3.mp4
ERROR debug information: qtdemux.c(5520): gst_qtdemux_loop ():
streaming stopped, reason not-negotiated

We also tried to output the .dot files of these above two playback. 
Manually specify: <>  
0.png <>  
Auto-create: <>  
0.png <>  

It seems the auto-create one is mis-using avdec_mp1float as the MP3 decoder.
And we suppose this is the main issue to cause the playing failure. Are
there any ways to change to set the default MP3 decoder to avdec_mp3?

If useful here is the output from gst-inspect:

Sent from:

More information about the gstreamer-devel mailing list