docs/design/part-synchronisation.txt: Small addition.
authorWim Taymans <wim.taymans@gmail.com>
Mon, 21 May 2007 12:05:14 +0000 (12:05 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 21 May 2007 12:05:14 +0000 (12:05 +0000)
Original commit message from CVS:
* docs/design/part-synchronisation.txt:
Small addition.
* gst/gstbin.c: (gst_bin_query):
* plugins/elements/gstqueue.c: (apply_segment):
Improve debugging.
* gst/gstmessage.h:
Improve docs.

ChangeLog
docs/design/part-synchronisation.txt
gst/gstbin.c
gst/gstmessage.h
plugins/elements/gstqueue.c

index a0f004a..a0497b3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2007-05-21  Wim Taymans  <wim@fluendo.com>
 
+       * docs/design/part-synchronisation.txt:
+       Small addition.
+
+       * gst/gstbin.c: (gst_bin_query):
+       * plugins/elements/gstqueue.c: (apply_segment):
+       Improve debugging.
+
+       * gst/gstmessage.h:
+       Improve docs.
+
+2007-05-21  Wim Taymans  <wim@fluendo.com>
+
        * gst/gstpad.c: (gst_pad_get_caps_unlocked),
        (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
        (gst_pad_configure_src):
index 2d96695..5f61942 100644 (file)
@@ -79,7 +79,8 @@ The following notation is used:
   - NS.rate: rate field of NEWSEGMENT event
   - NS.abs_rate: absolute value of rate field of NEWSEGMENT event
   - NS.time: time field in the NEWSEGMENT event
-  - NS.accum: total accumulated time of all previous segments
+  - NS.accum: total accumulated time of all previous NEWSEGMENT events. This
+              field is kept in the GstSegment structure.
 
 Valid buffers for synchronisation are those with B.timestamp between NS.start
 and NS.stop. All other buffers outside this range should be dropped or clipped
index 17adc96..cf7034e 100644 (file)
@@ -3018,8 +3018,8 @@ gst_bin_query (GstElement * element, GstQuery * query)
   g_value_set_boolean (&ret, FALSE);
 
   iter = gst_bin_iterate_sinks (bin);
-  GST_DEBUG_OBJECT (bin, "Sending query %p (type %d) to sink children",
-      query, GST_QUERY_TYPE (query));
+  GST_DEBUG_OBJECT (bin, "Sending query %p (type %s) to sink children",
+      query, GST_QUERY_TYPE_NAME (query));
 
   if (fold_init)
     fold_init (bin, &fold_data);
index 434d675..744652c 100644 (file)
@@ -30,21 +30,33 @@ typedef struct _GstMessageClass GstMessageClass;
 /**
  * GstMessageType:
  * @GST_MESSAGE_UNKNOWN: an undefined message
- * @GST_MESSAGE_EOS: end-of-stream reached in a pipeline
- * @GST_MESSAGE_ERROR: an error occured
+ * @GST_MESSAGE_EOS: end-of-stream reached in a pipeline. The application will
+ * only receive this message in the PLAYING state and every time it sets a
+ * pipeline to PLAYING that is in the EOS state. The application can perform a
+ * seek in the pipeline to a new position.
+ * @GST_MESSAGE_ERROR: an error occured. Whe the application receives an error
+ * message it should stop playback of the pipeline and not assume that more
+ * data will be played.
  * @GST_MESSAGE_WARNING: a warning occured.
  * @GST_MESSAGE_INFO: an info message occured
  * @GST_MESSAGE_TAG: a tag was found.
- * @GST_MESSAGE_BUFFERING: the pipeline is buffering
+ * @GST_MESSAGE_BUFFERING: the pipeline is buffering. When the application
+ * receives a buffering message in the PLAYING state for a non-live pipeline it
+ * must PAUSE the pipeline until the buffering completes, when the percentage
+ * field in the message is 100%. For live pipelines, no action must be
+ * performed and the buffering percentage can be used to infor the user about
+ * the progress.
  * @GST_MESSAGE_STATE_CHANGED: a state change happened
- * @GST_MESSAGE_STATE_DIRTY: an element changed state in a streaming thread
- * @GST_MESSAGE_STEP_DONE: a framestep finished.
+ * @GST_MESSAGE_STATE_DIRTY: an element changed state in a streaming thread.
+ * This message is deprecated.
+ * @GST_MESSAGE_STEP_DONE: a framestep finished. This message is not yet
+ * implemented.
  * @GST_MESSAGE_CLOCK_PROVIDE: an element notifies its capability of providing
  *                             a clock.
  * @GST_MESSAGE_CLOCK_LOST: The current clock as selected by the pipeline became
  *                          unusable. The pipeline will select a new clock on
  *                          the next PLAYING state change.
- * @GST_MESSAGE_NEW_CLOCK: a new clock was selected in the pipeline
+ * @GST_MESSAGE_NEW_CLOCK: a new clock was selected in the pipeline.
  * @GST_MESSAGE_STRUCTURE_CHANGE: the structure of the pipeline changed.
  * @GST_MESSAGE_STREAM_STATUS: status about a stream, emitted when it starts,
  *                             stops, errors, etc..
index a3c5c62..e2416cb 100644 (file)
@@ -564,6 +564,9 @@ apply_segment (GstQueue * queue, GstEvent * event, GstSegment * segment)
   gst_segment_set_newsegment_full (segment, update,
       rate, arate, format, start, stop, time);
 
+  GST_DEBUG_OBJECT (queue,
+      "configured NEWSEGMENT %" GST_SEGMENT_FORMAT, segment);
+
   /* segment can update the time level of the queue */
   update_time_level (queue);
 }