NEWSEGMENT -> SEGMENT

This commit is contained in:
Wim Taymans 2012-12-14 15:22:27 +01:00
parent aa8d2d6580
commit fac7eb0a50
7 changed files with 12 additions and 12 deletions

View file

@ -178,8 +178,8 @@ sink overview
PREROLL_UNLOCK PREROLL_UNLOCK
STREAM_UNLOCK STREAM_UNLOCK
break break
NEWSEGMENT: SEGMENT:
# the newsegment must be used to clip incoming # the segment must be used to clip incoming
# buffers. Then then go into the queue as non-prerollable # buffers. Then then go into the queue as non-prerollable
# items used for syncing the buffers # items used for syncing the buffers
STREAM_LOCK STREAM_LOCK

View file

@ -248,7 +248,7 @@ The general flow of executing the seek with FLUSH is as follows:
4) send a FLUSH_STOP event to all peer elements to allow streaming again. 4) send a FLUSH_STOP event to all peer elements to allow streaming again.
5) create a NEWSEGMENT event to signal the new buffer timestamp base time. 5) create a SEGMENT event to signal the new buffer timestamp base time.
This event must be queued to be sent by the streaming thread. This event must be queued to be sent by the streaming thread.
6) start stopped tasks and unlock the STREAM_LOCK, dataflow will continue 6) start stopped tasks and unlock the STREAM_LOCK, dataflow will continue

View file

@ -35,7 +35,7 @@
* <listitem><para>handles state changes</para></listitem> * <listitem><para>handles state changes</para></listitem>
* <listitem><para>can operate in pull mode or push mode</para></listitem> * <listitem><para>can operate in pull mode or push mode</para></listitem>
* <listitem><para>handles seeking in both modes</para></listitem> * <listitem><para>handles seeking in both modes</para></listitem>
* <listitem><para>handles events (NEWSEGMENT/EOS/FLUSH)</para></listitem> * <listitem><para>handles events (SEGMENT/EOS/FLUSH)</para></listitem>
* <listitem><para> * <listitem><para>
* handles queries (POSITION/DURATION/SEEKING/FORMAT/CONVERT) * handles queries (POSITION/DURATION/SEEKING/FORMAT/CONVERT)
* </para></listitem> * </para></listitem>
@ -2036,7 +2036,7 @@ gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
gst_base_parse_check_media (parse); gst_base_parse_check_media (parse);
} }
/* Push pending events, including NEWSEGMENT events */ /* Push pending events, including SEGMENT events */
if (G_UNLIKELY (parse->priv->pending_events)) { if (G_UNLIKELY (parse->priv->pending_events)) {
GList *r = g_list_reverse (parse->priv->pending_events); GList *r = g_list_reverse (parse->priv->pending_events);
GList *l; GList *l;
@ -2070,7 +2070,7 @@ gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
GST_DEBUG_OBJECT (parse, GST_DEBUG_OBJECT (parse,
"Gap of %" G_GINT64_FORMAT " ns detected in stream " "(%" "Gap of %" G_GINT64_FORMAT " ns detected in stream " "(%"
GST_TIME_FORMAT " -> %" GST_TIME_FORMAT "). " GST_TIME_FORMAT " -> %" GST_TIME_FORMAT "). "
"Sending updated NEWSEGMENT events", diff, "Sending updated SEGMENT events", diff,
GST_TIME_ARGS (parse->segment.position), GST_TIME_ARGS (parse->segment.position),
GST_TIME_ARGS (last_start)); GST_TIME_ARGS (last_start));
@ -3041,7 +3041,7 @@ pause:
push_eos = TRUE; push_eos = TRUE;
} }
if (push_eos) { if (push_eos) {
/* Push pending events, including NEWSEGMENT events */ /* Push pending events, including SEGMENT events */
if (G_UNLIKELY (parse->priv->pending_events)) { if (G_UNLIKELY (parse->priv->pending_events)) {
GList *r = g_list_reverse (parse->priv->pending_events); GList *r = g_list_reverse (parse->priv->pending_events);
GList *l; GList *l;

View file

@ -84,7 +84,7 @@
* element receives EOS in PAUSED, preroll completes, the event is queued and an * element receives EOS in PAUSED, preroll completes, the event is queued and an
* EOS message is posted when going to PLAYING. * EOS message is posted when going to PLAYING.
* *
* #GstBaseSink will internally use the #GST_EVENT_NEWSEGMENT events to schedule * #GstBaseSink will internally use the #GST_EVENT_SEGMENT events to schedule
* synchronisation and clipping of buffers. Buffers that fall completely outside * synchronisation and clipping of buffers. Buffers that fall completely outside
* of the current segment are dropped. Buffers that fall partially in the * of the current segment are dropped. Buffers that fall partially in the
* segment are rendered (and prerolled). Subclasses should do any subbuffer * segment are rendered (and prerolled). Subclasses should do any subbuffer

View file

@ -35,7 +35,7 @@
* *
* The source can be configured to operate in any #GstFormat with the * The source can be configured to operate in any #GstFormat with the
* gst_base_src_set_format() method. The currently set format determines * gst_base_src_set_format() method. The currently set format determines
* the format of the internal #GstSegment and any #GST_EVENT_NEWSEGMENT * the format of the internal #GstSegment and any #GST_EVENT_SEGMENT
* events. The default format for #GstBaseSrc is #GST_FORMAT_BYTES. * events. The default format for #GstBaseSrc is #GST_FORMAT_BYTES.
* *
* #GstBaseSrc always supports push mode scheduling. If the following * #GstBaseSrc always supports push mode scheduling. If the following
@ -577,7 +577,7 @@ gst_base_src_is_live (GstBaseSrc * src)
* @format: the format to use * @format: the format to use
* *
* Sets the default format of the source. This will be the format used * Sets the default format of the source. This will be the format used
* for sending NEW_SEGMENT events and for performing seeks. * for sending SEGMENT events and for performing seeks.
* *
* If a format of GST_FORMAT_BYTES is set, the element will be able to * If a format of GST_FORMAT_BYTES is set, the element will be able to
* operate in pull mode if the #GstBaseSrcClass.is_seekable() returns TRUE. * operate in pull mode if the #GstBaseSrcClass.is_seekable() returns TRUE.

View file

@ -327,7 +327,7 @@ gst_identity_sink_event (GstBaseTransform * trans, GstEvent * event)
} }
} }
/* Reset previous timestamp, duration and offsets on NEWSEGMENT /* Reset previous timestamp, duration and offsets on SEGMENT
* to prevent false warnings when checking for perfect streams */ * to prevent false warnings when checking for perfect streams */
if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT) { if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT) {
identity->prev_timestamp = identity->prev_duration = GST_CLOCK_TIME_NONE; identity->prev_timestamp = identity->prev_duration = GST_CLOCK_TIME_NONE;

View file

@ -454,7 +454,7 @@ gst_output_selector_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
osel->latest_buffer = gst_buffer_ref (buf); osel->latest_buffer = gst_buffer_ref (buf);
} }
/* Keep track of last stop and use it in NEWSEGMENT start after /* Keep track of last stop and use it in SEGMENT start after
switching to a new src pad */ switching to a new src pad */
position = GST_BUFFER_TIMESTAMP (buf); position = GST_BUFFER_TIMESTAMP (buf);
if (GST_CLOCK_TIME_IS_VALID (position)) { if (GST_CLOCK_TIME_IS_VALID (position)) {