I'm using gstreamer pipeline to play UDP stream on i.MX6 quad. The following is the command I'm using:
gst-launch-1.0 udpsrc do-timestamp=false uri=udp://127.0.0.1:12345 caps="video/mpegts" ! queue ! aiurdemux streaming-latency=400 name=d d. ! queue max-size-time=0 ! vpudec ! queue ! overlaysink sync=true d. ! queue ! beepdec ! volume volume=0.1 ! pulsesink sync=true
I've added "max-size-time=0" between aiurdemux and vpudec to avoid choppy audio noise.
Video quality in beginning is good, but after several minutes running video for some time, the video shows a lot of frame drops, and shows the following log messages:
WARNING: from element /GstPipeline:pipeline0/GstOverlaySink:overlaysink0: A lot of buffers are being dropped.
Additional debug info:
XXX/bld-x11/tmp/work/cortexa9hf-vfp-neon-poky-Linux-gnueabi/gstreamer1.0/1.6.0-r0/gstreamer-1.6.0/libs/gst/base/gstbasesink.c(2846): gst_base_sink_is_too_loate (): /GstPipeline:pipeline0/GstOverlaySink:overlaysink0: There may be timestamping problem, or this computer is too slow.
I saw this thread and tried vpudec frame-plus=16 ! queue max-size-bytes=0 max-size-time=0 but didn't help.
Does anyone have any idea to solve this?