[gst-devel] problem with AAC Packetizer plugin

amitpandya at itimes.com amitpandya at itimes.com
Fri Jul 16 08:16:05 CEST 2010


Hi all,

I am working on a AAC streaming application.
I am using my custom made AAC encoder plugin named "Myaacencoder " which works fine.
now i need to stream AAC over the network which should be played on VLC client.

my pipeline is as below,

"gst-launch-0.10 filesrc location=/home/amit/Panasonic/AAC_file_tvm/WaveBase_44.1kHz_16bit_2ch.pcm ! Myaacencoder ! audio/mpeg, mpegversion=4, channels=1, rate=96000 ! rtpmp4gpay !  application/x-rtp, media=audio, payload=127, encoding-name=MPEG4-GENERIC, mode=AAC-hbr ! udpsink host=10.60.5.78 port=5000"

the above pipeline is linking fine but it is failing in the "rtpmp4gpay" (AAC packatizer)in "gst_rtp_mp4g_pay_setcaps" function and returning from their.

If I remove the src Caps for the "Myaacencoder" and make it as "ANY" i am not able to run pipeline as it gives linking error between Myaacencoder & rtpmp4gpay.So,I have kept the above four caps (audio/mpeg, mpegversion=4, channels=1, rate=96000) for src Caps for the Myaacencoder.   

the same pipeline with ffmpeg's AAC encoder plugin "ffenc_aac" works fine and i am able to get the o/p in VLC.
pipelene for that is given below,

"gst-launch-0.10 filesrc location=/home/amit/Panasonic/AAC_file_tvm/WaveBase_44.1kHz_16bit_2ch.pcm ! audio/x-raw-int, channels=2, rate=44100, signed=true, endianness=1234,width=16, depth=16 ! ffenc_aac ! audio/mpeg, mpegversion=4 ! rtpmp4gpay !  application/x-rtp, media=audio, payload=127, encoding-name=MPEG4-GENERIC, mode=AAC-hbr ! udpsink host=10.60.5.78 port=5000"

if you see for "ffenc_aac" plugin has the same src Pad caps (audio/mpeg, mpegversion=4) as that of my custom AAC encoder plugin Myaacencoder.

Is their anything missing in my pipeline with custom plugin?I think it is something to do with Caps setting as the pipeline is failing in "gst_rtp_mp4g_pay_setcaps" of AAC Packetizer rtpmp4gpay.

I can also give you the exact fn which is failing as,I already debug it.
their is a fn named "gst_structure_get_value" within "gst_rtp_mp4g_pay_setcaps" fn which is returning failure(NULL)so pipeline is returning from their.
Can anyone tell what is the significance of this "gst_structure_get_value" fn and in which condition it may return NULL.

Any help for this problem will be very much appreciated.

Thanks,
amit.  




More information about the gstreamer-devel mailing list