This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Multicast packets not receiving in AM3358evm

Hi,

I am using ti-sdk-am335x-evm-05.05.01.00. I am transmitting audio packets over a multicast address 224.10.10.10 from a PC using gstreamer. I am able to receive the audio packets in another PC when i join that multicast address. However when i try the same way to receive the audio packets in AM3358evm, i am unable to receive them. I can see that the gstreamer sends a igmp join request aswell. I can also see that "rxmulticastframes" in "/sys/class/net/eth0/hw_stats"  on the AM3358evm is rapidly increasing when the audio packets are being transmitted by the PC, but somehow the packets never reach the gstreamer.

Thanks

Chaitanya

  • Chaitanya,

    Are you able to provide the pipeline that you are using to attempt to receive the multicast stream? Are you using the same pipeline on the PC to receive packets in the working case? Is the multicast stream coming from another gstreamer pipeline or a different program? If it is coming from another gstreamer pipeline, are you able to provide this as well? Is your pipeline generated using gst-launch or did you create a program using the C API for gstreamer? Hopefully we can find the root of the issue if you are able to supply answers to these questions.

    Regards,

    Dave

  • Hi Dave,

    Please see the Log below between two PCs:  Same commands when i try to execute with board as client, it hangs at "New clock: GstSystemClock" line.

    PC-Server
    ======

    chaitanya@CPU000470:~$ gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY ! ffmpegcolorspace ! ffenc_h263 ! video/x-h263 ! rtph263ppay pt=96 ! udpsink host=224.20.20.20 port=5000  auto-multicast=true sync=false -v
    Setting pipeline to PAUSED ...
    /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)UYVY, width=(int)128, height=(int)96, framerate=(fraction)30/1
    Pipeline is PREROLLING ...
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)UYVY, width=(int)128, height=(int)96, framerate=(fraction)30/1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)UYVY, width=(int)128, height=(int)96, framerate=(fraction)30/1
    /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = video/x-raw-yuv, width=(int)128, height=(int)96, framerate=(fraction)30/1, format=(fourcc)I420
    /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)UYVY, width=(int)128, height=(int)96, framerate=(fraction)30/1
    /GstPipeline:pipeline0/ffenc_h263:ffenc_h2630.GstPad:src: caps = video/x-h263, width=(int)128, height=(int)96, framerate=(fraction)30/1, variant=(string)itu, h263version=(string)h263
    /GstPipeline:pipeline0/ffenc_h263:ffenc_h2630.GstPad:sink: caps = video/x-raw-yuv, width=(int)128, height=(int)96, framerate=(fraction)30/1, format=(fourcc)I420
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h263, width=(int)128, height=(int)96, framerate=(fraction)30/1, variant=(string)itu, h263version=(string)h263
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h263, width=(int)128, height=(int)96, framerate=(fraction)30/1, variant=(string)itu, h263version=(string)h263
    /GstPipeline:pipeline0/GstRtpH263PPay:rtph263ppay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H263-1998, payload=(int)96, ssrc=(guint)2448738953, clock-base=(guint)4134283328, seqnum-base=(guint)14088
    /GstPipeline:pipeline0/GstRtpH263PPay:rtph263ppay0.GstPad:sink: caps = video/x-h263, width=(int)128, height=(int)96, framerate=(fraction)30/1, variant=(string)itu, h263version=(string)h263
    /GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H263-1998, payload=(int)96, ssrc=(guint)2448738953, clock-base=(guint)4134283328, seqnum-base=(guint)14088
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock

    PC-Client
    ======

    chaitanya@CPU000470:~$ gst-launch  udpsrc  multicast-group=224.20.20.20 auto-multicast=true port=5000 ! application/x-rtp, clock-rate=90000,payload=96 ! fakesink -v
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = application/x-rtp, clock-rate=(int)90000, payload=(int)96
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = application/x-rtp, clock-rate=(int)90000, payload=(int)96
    /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll   ******* "
    /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event   ******* E (type: 102, GstEventNewsegment, update=(boolean)false, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, start=(gint64)0, stop=(gint64)-1, position=(gint64)0;) 0x8156ef0"
    /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < ( 1067 bytes, timestamp: 0:00:00.000197268, duration: none, offset: -1, offset_end: -1, flags: 32) 0x827e040"
    /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < ( 1021 bytes, timestamp: 0:00:00.000627604, duration: none, offset: -1, offset_end: -1, flags: 0) 0x827e0f0"
    /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < ( 1296 bytes, timestamp: 0:00:00.000677711, duration: none, offset: -1, offset_end: -1, flags: 0) 0x827e1a0"
    /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < ( 1095 bytes, timestamp: 0:00:00.000770677, duration: none, offset: -1, offset_end: -1, flags: 0) 0x827e250"
    .

    .

    .

    Thanks

  • Hello,

    Please refer to this E2E post to enable the receipt of multicast packets, it seems like they are being filtered: http://e2e.ti.com/support/arm/sitara_arm/f/791/t/166289.aspx

    Regards,

    Dave