Some IP camera streams failed on Gstreamer plugins for Tegra-3

While trying Gstreamer plugins on Tegra-3 board we see issues.

We are trying to play a H264 encoded avi file captured from standard IP cameras using the following gst-launch command.

gst-launch uridecodebin uri = file:///home/root/shibin/anpr/sample.avi ! nvxvimagesink
&
gst-launch filesrc location = sample.avi ! avidemux ! nv_omx_h264dec ! nvxvimagesink

For some streams playback happens successfully.
Bur we are getting the following decoder error for many other files of similar configuration and i am attaching two of them.

Setting pipeline to PAUSED …
Pipeline is PREROLLING …
NvxLiteH264DecoderInit : Opening TVMR H264 block
NvxLiteH264DecoderInit : Opening TVMR H264 block
NvxLiteH264DecoderInit : Opening TVMR H264 block
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstOmxH264Dec:omxh264dec0: Could not decode stream.
Additional debug info:
/dvs/git/dirty/git-master_linux-k310/external/gstreamer/gst-openmax/omx/gstomx_h264dec.c(296): gst_omx_h264dec_pad_chain (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstOmxH264Dec:omxh264dec0:
Received Nal_Size greater than the Input Buffer Size
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …

We checked the L4T documentation which contains some pointers of what features of a given codec must not be used.

http://developer.download.nvidia.com/devzone/devcenter/tools/files/l4t/r16_Release_v1.0/Tegra_Linux_Driver_Package_Documents_R16.tar
Tegra_Linux_Driver_Package_Documents_R16.tar\notes\Tegra_Linux_Driver_Package_Software_Features.pdf

As per this document, it is expected that the stream should work fine.

We tried by changing container format to mp4 instead of avi and the issues persist.

Please help.

Thanks,
PBE

Could you try also with playbin2?


gst-launch-0.10 playbin2 uri=file:///home/root/shibin/anpr/sample.avi video-sink=nvxvimagesink

gst-launch-0.10 playbin2 uri=file:///home/root/shibin/anpr/sample.avi video-sink=nvxvimagesink
also gives the same error: i.e. Could not decode stream…

Have you tried validating the file with VLC, WMP or any other standard player on desktop?

Hello,

Streams are placed in folder https://www.dropbox.com/sh/djedhmtkr3126vx/7z36Mi67l_
shibin_test264_1.mp4 and shibin_test264_2.mp4. They are played fine in
Mplayer and VLC player.

Thanks,
PBE

Attached streams(shibin_test264_1.mp4 & shibin_test264_2.mp4) are having container format: MPEG-PS (program stream).

Try with following gst-launch pipeline on Tegra-3 board,

gst-launch-0.10 filesrc location=shibin_test264_1.mp4 ! mpegpsdemux ! nv_omx_h264dec ! nvxvimagesink -v