Need about lips sync

Mehmet Kurnaz hmehmetkurnaz at gmail.com
Wed Apr 27 01:52:20 PDT 2011


Hi all,

I need your help. I use gstreamer-0.10.23 on an ARM9 embedded device(TI
Davinci DM365). I have a DVB-S usb card for satellite on my PC. I stream TV
with VLC from PC. On DM365 I use below pipeline for playing;

gst-launch souphttpsrc blocksize=1048576 location=http://122.122.122.182:$1
! mpegdemux name=demux demux.video_00 ! mpegvideoparse ! TIViddec2
padAllocOutbufs=FALSE framerate=25/1 ! TIDmaiVideoSink displayStd=v4l2
displayDevice=/dev/video2 videoStd=480W videoOutput=LCD sync=true
 accelFrameCopy=TRUE demux.audio_00 ! queue max-size-buffers=16000
max-size-time=0 max-size-bytes=0 ! mad ! alsasink  sync=true

But sometimes there is no lips sync. It is interesting, sometimes sound gets
late about 1 second after video and it protects time difference.

I added some debugs to gstbaseaudiosink.c file on
gst-plugins-base-0.10.23/src/gst-libs/audio directory. I think there is a
clue on gst_base_audio_sink_render() function. Sometimes(when audio gets
late from video), segment->start is not equal to timestamps of first coming
data, segment->start is little then first timestamps. Also
(segment->last_stop - segment->start) is bigger then 24000000. But when lips
sync is ok, (segment->last_stop - segment->start) is 24000000.

I don't know why and what can I do?

Thanks.
Mehmet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110427/e7e87dbe/attachment.htm>


More information about the gstreamer-devel mailing list