GNOME Bugzilla – Bug 770699
aacparse: Add support for conversion to LOAS
Last modified: 2016-09-01 11:33:32 UTC
Following pipeline demonstrates this gst-launch-1.0.exe audiotestsrc is-live=1 ! audio/x-raw,channels=2,rate=48000 ! avenc_aac ! audio/mpeg,stream-format=raw ! aacparse ! audio/mpeg,stream-format=loas ! fakesink -v Also, following pipeline fails for LOAS to LOAS(it should have acted as passthrough) but instead tries to convert it to ADTS!! I have also seen it converting to raw from LOAS with one another encoder when it should have acted as passthrough(with a propritery encoder) gst-launch-1.0.exe audiotestsrc is-live=1 ! audio/x-raw,channels=2,rate=48000 ! avenc_aac ! capssetter caps="audio/mpeg,stream-format=loas" ! aac parse ! audio/mpeg,stream-format=loas ! fakesink -v Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, channels=(int)2 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, channels=(int)2 /GstPipeline:pipeline0/avenc_aac:avenc_aac0.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, channels=(int)2 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, channels=(int)2 Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/avenc_aac:avenc_aac0.GstPad:src: caps = audio/mpeg, channels=(int)2, rate=(int)48000, mpegversion=(int)4, stream-format=(string)raw, base-profile=( string)lc, channel-mask=(bitmask)0x0000000000000003, level=(string)2, profile=(string)lc, codec_data=(buffer)119056e500 /GstPipeline:pipeline0/GstCapsSetter:capssetter0.GstPad:src: caps = audio/mpeg, channels=(int)2, rate=(int)48000, mpegversion=(int)4, stream-format=(string)loas, base-pro file=(string)lc, channel-mask=(bitmask)0x0000000000000003, level=(string)2, profile=(string)lc, codec_data=(buffer)119056e500 /GstPipeline:pipeline0/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, channels=(int)2, rate=(int)48000, mpegversion=(int)4, stream-format=(string)adts, base-profile =(string)lc, channel-mask=(bitmask)0x0000000000000003, level=(string)2, profile=(string)lc, codec_data=(buffer)119056e500, framed=(boolean)true /GstPipeline:pipeline0/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, channels=(int)2, rate=(int)48000, mpegversion=(int)4, stream-format=(string)loas, base-profil e=(string)lc, channel-mask=(bitmask)0x0000000000000003, level=(string)2, profile=(string)lc, codec_data=(buffer)119056e500 /GstPipeline:pipeline0/GstCapsSetter:capssetter0.GstPad:sink: caps = audio/mpeg, channels=(int)2, rate=(int)48000, mpegversion=(int)4, stream-format=(string)raw, base-pro file=(string)lc, channel-mask=(bitmask)0x0000000000000003, level=(string)2, profile=(string)lc, codec_data=(buffer)119056e500 ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Internal data flow error. Additional debug info: gstbasesrc.c(2947): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: streaming task paused, reason not-negotiated (-4) Execution ended after 0:00:00.121179642 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
That's correct, it's not supported currently
*** This bug has been marked as a duplicate of bug 615740 ***
Thanks for the clarification. Does that mean it wont support LOAS to LOAS passthrough cases also?
It does, just no conversion.