docs: fix broken xrefs

This commit is contained in:
Stefan Kost 2009-11-27 16:39:37 +02:00
parent 2ba8b37d15
commit a9a6c0f0cd
2 changed files with 86 additions and 78 deletions

View file

@ -37,7 +37,7 @@
* #GstBaseSink provides support for exactly one sink pad, which should be
* named "sink". A sink implementation (subclass of #GstBaseSink) should
* install a pad template in its base_init function, like so:
* <programlisting>
* |[
* static void
* my_element_base_init (gpointer g_class)
* {
@ -50,34 +50,35 @@
* // see #GstElementDetails
* gst_element_class_set_details (gstelement_class, &amp;details);
* }
* </programlisting>
* ]|
*
* #GstBaseSink will handle the prerolling correctly. This means that it will
* return #GST_STATE_CHANGE_ASYNC from a state change to PAUSED until the first
* buffer arrives in this element. The base class will call the
* #GstBaseSink::preroll vmethod with this preroll buffer and will then commit
* the state change to the next asynchronously pending state.
* #GstBaseSinkClass.preroll() vmethod with this preroll buffer and will then
* commit the state change to the next asynchronously pending state.
*
* When the element is set to PLAYING, #GstBaseSink will synchronise on the
* clock using the times returned from ::get_times. If this function returns
* #GST_CLOCK_TIME_NONE for the start time, no synchronisation will be done.
* Synchronisation can be disabled entirely by setting the object "sync"
* property to %FALSE.
* clock using the times returned from #GstBaseSinkClass.get_times(). If this
* function returns #GST_CLOCK_TIME_NONE for the start time, no synchronisation
* will be done. Synchronisation can be disabled entirely by setting the object
* #GstBaseSink:sync property to %FALSE.
*
* After synchronisation the virtual method #GstBaseSink::render will be called.
* Subclasses should minimally implement this method.
* After synchronisation the virtual method #GstBaseSinkClass.render() will be
* called. Subclasses should minimally implement this method.
*
* Since 0.10.3 subclasses that synchronise on the clock in the ::render method
* are supported as well. These classes typically receive a buffer in the render
* method and can then potentially block on the clock while rendering. A typical
* example is an audiosink. Since 0.10.11 these subclasses can use
* gst_base_sink_wait_preroll() to perform the blocking wait.
* Since 0.10.3 subclasses that synchronise on the clock in the
* #GstBaseSinkClass.render() method are supported as well. These classes
* typically receive a buffer in the render method and can then potentially
* block on the clock while rendering. A typical example is an audiosink.
* Since 0.10.11 these subclasses can use gst_base_sink_wait_preroll() to
* perform the blocking wait.
*
* Upon receiving the EOS event in the PLAYING state, #GstBaseSink will wait
* for the clock to reach the time indicated by the stop time of the last
* ::get_times call before posting an EOS message. When the element receives
* EOS in PAUSED, preroll completes, the event is queued and an EOS message is
* posted when going to PLAYING.
* #GstBaseSinkClass.get_times() call before posting an EOS message. When the
* element receives EOS in PAUSED, preroll completes, the event is queued and an
* EOS message is posted when going to PLAYING.
*
* #GstBaseSink will internally use the #GST_EVENT_NEWSEGMENT events to schedule
* synchronisation and clipping of buffers. Buffers that fall completely outside
@ -90,49 +91,53 @@
* If no clock has been set on the element, the query will be forwarded
* upstream.
*
* The ::set_caps function will be called when the subclass should configure
* itself to process a specific media type.
* The #GstBaseSinkClass.set_caps() function will be called when the subclass
* should configure itself to process a specific media type.
*
* The ::start and ::stop virtual methods will be called when resources should
* be allocated. Any ::preroll, ::render and ::set_caps function will be
* called between the ::start and ::stop calls.
* The #GstBaseSinkClass.start() and #GstBaseSinkClass.stop() virtual methods
* will be called when resources should be allocated. Any
* #GstBaseSinkClass.preroll(), #GstBaseSinkClass.render() and
* #GstBaseSinkClass.set_caps() function will be called between the
* #GstBaseSinkClass.start() and #GstBaseSinkClass.stop() calls.
*
* The ::event virtual method will be called when an event is received by
* #GstBaseSink. Normally this method should only be overriden by very specific
* elements (such as file sinks) which need to handle the newsegment event
* specially.
* The #GstBaseSinkClass.event() virtual method will be called when an event is
* received by #GstBaseSink. Normally this method should only be overriden by
* very specific elements (such as file sinks) which need to handle the
* newsegment event specially.
*
* #GstBaseSink provides an overridable ::buffer_alloc function that can be
* used by sinks that want to do reverse negotiation or to provide
* custom buffers (hardware buffers for example) to upstream elements.
* #GstBaseSink provides an overridable #GstBaseSinkClass.buffer_alloc()
* function that can be used by sinks that want to do reverse negotiation or to
* provide custom buffers (hardware buffers for example) to upstream elements.
*
* The ::unlock method is called when the elements should unblock any blocking
* operations they perform in the ::render method. This is mostly useful when
* the ::render method performs a blocking write on a file descriptor, for
* example.
* The #GstBaseSinkClass.unlock() method is called when the elements should
* unblock any blocking operations they perform in the
* #GstBaseSinkClass.render() method. This is mostly useful when the
* #GstBaseSinkClass.render() method performs a blocking write on a file
* descriptor, for example.
*
* The max-lateness property affects how the sink deals with buffers that
* arrive too late in the sink. A buffer arrives too late in the sink when
* the presentation time (as a combination of the last segment, buffer
* The #GstBaseSink:max-lateness property affects how the sink deals with
* buffers that arrive too late in the sink. A buffer arrives too late in the
* sink when the presentation time (as a combination of the last segment, buffer
* timestamp and element base_time) plus the duration is before the current
* time of the clock.
* If the frame is later than max-lateness, the sink will drop the buffer
* without calling the render method.
* This feature is disabled if sync is disabled, the ::get-times method does
* not return a valid start time or max-lateness is set to -1 (the default).
* This feature is disabled if sync is disabled, the
* #GstBaseSinkClass.get_times() method does not return a valid start time or
* max-lateness is set to -1 (the default).
* Subclasses can use gst_base_sink_set_max_lateness() to configure the
* max-lateness value.
*
* The qos property will enable the quality-of-service features of the basesink
* which gather statistics about the real-time performance of the clock
* synchronisation. For each buffer received in the sink, statistics are
* The #GstBaseSink:qos property will enable the quality-of-service features of
* the basesink which gather statistics about the real-time performance of the
* clock synchronisation. For each buffer received in the sink, statistics are
* gathered and a QOS event is sent upstream with these numbers. This
* information can then be used by upstream elements to reduce their processing
* rate, for example.
*
* Since 0.10.15 the async property can be used to instruct the sink to never
* perform an ASYNC state change. This feature is mostly usable when dealing
* with non-synchronized streams or sparse streams.
* Since 0.10.15 the #GstBaseSink:async property can be used to instruct the
* sink to never perform an ASYNC state change. This feature is mostly usable
* when dealing with non-synchronized streams or sparse streams.
*
* Last reviewed on 2007-08-29 (0.10.15)
*/
@ -1931,8 +1936,9 @@ gst_base_sink_adjust_time (GstBaseSink * basesink, GstClockTime time)
* is no clock, no synchronisation is done and #GST_CLOCK_BADTIME is returned.
*
* This function should only be called with the PREROLL_LOCK held, like when
* receiving an EOS event in the ::event vmethod or when receiving a buffer in
* the ::render vmethod.
* receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when
* receiving a buffer in
* the #GstBaseSinkClass.render() vmethod.
*
* The @time argument should be the running_time of when this method should
* return and is not adjusted with any latency or offset configured in the
@ -2006,9 +2012,9 @@ no_clock:
* gst_base_sink_wait_preroll:
* @sink: the sink
*
* If the #GstBaseSinkClass::render method performs its own synchronisation against
* the clock it must unblock when going from PLAYING to the PAUSED state and call
* this method before continuing to render the remaining data.
* If the #GstBaseSinkClass.render() method performs its own synchronisation
* against the clock it must unblock when going from PLAYING to the PAUSED state
* and call this method before continuing to render the remaining data.
*
* This function will block until a state change to PLAYING happens (in which
* case this function returns #GST_FLOW_OK) or the processing must be stopped due

View file

@ -43,12 +43,12 @@
* <itemizedlist>
* <listitem><para>The format is set to #GST_FORMAT_BYTES (default).</para>
* </listitem>
* <listitem><para>#GstBaseSrc::is_seekable returns %TRUE.</para>
* <listitem><para>#GstBaseSrcClass.is_seekable() returns %TRUE.</para>
* </listitem>
* </itemizedlist>
*
* Since 0.10.9, any #GstBaseSrc can enable pull based scheduling at any
* time by overriding #GstBaseSrc::check_get_range so that it returns %TRUE.
* Since 0.10.9, any #GstBaseSrc can enable pull based scheduling at any time
* by overriding #GstBaseSrcClass.check_get_range() so that it returns %TRUE.
*
* If all the conditions are met for operating in pull mode, #GstBaseSrc is
* automatically seekable in push mode as well. The following conditions must
@ -56,23 +56,24 @@
* #GST_FORMAT_BYTES:
* <itemizedlist>
* <listitem><para>
* #GstBaseSrc::is_seekable returns %TRUE.
* #GstBaseSrcClass.is_seekable() returns %TRUE.
* </para></listitem>
* <listitem><para>
* #GstBaseSrc::query can convert all supported seek formats to the
* #GstBaseSrc:Class.query() can convert all supported seek formats to the
* internal format as set with gst_base_src_set_format().
* </para></listitem>
* <listitem><para>
* #GstBaseSrc::do_seek is implemented, performs the seek and returns %TRUE.
* #GstBaseSrcClass.do_seek() is implemented, performs the seek and returns
* %TRUE.
* </para></listitem>
* </itemizedlist>
*
* When the element does not meet the requirements to operate in pull mode,
* the offset and length in the #GstBaseSrc::create method should be ignored.
* When the element does not meet the requirements to operate in pull mode, the
* offset and length in the #GstBaseSrcClass.create() method should be ignored.
* It is recommended to subclass #GstPushSrc instead, in this situation. If the
* element can operate in pull mode but only with specific offsets and
* lengths, it is allowed to generate an error when the wrong values are passed
* to the #GstBaseSrc::create function.
* to the #GstBaseSrcClass.create() function.
*
* #GstBaseSrc has support for live sources. Live sources are sources that when
* paused discard data, such as audio or video capture devices. A typical live
@ -81,9 +82,10 @@
* Use gst_base_src_set_live() to activate the live source mode.
*
* A live source does not produce data in the PAUSED state. This means that the
* #GstBaseSrc::create method will not be called in PAUSED but only in PLAYING.
* To signal the pipeline that the element will not produce data, the return
* value from the READY to PAUSED state will be #GST_STATE_CHANGE_NO_PREROLL.
* #GstBaseSrcClass.create() method will not be called in PAUSED but only in
* PLAYING. To signal the pipeline that the element will not produce data, the
* return value from the READY to PAUSED state will be
* #GST_STATE_CHANGE_NO_PREROLL.
*
* A typical live source will timestamp the buffers it creates with the
* current running time of the pipeline. This is one reason why a live source
@ -91,17 +93,17 @@
* distributed and running.
*
* Live sources that synchronize and block on the clock (an audio source, for
* example) can since 0.10.12 use gst_base_src_wait_playing() when the ::create
* function was interrupted by a state change to PAUSED.
* example) can since 0.10.12 use gst_base_src_wait_playing() when the
* #GstBaseSrcClass.create() function was interrupted by a state change to
* PAUSED.
*
* The #GstBaseSrc::get_times method can be used to implement pseudo-live
* sources.
* It only makes sense to implement the ::get_times function if the source is
* a live source. The ::get_times function should return timestamps starting
* from 0, as if it were a non-live source. The base class will make sure that
* the timestamps are transformed into the current running_time.
* The base source will then wait for the calculated running_time before pushing
* out the buffer.
* The #GstBaseSrcClass.get_times() method can be used to implement pseudo-live
* sources. It only makes sense to implement the #GstBaseSrcClass.get_times()
* function if the source is a live source. The #GstBaseSrcClass.get_times()
* function should return timestamps starting from 0, as if it were a non-live
* source. The base class will make sure that the timestamps are transformed
* into the current running_time. The base source will then wait for the
* calculated running_time before pushing out the buffer.
*
* For live sources, the base class will by default report a latency of 0.
* For pseudo live sources, the base class will by default measure the difference
@ -113,7 +115,7 @@
* There is only support in #GstBaseSrc for exactly one source pad, which
* should be named "src". A source implementation (subclass of #GstBaseSrc)
* should install a pad template in its class_init function, like so:
* <programlisting>
* |[
* static void
* my_element_class_init (GstMyElementClass *klass)
* {
@ -125,7 +127,7 @@
* // see #GstElementDetails
* gst_element_class_set_details (gstelement_class, &amp;details);
* }
* </programlisting>
* ]|
*
* <refsect2>
* <title>Controlled shutdown of live sources in applications</title>
@ -453,9 +455,9 @@ gst_base_src_finalize (GObject * object)
* gst_base_src_wait_playing:
* @src: the src
*
* If the #GstBaseSrcClass::create method performs its own synchronisation against
* the clock it must unblock when going from PLAYING to the PAUSED state and call
* this method before continuing to produce the remaining data.
* If the #GstBaseSrcClass.create() method performs its own synchronisation
* against the clock it must unblock when going from PLAYING to the PAUSED state
* and call this method before continuing to produce the remaining data.
*
* This function will block until a state change to PLAYING happens (in which
* case this function returns #GST_FLOW_OK) or the processing must be stopped due
@ -544,7 +546,7 @@ gst_base_src_is_live (GstBaseSrc * src)
* for sending NEW_SEGMENT events and for performing seeks.
*
* If a format of GST_FORMAT_BYTES is set, the element will be able to
* operate in pull mode if the #GstBaseSrc::is_seekable returns TRUE.
* operate in pull mode if the #GstBaseSrc.is_seekable() returns TRUE.
*
* Since: 0.10.1
*/