gst/videomixer/videomixer.c: Fix videomixer so that it can handle any combination...
authorMark Nauwelaerts <manauw@skynet.be>
Mon, 30 Oct 2006 08:17:08 +0000 (08:17 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 30 Oct 2006 08:17:08 +0000 (08:17 +0000)
Original commit message from CVS:
Patch by: Mark Nauwelaerts  <manauw at skynet be>
* gst/videomixer/videomixer.c: (gst_videomixer_update_queues):
Fix videomixer so that it can handle any combination of framerates.
Fixes #367221.

ChangeLog
gst/videomixer/videomixer.c

index c7603fc..2a60523 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-10-30  Wim Taymans  <wim@fluendo.com>
+
+       Patch by: Mark Nauwelaerts  <manauw at skynet be>
+
+       * gst/videomixer/videomixer.c: (gst_videomixer_update_queues):
+       Fix videomixer so that it can handle any combination of framerates.
+       Fixes #367221.
+
 2006-10-28  Wim Taymans  <wim@fluendo.com>
 
        * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
index b8d926b..fe4eb7c 100644 (file)
@@ -125,7 +125,7 @@ struct _GstVideoMixerPad
 {
   GstPad parent;                /* subclass the pad */
 
-  guint64 queued;
+  gint64 queued;
 
   guint in_width, in_height;
   gint fps_n;
@@ -1036,7 +1036,7 @@ gst_videomixer_update_queues (GstVideoMixer * mix)
     if (mixcol->buffer != NULL && GST_CLOCK_TIME_IS_VALID (pad->queued)) {
       pad->queued -= interval;
       GST_DEBUG_OBJECT (pad, "queued now %lld", pad->queued);
-      if (pad->queued == 0) {
+      if (pad->queued <= 0) {
         GST_DEBUG ("unreffing buffer");
         gst_buffer_unref (mixcol->buffer);
         mixcol->buffer = NULL;