Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
gstreamer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
luzpaz
gstreamer
Commits
012d4ec9
Commit
012d4ec9
authored
Jun 27, 2005
by
Thomas Vander Stichele
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more doc and whitespace fixes
Original commit message from CVS: more doc and whitespace fixes
parent
2d63826a
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
153 additions
and
119 deletions
+153
-119
docs/gst/gstreamer-sections.txt
docs/gst/gstreamer-sections.txt
+3
-2
docs/gst/tmpl/gstbasesrc.sgml
docs/gst/tmpl/gstbasesrc.sgml
+17
-0
docs/gst/tmpl/gstbin.sgml
docs/gst/tmpl/gstbin.sgml
+9
-0
docs/gst/tmpl/gstelement.sgml
docs/gst/tmpl/gstelement.sgml
+1
-0
docs/gst/tmpl/gsttypes.sgml
docs/gst/tmpl/gsttypes.sgml
+1
-0
gst/base/gstbasesrc.h
gst/base/gstbasesrc.h
+19
-13
gst/gstbin.c
gst/gstbin.c
+44
-43
gst/gstbin.h
gst/gstbin.h
+5
-16
gst/gstelement.h
gst/gstelement.h
+35
-32
libs/gst/base/gstbasesrc.h
libs/gst/base/gstbasesrc.h
+19
-13
No files found.
docs/gst/gstreamer-sections.txt
View file @
012d4ec9
...
...
@@ -30,6 +30,7 @@ gst_init_get_popt_table
<FILE>gstbin</FILE>
<TITLE>GstBin</TITLE>
GstBin
GstBinClass
GstBinFlags
gst_bin_new
...
...
@@ -296,6 +297,7 @@ GST_PLUGIN_EXPORT
<FILE>gstelement</FILE>
<TITLE>GstElement</TITLE>
GstElement
GstElementClass
GST_NUM_STATES
GST_STATE
GST_STATE_PENDING
...
...
@@ -405,7 +407,6 @@ gst_element_get_factory
gst_element_get_managing_bin
gst_element_no_more_pads
<SUBSECTION Standard>
GstElementClass
GST_ELEMENT
GST_IS_ELEMENT
GST_ELEMENT_CLASS
...
...
@@ -1889,8 +1890,8 @@ gst_fakesink_get_type
<FILE>gstbasesrc</FILE>
<TITLE>GstBaseSrc</TITLE>
GstBaseSrc
<SUBSECTION Standard>
GstBaseSrcClass
<SUBSECTION Standard>
GST_BASESRC
GST_IS_BASESRC
GST_TYPE_BASESRC
...
...
docs/gst/tmpl/gstbasesrc.sgml
View file @
012d4ec9
...
...
@@ -35,3 +35,20 @@ GstBaseSrc
</para>
<!-- ##### STRUCT GstBaseSrcClass ##### -->
<para>
</para>
@parent_class:
@get_caps:
@set_caps:
@start:
@stop:
@get_times:
@get_size:
@is_seekable:
@unlock:
@event:
@create:
docs/gst/tmpl/gstbin.sgml
View file @
012d4ec9
...
...
@@ -80,6 +80,15 @@ Will be emitted if an element was removed from this bin.
@gstbin: the object which received the signal.
@arg1: the element that was removed from the bin.
<!-- ##### STRUCT GstBinClass ##### -->
<para>
</para>
@parent_class:
@add_element:
@remove_element:
<!-- ##### ENUM GstBinFlags ##### -->
<para>
...
...
docs/gst/tmpl/gstelement.sgml
View file @
012d4ec9
...
...
@@ -75,6 +75,7 @@ and gst_element_set_clock(). You can wait for the clock to reach a given
@current_state:
@pending_state:
@state_error:
@no_preroll:
@manager:
@bus:
@scheduler:
...
...
docs/gst/tmpl/gsttypes.sgml
View file @
012d4ec9
...
...
@@ -35,6 +35,7 @@ against the GstElementStateReturn value.
@GST_STATE_FAILURE: the state of the element could not be changed
@GST_STATE_SUCCESS: the state of the element has already be changed
@GST_STATE_ASYNC: the state of the element will change in the near future
@GST_STATE_NO_PREROLL:
<!-- ##### ENUM GstRank ##### -->
<para>
...
...
gst/base/gstbasesrc.h
View file @
012d4ec9
...
...
@@ -3,7 +3,7 @@
* 2000 Wim Taymans <wtay@chello.be>
* 2005 Wim Taymans <wim@fluendo.com>
*
* gstbasesrc.h:
* gstbasesrc.h:
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
...
...
@@ -68,33 +68,39 @@ typedef struct _GstBaseSrcClass GstBaseSrcClass;
struct
_GstBaseSrc
{
GstElement
element
;
GstPad
*
srcpad
;
GstPad
*
srcpad
;
/*< protected >*/
/* with LIVE_LOCK */
/* only for subclass implementations */
/* MT-protected (with LIVE_LOCK) */
GMutex
*
live_lock
;
GCond
*
live_cond
;
gboolean
is_live
;
gboolean
live_running
;
/*< protected >*/
/* with LOCK */
gint
blocksize
;
/* size of buffers when operating push based */
gboolean
has_loop
;
/* some scheduling properties */
/* MT-protected (with LOCK) */
gint
blocksize
;
/* size of buffers when operating push based */
gboolean
has_loop
;
/* some scheduling properties */
gboolean
has_getrange
;
gboolean
seekable
;
gboolean
random_access
;
GstClockID
clock_id
;
/* for syncing */
GstClockID
clock_id
;
/* for syncing */
GstClockTime
end_time
;
/*
with STREAM_LOCK
*/
gint64
segment_start
;
/* start and end positions for seeking */
/*
MT-protected (with STREAM_LOCK)
*/
gint64
segment_start
;
/* start and end positions for seeking */
gint64
segment_end
;
gboolean
segment_loop
;
guint64
offset
;
/* current offset in the resource */
guint64
size
;
/* total size of the resource */
guint64
offset
;
/* current offset in the resource */
guint64
size
;
/* total size of the resource */
};
/**
* _GstBaseSrcClass:
* @create: ask the subclass to create a buffer with offset and size
* @start: start processing
*/
struct
_GstBaseSrcClass
{
GstElementClass
parent_class
;
...
...
@@ -126,7 +132,7 @@ struct _GstBaseSrcClass {
gboolean
(
*
event
)
(
GstBaseSrc
*
src
,
GstEvent
*
event
);
/* ask the subclass to create a buffer with offset and size */
GstFlowReturn
(
*
create
)
(
GstBaseSrc
*
src
,
guint64
offset
,
guint
size
,
GstFlowReturn
(
*
create
)
(
GstBaseSrc
*
src
,
guint64
offset
,
guint
size
,
GstBuffer
**
buf
);
};
...
...
gst/gstbin.c
View file @
012d4ec9
/* GStreamer
*
*
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
* 2004 Wim Taymans <wim@fluendo.com>
*
...
...
@@ -213,7 +213,7 @@ gst_bin_new (const gchar * name)
/* set the index on all elements in this bin
*
* MT safe
* MT safe
*/
#ifndef GST_DISABLE_INDEX
static
void
...
...
@@ -236,7 +236,7 @@ gst_bin_set_index_func (GstElement * element, GstIndex * index)
/* set the clock on all elements in this bin
*
* MT safe
* MT safe
*/
static
void
gst_bin_set_clock_func
(
GstElement
*
element
,
GstClock
*
clock
)
...
...
@@ -257,7 +257,7 @@ gst_bin_set_clock_func (GstElement * element, GstClock * clock)
/* get the clock for this bin by asking all of the children in this bin
*
* MT safe
* MT safe
*/
static
GstClock
*
gst_bin_get_clock_func
(
GstElement
*
element
)
...
...
@@ -283,7 +283,7 @@ gst_bin_get_clock_func (GstElement * element)
/* set the bus on all of the children in this bin
*
* MT safe
* MT safe
*/
static
void
gst_bin_set_bus
(
GstElement
*
element
,
GstBus
*
bus
)
...
...
@@ -306,7 +306,7 @@ gst_bin_set_bus (GstElement * element, GstBus * bus)
/* set the scheduler on all of the children in this bin
*
* MT safe
* MT safe
*/
static
void
gst_bin_set_scheduler
(
GstElement
*
element
,
GstScheduler
*
sched
)
...
...
@@ -329,7 +329,7 @@ gst_bin_set_scheduler (GstElement * element, GstScheduler * sched)
/* set the manager on all of the children in this bin
*
* MT safe
* MT safe
*/
static
void
gst_bin_set_manager
(
GstElement
*
element
,
GstPipeline
*
manager
)
...
...
@@ -350,7 +350,7 @@ gst_bin_set_manager (GstElement * element, GstPipeline * manager)
/* add an element to this bin
*
* MT safe
* MT safe
*/
static
gboolean
gst_bin_add_func
(
GstBin
*
bin
,
GstElement
*
element
)
...
...
@@ -436,10 +436,10 @@ had_parent:
* Adds the given element to the bin. Sets the element's parent, and thus
* takes ownership of the element. An element can only be added to one bin.
*
* MT safe.
*
* Returns: TRUE if the element could be added, FALSE on wrong parameters or
* the bin does not want to accept the element.
*
* MT safe.
*/
gboolean
gst_bin_add
(
GstBin
*
bin
,
GstElement
*
element
)
...
...
@@ -560,10 +560,10 @@ not_in_bin:
* want the element to still exist after removing, you need to call
* #gst_object_ref before removing it from the bin.
*
* MT safe.
*
* Returns: TRUE if the element could be removed, FALSE on wrong parameters or
* the bin does not want to remove the element.
*
* MT safe.
*/
gboolean
gst_bin_remove
(
GstBin
*
bin
,
GstElement
*
element
)
...
...
@@ -606,14 +606,14 @@ iterate_child (GstIterator * it, GstElement * child)
* gst_bin_iterate_elements:
* @bin: #Gstbin to iterate the elements of
*
* Get an iterator for the elements in this bin.
* Each element will have its refcount increased, so unref
* after usage.
* Get an iterator for the elements in this bin.
* Each element will have its refcount increased, so unref
* after use.
*
* MT safe.
*
* Returns: a #GstIterator of #GstElements. gst_iterator_free after
* use. returns NULL when passing bad parameters.
*
* MT safe.
*/
GstIterator
*
gst_bin_iterate_elements
(
GstBin
*
bin
)
...
...
@@ -624,7 +624,7 @@ gst_bin_iterate_elements (GstBin * bin)
GST_LOCK
(
bin
);
/* add ref because the iterator refs the bin. When the iterator
* is freed it will unref the bin again using the provided dispose
* is freed it will unref the bin again using the provided dispose
* function. */
gst_object_ref
(
GST_OBJECT
(
bin
));
result
=
gst_iterator_new_list
(
GST_GET_LOCK
(
bin
),
...
...
@@ -654,14 +654,14 @@ iterate_child_recurse (GstIterator * it, GstElement * child)
* gst_bin_iterate_recurse:
* @bin: #Gstbin to iterate the elements of
*
* Get an iterator for the elements in this bin.
* Each element will have its refcount increased, so unref
* after usage. This iterator recurses into GstBin children.
* Get an iterator for the elements in this bin.
* Each element will have its refcount increased, so unref
* after use. This iterator recurses into GstBin children.
*
* MT safe.
*
* Returns: a #GstIterator of #GstElements. gst_iterator_free after
* use. returns NULL when passing bad parameters.
*
* MT safe.
*/
GstIterator
*
gst_bin_iterate_recurse
(
GstBin
*
bin
)
...
...
@@ -672,7 +672,7 @@ gst_bin_iterate_recurse (GstBin * bin)
GST_LOCK
(
bin
);
/* add ref because the iterator refs the bin. When the iterator
* is freed it will unref the bin again using the provided dispose
* is freed it will unref the bin again using the provided dispose
* function. */
gst_object_ref
(
GST_OBJECT
(
bin
));
result
=
gst_iterator_new_list
(
GST_GET_LOCK
(
bin
),
...
...
@@ -798,14 +798,14 @@ sink_iterator_filter (GstElement * child, GstBin * bin)
* @bin: #Gstbin to iterate on
*
* Get an iterator for the sink elements in this bin.
* Each element will have its refcount increased, so unref
* after us
ag
e.
* Each element will have its refcount increased, so unref
* after use.
*
* The sink elements are those without any linked srcpads.
*
* Returns: a #GstIterator of #GstElements. gst_iterator_free after use.
*
* MT safe.
*
* Returns: a #GstIterator of #GstElements. gst_iterator_free after use.
*/
GstIterator
*
gst_bin_iterate_sinks
(
GstBin
*
bin
)
...
...
@@ -826,7 +826,7 @@ gst_bin_iterate_sinks (GstBin * bin)
* 1) check state of all children with 0 timeout to find ERROR and
* NO_PREROLL elements. return if found.
* 2) perform full blocking wait with requested timeout.
*
*
* 2) cannot be performed when 1) returns results as the sinks might
* not be able to complete the state change making 2) block forever.
*
...
...
@@ -1147,7 +1147,7 @@ restart:
gst_object_unref
(
GST_OBJECT
(
peer_elem
));
g_queue_delete_link
(
elem_queue
,
oldelem
);
}
/* was reffed before pushing on the queue by the
/* was reffed before pushing on the queue by the
* gst_object_get_parent() call we used to get the element. */
g_queue_push_tail
(
elem_queue
,
peer_elem
);
}
else
{
...
...
@@ -1369,11 +1369,11 @@ compare_name (GstElement * element, const gchar * name)
* Get the element with the given name from this bin. This
* function recurses into subbins.
*
* MT safe.
*
* Returns: the element with the given name. Returns NULL if the
* element is not found or when bad parameters were given. Unref after
* usage.
*
* MT safe.
* use.
*/
GstElement
*
gst_bin_get_by_name
(
GstBin
*
bin
,
const
gchar
*
name
)
...
...
@@ -1399,13 +1399,13 @@ gst_bin_get_by_name (GstBin * bin, const gchar * name)
* @bin: #Gstbin to search
* @name: the element name to search for
*
* MT safe.
*
* Get the element with the given name from this bin. If the
* element is not found, a recursion is performed on the parent bin.
*
* Returns: the element with the given name or NULL when the element
* was not found or bad parameters were given. Unref after usage.
*
* MT safe.
* was not found or bad parameters were given. Unref after use.
*/
GstElement
*
gst_bin_get_by_name_recurse_up
(
GstBin
*
bin
,
const
gchar
*
name
)
...
...
@@ -1457,12 +1457,12 @@ compare_interface (GstElement * element, gpointer interface)
* interface. If such an element is found, it returns the element. You can
* cast this element to the given interface afterwards.
* If you want all elements that implement the interface, use
* gst_bin_iterate_all_by_interface(). The function recurses bins inside bins.
*
* Returns: An element inside the bin implementing the interface. Unref after
* usage.
* gst_bin_iterate_all_by_interface(). The function recurses inside bins.
*
* MT safe.
*
* Returns: An #GstElement inside the bin implementing the interface.
* Unref after use.
*/
GstElement
*
gst_bin_get_by_interface
(
GstBin
*
bin
,
GType
interface
)
...
...
@@ -1488,11 +1488,12 @@ gst_bin_get_by_interface (GstBin * bin, GType interface)
* Looks for all elements inside the bin that implements the given
* interface. You can safely cast all returned elements to the given interface.
* The function recurses bins inside bins. The iterator will return a series
* of #GstElement that should be unreffed after usage.
*
* Returns: An iterator for the elements inside the bin implementing the interface.
* of #GstElement that should be unreffed after use.
*
* MT safe.
*
* Returns: A #GstIterator for the elements inside the bin implementing the
* given interface.
*/
GstIterator
*
gst_bin_iterate_all_by_interface
(
GstBin
*
bin
,
GType
interface
)
...
...
gst/gstbin.h
View file @
012d4ec9
...
...
@@ -41,19 +41,8 @@ GST_EXPORT GType _gst_bin_type;
/**
* GstBinFlags:
* @GST_BIN_FLAG_MANAGER: this bin is a manager of child elements, i.e.
* a pipeline or thread.
* @GST_BIN_SELF_SCHEDULABLE: the bin iterates itself.
* @GST_BIN_FLAG_PREFER_COTHREADS: we prefer to have cothreads when its
* an option, over chain-based.
* @GST_BIN_FLAG_FIXED_CLOCK: bin has one clock that cannot be changed.
* @GST_BIN_STATE_LOCKED: indicator that we are in a non-recursive
* state-change on the bin, or that kids should not change parent state.
* Both are internally used to prevent infinitely recursive loops of
* state changes. Since they are mutually exclusive and serve the same
* purpose, we use the same flag for them.
* @GST_BIN_FLAG_LAST: the last enum in the series of flags in a bin,
* derived classes can use this as first value in a list of flags.
* @GST_BIN_FLAG_LAST: the last enum in the series of flags for bins.
* Derived classes can use this as first value in a list of flags.
*
* GstBinFlags are a set of flags specific to bins. Most are set/used
* internally. They can be checked using the GST_FLAG_IS_SET () macro,
...
...
@@ -88,13 +77,13 @@ struct _GstBin {
struct
_GstBinClass
{
GstElementClass
parent_class
;
/*< p
ublic
>*/
/*< p
rivate
>*/
/* signals */
void
(
*
element_added
)
(
GstBin
*
bin
,
GstElement
*
child
);
void
(
*
element_removed
)
(
GstBin
*
bin
,
GstElement
*
child
);
/*< p
rotected
>*/
/* v
table
*/
/*< p
ublic
>*/
/* v
irtual methods for subclasses
*/
gboolean
(
*
add_element
)
(
GstBin
*
bin
,
GstElement
*
element
);
gboolean
(
*
remove_element
)
(
GstBin
*
bin
,
GstElement
*
element
);
...
...
gst/gstelement.h
View file @
012d4ec9
...
...
@@ -50,7 +50,7 @@ GST_EXPORT GType _gst_element_type;
#define GST_ELEMENT_CAST(obj) ((GstElement*)(obj))
#define GST_NUM_STATES 4
/* NOTE: this probably should be done with an #ifdef to decide
/* NOTE: this probably should be done with an #ifdef to decide
* whether to safe-cast or to just do the non-checking cast.
*/
#define GST_STATE(obj) (GST_ELEMENT(obj)->current_state)
...
...
@@ -116,8 +116,10 @@ typedef enum
* @el: the element that throws the error
* @domain: like CORE, LIBRARY, RESOURCE or STREAM (see #GstError)
* @code: error code defined for that domain (see #GstError)
* @message: the message to display (format string and args enclosed in round brackets)
* @debug: debugging information for the message (format string and args enclosed in round brackets)
* @message: the message to display (format string and args enclosed in
parentheses)
* @debug: debugging information for the message (format string and args
enclosed in parentheses)
*
* Utility function that elements can use in case they encountered a fatal
* data processing error. The pipeline will throw an error signal and the
...
...
@@ -164,7 +166,7 @@ G_STMT_START { \
struct
_GstElement
{
GstObject
object
;
GstObject
object
;
/*< public >*/
/* with STATE_LOCK */
/* element state */
...
...
@@ -178,13 +180,13 @@ struct _GstElement
gboolean
no_preroll
;
/* flag is set when the element cannot preroll */
/*< public >*/
/* with LOCK */
/* element manager */
GstPipeline
*
manager
;
GstBus
*
bus
;
GstScheduler
*
scheduler
;
GstPipeline
*
manager
;
GstBus
*
bus
;
GstScheduler
*
scheduler
;
/* allocated clock */
GstClock
*
clock
;
GstClockTimeDiff
base_time
;
/* NULL/READY: 0 - PAUSED: current time - PLAYING: difference to clock */
GstClockTimeDiff
base_time
;
/* NULL/READY: 0 - PAUSED: current time - PLAYING: difference to clock */
/* element pads, these lists can only be iterated while holding
* the LOCK or checking the cookie after each LOCK. */
...
...
@@ -206,7 +208,7 @@ struct _GstElementClass
/*< public >*/
/* the element details */
GstElementDetails
details
;
GstElementDetails
details
;
/* factory that the element was created from */
GstElementFactory
*
elementfactory
;
...
...
@@ -216,27 +218,28 @@ struct _GstElementClass
gint
numpadtemplates
;
guint32
pad_templ_cookie
;
/*< private >*/
/* signal callbacks */
void
(
*
state_change
)
(
GstElement
*
element
,
GstElementState
old
,
GstElementState
state
);
void
(
*
new_pad
)
(
GstElement
*
element
,
GstPad
*
pad
);
void
(
*
pad_removed
)
(
GstElement
*
element
,
GstPad
*
pad
);
void
(
*
no_more_pads
)
(
GstElement
*
element
);
/*< p
rotected
>*/
/* v
table
*/
/*< p
ublic
>*/
/* v
irtual methods for subclasses
*/
/* request/release pads */
GstPad
*
(
*
request_new_pad
)
(
GstElement
*
element
,
GstPadTemplate
*
templ
,
const
gchar
*
name
);
void
(
*
release_pad
)
(
GstElement
*
element
,
GstPad
*
pad
);
/* state changes */
GstElementStateReturn
(
*
get_state
)
(
GstElement
*
element
,
GstElementState
*
state
,
GstElementState
*
pending
,
GTimeVal
*
timeout
);
GstElementStateReturn
(
*
get_state
)
(
GstElement
*
element
,
GstElementState
*
state
,
GstElementState
*
pending
,
GTimeVal
*
timeout
);
GstElementStateReturn
(
*
change_state
)
(
GstElement
*
element
);
/* manager */
void
(
*
set_manager
)
(
GstElement
*
element
,
GstPipeline
*
pipeline
);
void
(
*
set_bus
)
(
GstElement
*
element
,
GstBus
*
bus
);
void
(
*
set_manager
)
(
GstElement
*
element
,
GstPipeline
*
pipeline
);
void
(
*
set_bus
)
(
GstElement
*
element
,
GstBus
*
bus
);
void
(
*
set_scheduler
)
(
GstElement
*
element
,
GstScheduler
*
scheduler
);
/* set/get clocks */
...
...
@@ -250,7 +253,7 @@ struct _GstElementClass
/* query functions */
gboolean
(
*
send_event
)
(
GstElement
*
element
,
GstEvent
*
event
);
const
GstQueryType
*
(
*
get_query_types
)
(
GstElement
*
element
);
const
GstQueryType
*
(
*
get_query_types
)
(
GstElement
*
element
);
gboolean
(
*
query
)
(
GstElement
*
element
,
GstQuery
*
query
);
/*< private >*/
...
...
@@ -276,8 +279,8 @@ GType gst_element_get_type (void);
/* clocking */
gboolean
gst_element_requires_clock
(
GstElement
*
element
);
gboolean
gst_element_provides_clock
(
GstElement
*
element
);
GstClock
*
gst_element_get_clock
(
GstElement
*
element
);
void
gst_element_set_clock
(
GstElement
*
element
,
GstClock
*
clock
);
GstClock
*
gst_element_get_clock
(
GstElement
*
element
);
void
gst_element_set_clock
(
GstElement
*
element
,
GstClock
*
clock
);
/* indexes */
gboolean
gst_element_is_indexable
(
GstElement
*
element
);
...
...
@@ -285,10 +288,10 @@ void gst_element_set_index (GstElement *element, GstIndex *index);
GstIndex
*
gst_element_get_index
(
GstElement
*
element
);
/* manager and tasks */
void
gst_element_set_manager
(
GstElement
*
element
,
GstPipeline
*
pipeline
);
GstPipeline
*
gst_element_get_manager
(
GstElement
*
element
);
void
gst_element_set_bus
(
GstElement
*
element
,
GstBus
*
bus
);
GstBus
*
gst_element_get_bus
(
GstElement
*
element
);
void
gst_element_set_manager
(
GstElement
*
element
,
GstPipeline
*
pipeline
);
GstPipeline
*
gst_element_get_manager
(
GstElement
*
element
);
void
gst_element_set_bus
(
GstElement
*
element
,
GstBus
*
bus
);
GstBus
*
gst_element_get_bus
(
GstElement
*
element
);
void
gst_element_set_scheduler
(
GstElement
*
element
,
GstScheduler
*
sched
);
GstScheduler
*
gst_element_get_scheduler
(
GstElement
*
element
);
...
...
@@ -302,7 +305,7 @@ GstPad* gst_element_get_static_pad (GstElement *element, const gchar *name);
GstPad
*
gst_element_get_request_pad
(
GstElement
*
element
,
const
gchar
*
name
);
void
gst_element_release_request_pad
(
GstElement
*
element
,
GstPad
*
pad
);
GstIterator
*
gst_element_iterate_pads
(
GstElement
*
element
);
GstIterator
*
gst_element_iterate_pads
(
GstElement
*
element
);
/* event/query/format stuff */
gboolean
gst_element_send_event
(
GstElement
*
element
,
GstEvent
*
event
);
...
...
@@ -313,29 +316,29 @@ G_CONST_RETURN GstQueryType*
gboolean
gst_element_query
(
GstElement
*
element
,
GstQuery
*
query
);
/* messages */
gboolean
gst_element_post_message
(
GstElement
*
element
,
GstMessage
*
message
);
gboolean
gst_element_post_message
(
GstElement
*
element
,
GstMessage
*
message
);
/* error handling */
gchar
*
_gst_element_error_printf
(
const
gchar
*
format
,
...);
void
gst_element_message_full
(
GstElement
*
element
,
GstMessageType
type
,
GQuark
domain
,
gint
code
,
gchar
*
text
,
void
gst_element_message_full
(
GstElement
*
element
,
GstMessageType
type
,
GQuark
domain
,
gint
code
,
gchar
*
text
,
gchar
*
debug
,
const
gchar
*
file
,
const
gchar
*
function
,
gint
line
);
const
gchar
*
function
,
gint
line
);
/* state management */
gboolean
gst_element_is_locked_state
(
GstElement
*
element
);
gboolean
gst_element_set_locked_state
(
GstElement
*
element
,
gboolean
locked_state
);
gboolean
gst_element_sync_state_with_parent
(
GstElement
*
element
);
GstElementStateReturn
gst_element_get_state
(
GstElement
*
element
,
GstElementStateReturn
gst_element_get_state
(
GstElement
*
element
,
GstElementState
*
state
,
GstElementState
*
pending
,
GstElementState
*
pending
,
GTimeVal
*
timeout
);
GstElementStateReturn
gst_element_set_state
(
GstElement
*
element
,
GstElementState
state
);
void
gst_element_abort_state
(
GstElement
*
element
);
void
gst_element_commit_state
(
GstElement
*
element
);
void
gst_element_lost_state
(
GstElement
*
element
);
void
gst_element_abort_state
(
GstElement
*
element
);
void
gst_element_commit_state
(
GstElement
*
element
);
void
gst_element_lost_state
(
GstElement
*
element
);
/* factory management */
GstElementFactory
*
gst_element_get_factory
(
GstElement
*
element
);
...
...
libs/gst/base/gstbasesrc.h
View file @
012d4ec9
...
...
@@ -3,7 +3,7 @@
* 2000 Wim Taymans <wtay@chello.be>
* 2005 Wim Taymans <wim@fluendo.com>
*
* gstbasesrc.h:
* gstbasesrc.h:
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
...
...
@@ -68,33 +68,39 @@ typedef struct _GstBaseSrcClass GstBaseSrcClass;
struct
_GstBaseSrc
{
GstElement
element
;
GstPad
*
srcpad
;
GstPad
*
srcpad
;
/*< protected >*/
/* with LIVE_LOCK */
/* only for subclass implementations */
/* MT-protected (with LIVE_LOCK) */
GMutex
*
live_lock
;
GCond
*
live_cond
;
gboolean
is_live
;
gboolean
live_running
;
/*< protected >*/
/* with LOCK */
gint
blocksize
;
/* size of buffers when operating push based */
gboolean
has_loop
;
/* some scheduling properties */
/* MT-protected (with LOCK) */
gint
blocksize
;
/* size of buffers when operating push based */
gboolean
has_loop
;
/* some scheduling properties */
gboolean
has_getrange
;
gboolean
seekable
;
gboolean
random_access
;