[gst-devel] Audio/Video timing problem
Steve Brown
sbrown at cortland.com
Thu May 9 10:23:05 CEST 2002
I inserted/altered some info messages in oss and xvideo.
They show that the sound seems to be play about 650 to 750 ms early. The
video looks pretty close.
Attached are the diffs to the info output of the current cvs. I used
gst-play with gst-info-mask=0x000e0000 and AlienSong.mpg
Anybody have an idea what is wrong.?
Steve
===========================================
Index: sys/oss/gstosssink.c
===================================================================
RCS file: /cvsroot/gstreamer/gst-plugins/sys/oss/gstosssink.c,v
retrieving revision 1.18
diff -u -r1.18 gstosssink.c
--- sys/oss/gstosssink.c 4 May 2002 18:52:32 -0000 1.18
+++ sys/oss/gstosssink.c 9 May 2002 17:03:23 -0000
@@ -483,9 +483,6 @@
if (osssink->clock) {
/* FIXME, NEW_MEDIA/DISCONT?. Try to get our start point */
if (!osssink->have_offset && buftime != -1LL) {
- GST_INFO (GST_CAT_PLUGIN_INFO,
- "osssink: clock at offset: %lld, new offset %lld at time
%lld\n",
- osssink->offset, buftime, gst_clock_get_time
(osssink->clock));
osssink->offset = buftime;
osssink->have_offset = TRUE;
@@ -493,6 +490,9 @@
gst_element_clock_wait (GST_ELEMENT (osssink),
osssink->clock, buftime);
}
+ GST_INFO (GST_CAT_PLUGIN_INFO,
+ "osssink: clock at offset: %lld, new offset %lld at time
%lld\n",
+ osssink->offset, buftime, gst_clock_get_time
(osssink->clock));
/* this doesn't work on BE machines, apparently
while (size) {
Index: sys/videosink/gstvideosink.c
===================================================================
RCS file: /cvsroot/gstreamer/gst-plugins/sys/videosink/gstvideosink.c,v
retrieving revision 1.5
diff -u -r1.5 gstvideosink.c
--- sys/videosink/gstvideosink.c 11 Apr 2002 20:42:26 -0000 1.5
+++ sys/videosink/gstvideosink.c 9 May 2002 17:03:23 -0000
@@ -396,14 +396,14 @@
sink = GST_VIDEOSINK (gst_pad_get_parent (pad));
- GST_DEBUG (0,"videosink: clock wait: %llu %u",
- GST_BUFFER_TIMESTAMP (buf), GST_BUFFER_SIZE (buf));
if (sink->clock && time != -1) {
GstClockReturn ret;
ret = gst_clock_wait (sink->clock, GST_BUFFER_TIMESTAMP (buf));
+ GST_INFO (GST_CAT_PLUGIN_INFO,"videosink: clock buffertime:%llu
clocktime:%llu buffersize:%u",
+ GST_BUFFER_TIMESTAMP (buf), gst_clock_get_time(sink->clock),
GST_BUFFER_SIZE (buf));
/* we are going to drop early buffers */
if (ret == GST_CLOCK_EARLY) {
gst_buffer_unref (buf);
Index: sys/xvideo/xvideosink.c
===================================================================
RCS file: /cvsroot/gstreamer/gst-plugins/sys/xvideo/xvideosink.c,v
retrieving revision 1.13
diff -u -r1.13 xvideosink.c
--- sys/xvideo/xvideosink.c 8 May 2002 20:20:01 -0000 1.13
+++ sys/xvideo/xvideosink.c 9 May 2002 17:03:24 -0000
@@ -404,8 +404,8 @@
if (xvideosink->clock && time != -1) {
GstClockReturn ret;
- GST_DEBUG (0,"videosink: clock %s wait: %llu %u\n",
- GST_OBJECT_NAME (xvideosink->clock), time, GST_BUFFER_SIZE
(buf));
+ GST_INFO (GST_CAT_PLUGIN_INFO,"videosink: clock %s wait: %llu
time:%llu bufsize:%u\n",
+ GST_OBJECT_NAME (xvideosink->clock), time,
gst_clock_get_time(xvideosink->clock), GST_BUFFER_SIZE (buf));
ret = gst_element_clock_wait (GST_ELEMENT (xvideosink),
xvideosink->clock, time - xvideosink->correction);
More information about the gstreamer-devel
mailing list