gst/base/gstbasesink.c: segment_stop == -1 at startup.
authorWim Taymans <wim.taymans@gmail.com>
Tue, 15 Nov 2005 17:18:10 +0000 (17:18 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Tue, 15 Nov 2005 17:18:10 +0000 (17:18 +0000)
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_change_state):
segment_stop == -1 at startup.

* gst/base/gstbasetransform.c: (gst_base_transform_event),
(gst_base_transform_change_state):
Init segment values at start.

ChangeLog
gst/base/gstbasesink.c
gst/base/gstbasetransform.c
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasetransform.c

index 73072ce..2acbc69 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-11-15  Wim Taymans  <wim@fluendo.com>
+
+       * gst/base/gstbasesink.c: (gst_base_sink_change_state):
+       segment_stop == -1 at startup.
+
+       * gst/base/gstbasetransform.c: (gst_base_transform_event),
+       (gst_base_transform_change_state):
+       Init segment values at start.
+
 2005-11-15  Andy Wingo  <wingo@pobox.com>
 
        * check/gst/gstpipeline.c (test_base_time): Punt around the
index 84dcf53..03fbcb8 100644 (file)
@@ -1587,7 +1587,7 @@ gst_base_sink_change_state (GstElement * element, GstStateChange transition)
       basesink->have_newsegment = FALSE;
       basesink->segment_rate = 1.0;
       basesink->segment_start = 0;
-      basesink->segment_stop = 0;
+      basesink->segment_stop = -1;
       basesink->segment_time = 0;
       basesink->segment_accum = 0;
       ret = GST_STATE_CHANGE_ASYNC;
index 58ed161..12d2323 100644 (file)
@@ -1128,16 +1128,19 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
 
       if (format == GST_FORMAT_TIME) {
         GST_DEBUG_OBJECT (trans, "received NEW_SEGMENT %" GST_TIME_FORMAT
-            " -- %" GST_TIME_FORMAT ", time %" GST_TIME_FORMAT,
+            " -- %" GST_TIME_FORMAT ", time %" GST_TIME_FORMAT
+            ", accum %" GST_TIME_FORMAT,
             GST_TIME_ARGS (trans->segment_start),
-            GST_TIME_ARGS (trans->segment_start),
-            GST_TIME_ARGS (trans->segment_base));
+            GST_TIME_ARGS (trans->segment_stop),
+            GST_TIME_ARGS (trans->segment_base),
+            GST_TIME_ARGS (trans->segment_accum));
       } else {
         GST_DEBUG_OBJECT (trans, "received NEW_SEGMENT %" G_GINT64_FORMAT
-            " -- %" G_GINT64_FORMAT ", time %" G_GINT64_FORMAT,
-            trans->segment_start, trans->segment_stop, trans->segment_base);
+            " -- %" G_GINT64_FORMAT ", time %" G_GINT64_FORMAT
+            ", accum %" G_GINT64_FORMAT,
+            trans->segment_start, trans->segment_stop,
+            trans->segment_base, trans->segment_accum);
       }
-
       break;
     }
     default:
@@ -1427,6 +1430,12 @@ gst_base_transform_change_state (GstElement * element,
         trans->have_same_caps = trans->passthrough;
       GST_DEBUG_OBJECT (trans, "have_same_caps %d", trans->have_same_caps);
       trans->negotiated = FALSE;
+      trans->have_newsegment = FALSE;
+      trans->segment_rate = 1.0;
+      trans->segment_start = 0;
+      trans->segment_stop = -1;
+      trans->segment_base = 0;
+      trans->segment_accum = 0;
       GST_UNLOCK (trans);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
index 84dcf53..03fbcb8 100644 (file)
@@ -1587,7 +1587,7 @@ gst_base_sink_change_state (GstElement * element, GstStateChange transition)
       basesink->have_newsegment = FALSE;
       basesink->segment_rate = 1.0;
       basesink->segment_start = 0;
-      basesink->segment_stop = 0;
+      basesink->segment_stop = -1;
       basesink->segment_time = 0;
       basesink->segment_accum = 0;
       ret = GST_STATE_CHANGE_ASYNC;
index 58ed161..12d2323 100644 (file)
@@ -1128,16 +1128,19 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
 
       if (format == GST_FORMAT_TIME) {
         GST_DEBUG_OBJECT (trans, "received NEW_SEGMENT %" GST_TIME_FORMAT
-            " -- %" GST_TIME_FORMAT ", time %" GST_TIME_FORMAT,
+            " -- %" GST_TIME_FORMAT ", time %" GST_TIME_FORMAT
+            ", accum %" GST_TIME_FORMAT,
             GST_TIME_ARGS (trans->segment_start),
-            GST_TIME_ARGS (trans->segment_start),
-            GST_TIME_ARGS (trans->segment_base));
+            GST_TIME_ARGS (trans->segment_stop),
+            GST_TIME_ARGS (trans->segment_base),
+            GST_TIME_ARGS (trans->segment_accum));
       } else {
         GST_DEBUG_OBJECT (trans, "received NEW_SEGMENT %" G_GINT64_FORMAT
-            " -- %" G_GINT64_FORMAT ", time %" G_GINT64_FORMAT,
-            trans->segment_start, trans->segment_stop, trans->segment_base);
+            " -- %" G_GINT64_FORMAT ", time %" G_GINT64_FORMAT
+            ", accum %" G_GINT64_FORMAT,
+            trans->segment_start, trans->segment_stop,
+            trans->segment_base, trans->segment_accum);
       }
-
       break;
     }
     default:
@@ -1427,6 +1430,12 @@ gst_base_transform_change_state (GstElement * element,
         trans->have_same_caps = trans->passthrough;
       GST_DEBUG_OBJECT (trans, "have_same_caps %d", trans->have_same_caps);
       trans->negotiated = FALSE;
+      trans->have_newsegment = FALSE;
+      trans->segment_rate = 1.0;
+      trans->segment_start = 0;
+      trans->segment_stop = -1;
+      trans->segment_base = 0;
+      trans->segment_accum = 0;
       GST_UNLOCK (trans);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING: