GNOME Bugzilla – Bug 744885
ape audio not support
Last modified: 2015-03-08 03:42:28 UTC
add gst-plugins-good,but ape audio can not play
You also need gst-libav to play it. If you still have problems with that, please re-open the bug and make a sample file available so we can test, thanks.
root@OpenWrt:/tmp# gst-launch-0.10 filesrc location=/tmp/586957.ape ! decodebin2 ! autoaudiosink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Missing element: APE tag demuxer ERROR: from element /GstPipeline:pipeline0/GstDecodeBin2:decodebin20: Your GStreamer installation is missing a plug-in. Additional debug info: gstdecodebin2.c(3576): gst_decode_bin_expose (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20: no suitable plugins found ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... not find the ape tag
You need apedemux from gst-plugins-good for that.
ok,thanks,the problem fix,but i discover that gst-plugins-good and gst-libav have some decoder or demux duplicate,why not gst-plugins-good do tag olny,and gst-libav do decoder olny?
play localtion ape file suceess,play network uri of MP3 file success,but play network uri of ape file failed。 # gst-launch-1.0 playbin uri=file:///tmp/2.ape Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock Got EOS from element "playbin0". Execution ended after 0:00:00.219795196 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... # gst-launch-1.0 playbin uri=http://192.168.1.222:8602/file?sid=8.mp3 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock ^Chandling interrupt. Interrupt: Stopping pipeline ... Execution ended after 0:00:07.804398754 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... # # # gst-launch-1.0 playbin uri=http://192.168.1.222:8602/file?sid=18.ape Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Missing element: APE tag demuxer WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'application/x-ape'. Additional debug info: gsturidecodebin.c(939): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in. Additional debug info: gsturidecodebin.c(990): no_more_pads_full (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: no suitable plugins found ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... #
Both demuxers are required AFAIK, one is for apetag, the other for ape. Your problem is that the avdemux_ape can't operate in pull mode.
how resolve?can you guide?
/* blacklist unreliable push-based demuxers */ if (strcmp (oclass->in_plugin->name, "ape")) demux->can_push = TRUE; else demux->can_push = FALSE; gst-libav marks ape demuxer from libav as unsafe for push-based mode. You'd need to check if that is still valid and if it is, fix it in libav.
The problem might also be with the gst-libav demuxer wrapper of course. This is bug #738807 by the way.
(In reply to Thiago Sousa Santos from comment #8) > /* blacklist unreliable push-based demuxers */ > if (strcmp (oclass->in_plugin->name, "ape")) > demux->can_push = TRUE; > else > demux->can_push = FALSE; > > > gst-libav marks ape demuxer from libav as unsafe for push-based mode. You'd > need to check if that is still valid and if it is, fix it in libav. i already try to modify it,but not play http streamers of ape