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.

dmaidec_mpeg4 not decoding over RTP

Hi,

I am trying to use DDOMPE's branch for streaming video over RTP. My pipelines are as follows :

RTP Server :

gst-launch-0.10  videotestsrc is-live=true ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=192.168.1.5 port=4444 -v

RTP Client (with caps from RTP Server's output):

gst-launch-0.10 udpsrc port=4444 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e32302e31, payload=(int)96, ssrc=(guint)3393583339, clock-base=(guint)3731347279, seqnum-base=(guint)34206' ! rtpmp4vdepay ! dmaidec_mpeg4 ! fakesink -v

The above pipelines work when both are run on the same machine (Beagleboard).

However, when the RTP Server pipeline is on a PC to stream media to the BB, I see the following logs :

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e32302e31
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e32302e31, payload=(int)96, ssrc=(guint)3393583339, clock-base=(guint)3731347279, seqnum-base=(guint)34206
/GstPipeline:pipeline0/dmaidec_mpeg4:dmaidec_mpeg40.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e32302e31
/GstPipeline:pipeline0/dmaidec_mpeg4:dmaidec_mpeg40.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)UYVY, framerate=(fraction)30/1, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, dmaioutput=(boolean)true
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)UYVY, framerate=(fraction)30/1, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, dmaioutput=(boolean)true
/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;) 0x1319b0"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.022644044, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13d8f8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.096069336, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13d9c8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.105102539, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13da98"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.125000000, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13db68"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.185852051, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dc98"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.220367432, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dd68"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.252838135, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13de38"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.287353516, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13ddd0"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.319763184, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dd00"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.353881836, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dc30"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.386108399, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13db00"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.419372559, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13da30"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.452362061, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13d960"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.486114502, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13d828"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.520446778, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13d890"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.552612305, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13d8f8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.586608887, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13d9c8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.622100830, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13da98"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.687469483, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13db68"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.721099854, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dc98"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.753784180, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dd68"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.787658692, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13de38"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.819335938, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13ddd0"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.853210450, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dd00"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.887359619, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13dc30"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:00.921081544, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13db00"
WARNING: from element /GstPipeline:pipeline0/dmaidec_mpeg4:dmaidec_mpeg40: Could not decode stream.
Additional debug info:
gsttividdec2.c(239): gstti_viddec2_process (): /GstPipeline:pipeline0/dmaidec_mpeg4:dmaidec_mpeg40:
Unable to decode frame with timestamp 0:00:01.021026611
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:01.054565430, duration: none, offset: 0, offset_end: -1, flags: 32) 0x13d828"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:01.054565430, duration: none, offset: 0, offset_end: -1, flags: 32) 0x13d960"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* < (153600 bytes, timestamp: 0:00:01.087188721, duration: none, offset: 0, offset_end: -1, flags: 0) 0x13da30"

Any idea why, after a few iterations, it is not able to decode the stream/frame ?