Video stream timestamps problem!

Tarek El-Sherbiny tarek.elsherbiny at gmail.com
Wed Dec 12 04:05:59 PST 2012


Hi,

In this scenario a live stream from IP camera is displayed on HDMI TV
using embedded system.
OS = Linux - CPU = i.MX6 ARM - Gstreamer =0.10.36
The problem is the decoder is dropping buffers because of timestamping
problem. So the video is not smooth and what is being played is a
breaking sequence of frames as if the iframe alone is being displayed and
everything else is dropped.

I'm using ffmpeg to demux the frame which gives me ffmpeg packet then
memcpy the packet date to GST_BUFFER.

Appsrc is used to inject the buffer date into Gstreamer pipeline. Here is
my pipeline:
app-source | typefinder | vpu-decoder | mfw_v4lsink-sink

This is the need_data signal callback:
{
   av_read_frame(fctx,&packet)

   buffer = gst_buffer_new_and_alloc (packet.size);
   memcpy(GST_BUFFER_MALLOCDATA(buffer),packet.data, packet.size);

   ret = gst_app_src_push_buffer(ctx->appsrc, buffer);

   av_free_packet(&packet);

   return TRUE
}

Debug messages:
:00:16.732445169  1660 0x3465baf0 INFO                  vpudec
vpudec.c:1512:gst_vpudec_chain: Got no disp information!!
0:00:16.732541335  1660 0x3465baf0 INFO                  vpudec
vpudec.c:1551:gst_vpudec_chain: Got not enough input message!!
0:00:16.762768835  1660 0x3465baf0 WARN                basesink
gstbasesink.c:2875:gst_base_sink_is_too_late:<video-sink> warning: A lot of
buffers are being dropped.
0:00:16.762866002  1660 0x3465baf0 WARN                basesink
gstbasesink.c:2875:gst_base_sink_is_too_late:<video-sink> warning: There
may be a timestamping problem, or this computer is too slow.

My question is how do I extract the PTS and pass this information to the
decoder?

Thanks,
Tarek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121212/45e773b9/attachment.html>


More information about the gstreamer-devel mailing list