[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