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.

TIViddec2 with rtpmp4vdepay

Other Parts Discussed in Thread: OMAP3530

I want to send via video via network using udp+rtp and TI video decoder and encoder

In the sender side i tried this pipe :

gst-launch -v videotestsrc !  TIVidenc1 codecName=mpeg4enc engineName=encode  ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5000

and it works well, and in the receiver side the pipe is the following :

 

gst-launch -v --gst-debug=TIViddec2:5 udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001010000012000845d4c285020f0a21f, payload=(int)96, ssrc=(guint)1544793486, clock-base=(guint)2729320432, seqnum-base=(guint)27302" ! rtpmp4vdepay  ! TIViddec2 codecName=mpeg4dec engineName=decode  ! TIDmaiVideoSink videoStd=D1_PAL videoOutput=composite sync=false

 

i have the following error in the TIViddec2 element :

 

ERROR: from element /GstPipeline:pipeline0/GstTIViddec2:tividdec20: failed to decode video buffer

Additional debug info:
gsttividdec2.c(1371): gst_tividdec2_decode_thread (): /GstPipeline:pipeline0/GstTIViddec2:tividdec20

the debug report is the following :


0:00:03.512889916   985    0x15090 LOG              TIViddec2 gsttividdec2.c:211:gst_tividdec2_get_type: initialized get_type

0:00:03.805887416   985    0x15090 LOG              TIViddec2 gsttividdec2.c:317:gst_tividdec2_init_env: gst_tividdec2_init_env - begin

0:00:03.808552291   985    0x15090 LOG              TIViddec2 gsttividdec2.c:355:gst_tividdec2_init_env: gst_tividdec2_init_env - end

0:00:03.833795083   985    0x15090 LOG              TIViddec2 gsttividdec2.c:462:gst_tividdec2_set_property: begin set_property

0:00:03.843963083   985    0x15090 LOG              TIViddec2 gsttividdec2.c:481:gst_tividdec2_set_property: setting "codecName" to "mpeg4dec"

0:00:03.846756708   985    0x15090 LOG              TIViddec2 gsttividdec2.c:519:gst_tividdec2_set_property: end set_property

0:00:03.850290000   985    0x15090 LOG              TIViddec2 gsttividdec2.c:462:gst_tividdec2_set_property: begin set_property

0:00:03.853121291   985    0x15090 LOG              TIViddec2 gsttividdec2.c:472:gst_tividdec2_set_property: setting "engineName" to "decode"

0:00:03.855921166   985    0x15090 LOG              TIViddec2 gsttividdec2.c:519:gst_tividdec2_set_property: end set_property

Setting pipeline to PAUSED ...
0:00:03.986639916   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1049:gst_tividdec2_change_state: begin change_state (10)

0:00:03.989304041   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1086:gst_tividdec2_change_state: end change_state

0:00:03.998752291   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1049:gst_tividdec2_change_state: begin change_state (19)

0:00:04.002111541   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1086:gst_tividdec2_change_state: end change_state

Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:04.166843666   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1049:gst_tividdec2_change_state: begin change_state (28)

0:00:04.169887750   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1086:gst_tividdec2_change_state: end change_state

New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001010000012000845d4c285020f0a21f
/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)000001010000012000845d4c285020f0a21f, payload=(int)96, ssrc=(guint)1544793486, clock-base=(guint)2729320432, seqnum-base=(guint)27302
0:00:04.357769541   985    0xc53c0 DEBUG            TIViddec2 gsttividdec2.c:720:gst_tividdec2_sink_event: pad "sink" received:  newsegment


(gst-launch-0.10:985): GStreamer-CRITICAL **: gst_debug_log_valist: assertion `category != NULL' failed
0:00:04.366475416   985    0xc53c0 INFO             TIViddec2 gsttividdec2.c:564:gst_tividdec2_set_sink_caps: requested sink caps:  video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001010000012000845d4c285020f0a21f
0:00:04.369544666   985    0xc53c0 LOG              TIViddec2 gsttividdec2.c:973:gst_tividdec2_exit_video: begin exit_video

0:00:04.372416874   985    0xc53c0 LOG              TIViddec2 gsttividdec2.c:1030:gst_tividdec2_exit_video: end exit_video

0:00:04.375476250   985    0xc53c0 LOG              TIViddec2 gsttividdec2.c:650:gst_tividdec2_set_sink_caps: sink caps negotiation successful

/GstPipeline:pipeline0/GstTIViddec2:tividdec20.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001010000012000845d4c285020f0a21f
0:00:04.383599583   985    0xc53c0 LOG              TIViddec2 gsttividdec2.c:862:gst_tividdec2_init_video: begin init_video

0:00:04.387369250   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1281:gst_tividdec2_decode_thread: init video decode_thread

0:00:04.389335333   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1150:gst_tividdec2_codec_start: opening codec engine "decode"

0:00:04.394256666   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1193:gst_tividdec2_codec_start: opening video decoder "mpeg4dec"


(gst-launch-0.10:985): GStreamer-CRITICAL **: gst_debug_log_valist: assertion `category != NULL' failed
0:00:04.419129166   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1230:gst_tividdec2_codec_start: creating output buffer table

0:00:04.425244957   985    0xcbdd0 WARN             TIViddec2 gsttividdec2.c:1563:gst_tividdec2_frame_duration: framerate not specified; using 29.97fps
0:00:04.428627707   985    0xc53c0 LOG              TIViddec2 gsttividdec2.c:959:gst_tividdec2_init_video: end init_video


(gst-launch-0.10:985): GStreamer-CRITICAL **: gst_debug_log_valist: assertion `category != NULL' failed
0:00:10.668819499   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1364:gst_tividdec2_decode_thread: invoking the video decoder

0:00:10.671121457   985    0xcbdd0 WARN             TIViddec2 gsttividdec2.c:1371:gst_tividdec2_decode_thread:<tividdec20> error: failed to decode video buffer

ERROR: from element /GstPipeline:pipeline0/GstTIViddec2:tividdec20: failed to decode video buffer

Additional debug info:
gsttividdec2.c(1371): gst_tividdec2_decode_thread (): /GstPipeline:pipeline0/GstTIViddec2:tividdec20
Execution ended after 6505942042 ns.
Setting pipeline to PAUSED ...
0:00:10.686062666   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1049:gst_tividdec2_change_state: begin change_state (35)

0:00:10.687560458   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1086:gst_tividdec2_change_state: end change_state

Setting pipeline to READY ...
0:00:10.699188583   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1049:gst_tividdec2_change_state: begin change_state (26)

/GstPipeline:pipeline0/GstTIViddec2:tividdec20.GstPad:sink: caps = NULL
0:00:10.705465916   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1086:gst_tividdec2_change_state: end change_state

/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = NULL
Setting pipeline to NULL ...
0:00:10.729347291   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1049:gst_tividdec2_change_state: begin change_state (17)

0:00:10.733256792   985    0x15090 LOG              TIViddec2 gsttividdec2.c:973:gst_tividdec2_exit_video: begin exit_video

0:00:10.736419458   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1099:gst_tividdec2_codec_stop: freeing cicrular input buffer

0:00:10.753738458   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1115:gst_tividdec2_codec_stop: freeing output buffers

0:00:10.775123624   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1122:gst_tividdec2_codec_stop: closing video decoder

0:00:10.781912416   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1128:gst_tividdec2_codec_stop: closing codec engine

0:00:10.783639124   985    0xcbdd0 LOG              TIViddec2 gsttividdec2.c:1525:gst_tividdec2_decode_thread: exit video decode_thread (-1)

0:00:10.788805999   985    0x15090 LOG              TIViddec2 gsttividdec2.c:983:gst_tividdec2_exit_video: shutting down decode thread

0:00:10.791681374   985    0x15090 DEBUG            TIViddec2 gsttividdec2.c:988:gst_tividdec2_exit_video: decode thread exited with an error condition

0:00:10.794528708   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1030:gst_tividdec2_exit_video: end exit_video

0:00:10.797349458   985    0x15090 LOG              TIViddec2 gsttividdec2.c:1086:gst_tividdec2_change_state: end change_state

 

I tried to receive video with host pc using this pipe :

gst-launch -v udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MP4V-ES, profile-level-id=(string)1,
config=(string)000001010000012000845d4c285020f0a21f, payload=(int)96,
ssrc=(guint)1544793486, clock-base=(guint)2729320432,
seqnum-base=(guint)27302" ! rtpmp4vdepay ! ffdec_mpeg4 ! xvimagesink

and it works fine.

I don't know why the TIViddec couldn't decode that came from rtpmp4vdepay

any help well be welcome

regards,