diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt index bf15ac9723..253412bfcf 100644 --- a/docs/gst/gstreamer-sections.txt +++ b/docs/gst/gstreamer-sections.txt @@ -196,6 +196,7 @@ gst_element_get_padtemplate_list gst_element_add_ghost_pad gst_element_remove_ghost_pad gst_element_connect +gst_element_disconnect gst_element_set_state gst_element_error gst_element_get_factory @@ -339,8 +340,10 @@ gst_pad_push gst_pad_pull gst_pad_pull_region gst_pad_pullregion -gst_pad_handle_qos +gst_pad_select gst_pad_set_eos +gst_pad_eos_func +gst_pad_handle_qos gst_pad_eos gst_pad_save_thyself gst_pad_load_and_connect @@ -426,7 +429,12 @@ GstPlugin GstPluginElement GstPluginInitFunc gst_plugin_new +gst_plugin_set_name +gst_plugin_get_name +gst_plugin_get_longname gst_plugin_set_longname +gst_plugin_get_filename +gst_plugin_is_loaded gst_plugin_load_all gst_plugin_load gst_plugin_load_absolute @@ -435,6 +443,8 @@ gst_plugin_add_factory gst_plugin_add_type gst_plugin_find gst_plugin_get_list +gst_plugin_get_factory_list +gst_plugin_get_type_list gst_plugin_find_elementfactory gst_plugin_load_elementfactory gst_plugin_load_typefactory @@ -521,6 +531,12 @@ gst_caps_new gst_caps_new_with_props gst_caps_register gst_caps_register_count +gst_caps_get_name +gst_caps_set_mime +gst_caps_set_type_id +gst_caps_get_type_id +gst_caps_get_mime +gst_caps_set_name gst_caps_set_props gst_caps_get_props gst_caps_check_compatibility diff --git a/docs/gst/tmpl/gstasyncdisksrc.sgml b/docs/gst/tmpl/gstasyncdisksrc.sgml index b355753553..ca7479d480 100644 --- a/docs/gst/tmpl/gstasyncdisksrc.sgml +++ b/docs/gst/tmpl/gstasyncdisksrc.sgml @@ -32,3 +32,23 @@ the offset. @GST_ASYNCDISKSRC_OPEN: @GST_ASYNCDISKSRC_FLAG_LAST: + + +Specify the location of the file to read. + + + + +Specify how many bytes to read at a time. + + + + +Specify the current offset in the file. + + + + + + + diff --git a/docs/gst/tmpl/gstaudiosink.sgml b/docs/gst/tmpl/gstaudiosink.sgml index 8ec48a9cb6..87e51aa4d3 100644 --- a/docs/gst/tmpl/gstaudiosink.sgml +++ b/docs/gst/tmpl/gstaudiosink.sgml @@ -14,3 +14,32 @@ Output to a sound card via OSS. + + +The buffer is sent to the sound card. + + +@gstaudiosink: the object which received the signal. + +@arg1: the audiosink. + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/gst/tmpl/gstaudiosrc.sgml b/docs/gst/tmpl/gstaudiosrc.sgml index 68dabaab9b..721a58f3e7 100644 --- a/docs/gst/tmpl/gstaudiosrc.sgml +++ b/docs/gst/tmpl/gstaudiosrc.sgml @@ -14,3 +14,28 @@ Create buffers from an OSS sound card. + + +The number of bytes per read. + + + + +Get the current number of bytes read. + + + + +The audio format as defined in soundcard.h + + + + +The number of channels (mono, stereo, ...) + + + + +The frequency. + + diff --git a/docs/gst/tmpl/gstbin.sgml b/docs/gst/tmpl/gstbin.sgml index 5375c597c4..98f827e650 100644 --- a/docs/gst/tmpl/gstbin.sgml +++ b/docs/gst/tmpl/gstbin.sgml @@ -121,3 +121,12 @@ Flags for a bin @bin: + + +is signaled whenever a new GstElement is added to the GstBin + + + +@gstbin: the object which received the signal. +@arg1: the element that was added + diff --git a/docs/gst/tmpl/gstcaps.sgml b/docs/gst/tmpl/gstcaps.sgml index 6c53861409..2394e02bbf 100644 --- a/docs/gst/tmpl/gstcaps.sgml +++ b/docs/gst/tmpl/gstcaps.sgml @@ -78,6 +78,60 @@ a mime-type and a set of properties. @count: + + + + + +@caps: +@Returns: + + + + + + + +@caps: +@mime: + + + + + + + +@caps: +@typeid: + + + + + + + +@caps: +@Returns: + + + + + + + +@caps: +@Returns: + + + + + + + +@caps: +@name: + + diff --git a/docs/gst/tmpl/gstdisksrc.sgml b/docs/gst/tmpl/gstdisksrc.sgml index d8516af222..67c4fd6366 100644 --- a/docs/gst/tmpl/gstdisksrc.sgml +++ b/docs/gst/tmpl/gstdisksrc.sgml @@ -33,3 +33,23 @@ with seeking capabilities use a GstAsynDiskSrc instead. @GST_DISKSRC_OPEN: @GST_DISKSRC_FLAG_LAST: + + +Specify the location of the file to read. + + + + +Specify how many bytes to read at a time. + + + + +Get the current offset in the file. + + + + + + + diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml index e5607c86cf..3f251ebe29 100644 --- a/docs/gst/tmpl/gstelement.sgml +++ b/docs/gst/tmpl/gstelement.sgml @@ -319,6 +319,17 @@ circumstances. @destpadname: + + + + + +@src: +@srcpadname: +@dest: +@destpadname: + + @@ -501,3 +512,44 @@ circumstances. @Returns: + + +Is trigered whenever the state of an element changes + + +@gstelement: the object which received the signal. +@arg1: the new state of the object + + + +Is trigered whenever a new pad is added to an element + + +@gstelement: the object which received the signal. +@arg1: the new pad that was added + + + + +Is trigered whenever a new ghost pad is added to an element + + +@gstelement: the object which received the signal. +@arg1: the new ghost pad that was added + + + +Is trigered whenever an error occured + + + +@gstelement: the object which received the signal. +@arg1: the error message + + + + + + +@gstelement: the object which received the signal. + diff --git a/docs/gst/tmpl/gstfakesink.sgml b/docs/gst/tmpl/gstfakesink.sgml index 361a67d1a7..9d405d62f4 100644 --- a/docs/gst/tmpl/gstfakesink.sgml +++ b/docs/gst/tmpl/gstfakesink.sgml @@ -16,3 +16,15 @@ with the buffer. (fakesink) + + + + + +@gstfakesink: the object which received the signal. + + + + + + diff --git a/docs/gst/tmpl/gstfakesrc.sgml b/docs/gst/tmpl/gstfakesrc.sgml index dfc2d57101..490bd541cd 100644 --- a/docs/gst/tmpl/gstfakesrc.sgml +++ b/docs/gst/tmpl/gstfakesrc.sgml @@ -14,3 +14,35 @@ The GstFakeSrc generates empty buffers. (fakesrc) + + + + + +@gstfakesrc: the object which received the signal. + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/gst/tmpl/gstfdsink.sgml b/docs/gst/tmpl/gstfdsink.sgml index ec3e297b20..a9f7327643 100644 --- a/docs/gst/tmpl/gstfdsink.sgml +++ b/docs/gst/tmpl/gstfdsink.sgml @@ -14,3 +14,8 @@ Write data to a file descriptor. + + +The filedescriptor to write to. + + diff --git a/docs/gst/tmpl/gstfdsrc.sgml b/docs/gst/tmpl/gstfdsrc.sgml index dd2c183b71..882a451986 100644 --- a/docs/gst/tmpl/gstfdsrc.sgml +++ b/docs/gst/tmpl/gstfdsrc.sgml @@ -14,3 +14,18 @@ Read buffers from a file descriptor. + + +The filedescriptor to read from. Pass the argument as a char* (???) + + + + +The number of bytes per read. + + + + +Get the current offset in the file. + + diff --git a/docs/gst/tmpl/gsthttpsrc.sgml b/docs/gst/tmpl/gsthttpsrc.sgml index 2ba4a00e8d..f1c74b859a 100644 --- a/docs/gst/tmpl/gsthttpsrc.sgml +++ b/docs/gst/tmpl/gsthttpsrc.sgml @@ -14,3 +14,14 @@ Reads data from a URL. + + +Specify the location of the file. The location must be a fully qualified URL. + + + + +Specify how many bytes to read at a time. + + + diff --git a/docs/gst/tmpl/gstidentity.sgml b/docs/gst/tmpl/gstidentity.sgml index e5a1a65bde..0ec323dfd4 100644 --- a/docs/gst/tmpl/gstidentity.sgml +++ b/docs/gst/tmpl/gstidentity.sgml @@ -14,3 +14,8 @@ Pass data without modification. + + + + + diff --git a/docs/gst/tmpl/gstobject.sgml b/docs/gst/tmpl/gstobject.sgml index ee6cdd88ad..27f67cfa4e 100644 --- a/docs/gst/tmpl/gstobject.sgml +++ b/docs/gst/tmpl/gstobject.sgml @@ -174,3 +174,11 @@ This macro releases a lock on the object. @Returns: + + + + + +@gstobject: the object which received the signal. +@arg1: the new parent + diff --git a/docs/gst/tmpl/gstpad.sgml b/docs/gst/tmpl/gstpad.sgml index 03b0829f45..c8d7b6cc79 100644 --- a/docs/gst/tmpl/gstpad.sgml +++ b/docs/gst/tmpl/gstpad.sgml @@ -382,13 +382,14 @@ Destroy the pad @size: - + -@pad: -@qos_message: +@nextpad: +@Varargs: +@Returns: @@ -400,6 +401,24 @@ Destroy the pad @Returns: + + + + + +@pad: +@Returns: + + + + + + + +@pad: +@qos_message: + + @@ -537,3 +556,8 @@ Indicates when this pad will become available @Returns: + + +Indicates this pad is active + + diff --git a/docs/gst/tmpl/gstpipefilter.sgml b/docs/gst/tmpl/gstpipefilter.sgml index 968c3132aa..55f1469e74 100644 --- a/docs/gst/tmpl/gstpipefilter.sgml +++ b/docs/gst/tmpl/gstpipefilter.sgml @@ -15,3 +15,8 @@ buffers from its output. + + +Sets the command to be executed. + + diff --git a/docs/gst/tmpl/gstplugin.sgml b/docs/gst/tmpl/gstplugin.sgml index 0818ade2e8..802959e05a 100644 --- a/docs/gst/tmpl/gstplugin.sgml +++ b/docs/gst/tmpl/gstplugin.sgml @@ -54,6 +54,33 @@ by the loader at statup. @Returns: + + + + + +@plugin: +@name: + + + + + + + +@plugin: +@Returns: + + + + + + + +@plugin: +@Returns: + + @@ -63,6 +90,24 @@ by the loader at statup. @longname: + + + + + +@plugin: +@Returns: + + + + + + + +@plugin: +@Returns: + + @@ -132,6 +177,24 @@ by the loader at statup. @Returns: + + + + + +@plugin: +@Returns: + + + + + + + +@plugin: +@Returns: + + diff --git a/docs/gst/tmpl/gstqueue.sgml b/docs/gst/tmpl/gstqueue.sgml index 0363d626a7..e3ae1dfdaa 100644 --- a/docs/gst/tmpl/gstqueue.sgml +++ b/docs/gst/tmpl/gstqueue.sgml @@ -21,3 +21,19 @@ The default queue length is set to 10. + + +Get the number of buffers in the queue. + + + + +Specify the maximum number of buffers in the queue before the queue +blocks. + + + + + + + diff --git a/docs/gst/tmpl/gstreamer-unused.sgml b/docs/gst/tmpl/gstreamer-unused.sgml index 7792b6e986..c7336384bf 100644 --- a/docs/gst/tmpl/gstreamer-unused.sgml +++ b/docs/gst/tmpl/gstreamer-unused.sgml @@ -1,41 +1,44 @@ - + -@pad: -@buf: +@obj: - - -Query the element for the current mime type - - - - - - - - -@Returns: - - + - + - + +@format: +@args...: + + + + + + +@id: +@sink: + + + + + + +@src: @@ -44,232 +47,20 @@ Query the element for the current mime type @Returns: - + @obj: - - - - - -@meta: - - + @obj: - - - - - - - - - - - -@pad: -@buf: - - - -This macro usets the given flags. - - -@src: -@flag: Flag to set, must be a single bit in guint32. -@obj: GstSrc to unset flag in. - - - - -Is trigered whenever a new ghost pad is added to an element - - -@gstelement: the object which received the signal. -@arg1: the new ghost pad that was added - - - -The frequency. - - - - - -Specify the location of the file. The location must be a fully qualified URL. - - - - - - - - -@pad: -@buf: - - - - - - -@pad: -@buf: - - - - - - -@Returns: - - - - - - -@klass: - - - - - - -@elementfactory: -@id: - - - - - - -@obj: - - - - - - - - - - - - -@obj: - - - -The number of channels. - - - - - - - - - - -GstEsdSink - - - - -Use this macro to show debugging info. This is only usefull when developing new -plugin elements. -If you #define DEBUG_ENABLED before including gst/gst.h, this macro will produce -g_print messages. - - -@format: the format specification as in g_print -@args...: arguments - - - - - - - - - - - - -@type: -@parent: -@Returns: - - - -Is trigered whenever the state of an element changes - - -@gstelement: the object which received the signal. -@arg1: the new state of the object - - - - - - - - - - - - - - - - - - -@src: - - - - - - -@obj: - - - - - - - - - - - - -@obj: - - - - - - - - - - - - -@esdsink: -@format: - An eos signal is triggered whenever the GstSrc has reached the end of @@ -280,61 +71,53 @@ the stream. @gstsrc: the object which received the signal. @arg1: the object which received the signal - - - - - - - - - - - -@obj: - - - - - - - - + +@name: @Returns: - + + + + + + + @obj: - - -Specify how many bytes to read at a time. - - - - - + -@Returns: - + + + + + + + + + + + + + @obj: - + @@ -349,68 +132,49 @@ Specify how many bytes to read at a time. @name: @Returns: - - - - - -@pad: -@Returns: - - -GstSrc - - - - - - - - - + @obj: - + - + +@format: +@args...: - + @obj: - + + + + + +@obj: + + - - + - - -@name: -@Returns: - - - - - @@ -420,227 +184,97 @@ GstSrc @klass: - - - - - - - + @klass: - + @obj: - - - - - -@arg: - - - - - - -@obj: - - + - -GstConnection - - - - -Specify how many bytes to read at a time. - - - - - - - - - - - - - - -@obj: - - - -The frequency. - - - - - -Specify how many bytes to read at a time. - - - - - - - - - - - - - - - - - - - - -@name: -@Returns: - - - - - - - - - - - - - - - - + @Returns: - - -The volume as a double 0.0 is silent, 1.0 is loudest. - - - - + - - - - - -@connection: - - - -subclass use this to start their flag enumeration - - - - -GstElement - - - + @obj: - + -@id: @Returns: - - - - - -@buf: - - - - - - -@audiosink: -@channels: - - -Generic connection between elements. - - - + - + + + + + +@klass: + + + + + + +@Returns: + + + +Use this macro to show debugging info. This is only usefull when developing new +plugin elements. +If you #define DEBUG_ENABLED before including gst/gst.h, this macro will produce +g_print messages. + + +@format: the format specification as in g_print +@args...: arguments + + - + - - - - - -@obj: - - - - - - -@element: -@format: -@args...: - - - - - - -@obj: - - + @@ -655,19 +289,167 @@ or a video card. - + -@esdsink: -@channels: +@name: +@Returns: - + +@Returns: + + + + + + + + + + + + + + + + + + +@name: +@Returns: + + + + + + + + + + + + +@obj: + + + + + + +@connection: + + + +This macro checks to see if the GST_SRC_ASYNC flag is set. + + +@obj: GstSrc to check for flag in. + + + + + + + + + + + + + + + + + + +@klass: + + + + + + +@arg: + + +GstEsdSink + + + + + + + + + + + + + +@obj: + + + + + + + + + + + + +@name: +@Returns: + + + +A connection is a bas class for a generic connection between +elements. A connection is typically a bas class for queues. + + + + + + + + + +@Returns: + + + + + + + + + + + + + + + + + + +@pad: +@buf: + + + + + + +@id: +@src: @@ -676,107 +458,101 @@ or a video card. @Returns: - + -@obj: +@pad: +@buf: - - - - - - - - - - - -@obj: - - - - - - - - - - - - - - - -Query whether this object has multiple input pads. - - - -@obj: Element to query for multiple input pads. - - - - - - -@name: -@fd: -@Returns: - - + +@cat: @format: @args...: - + + + + + +@id: +@Returns: + + - + - + - + + + + + +@klass: + + + + + + +@klass: + + + + + + + + @obj: - + + + + + +@obj: + + - + +@obj: - - - - + +GstColorSpace - + @@ -789,252 +565,37 @@ Query whether this object has multiple input pads. @obj: - - - - - -@pad: -@pull: - - - - - - -@Returns: - - + @obj: - + - - - - - - - - - - - -@src: - - - -The signal to indicate the mime type was detected. - - -@gsttypefind: the object which received the signal. -@arg1: The mime type that was detected - - - - - - - - - - - - - - - -Get the current offset in the file. - - - - - - - - -@format: -@args...: - - - - - - - - - - - - -@obj: - - + +@id: @Returns: - - -Specify the current offset in the file. - + +Take data in and spit data out - - - - - -@name: -@Returns: - - - - - - -@klass: - - - - - - -@obj: - - - - - - - - - - - - - - - - - - -@klass: - - - - - - - - - - - - -@name: -@Returns: - - - - - - -@klass: - - - - - - -@Returns: - - - - - - -@obj: - - - - - - - - - - - - - - - - - - -@klass: - - - - - - - - - - - - - - - - -@Returns: - - - - - - - - - - - - - - - - - - -@obj: - - - -Is trigered whenever a new pad is added to an element - - -@gstelement: the object which received the signal. -@arg1: the new pad that was added - Filters take data in and spit data out. They are the main Element in a filter graph. @@ -1044,27 +605,326 @@ on its own. - + + + + + +@name: +@Returns: + + + + + + +@name: +@Returns: + + + + + + + + + + + + +@name: +@Returns: + + + + + + +@format: +@args...: + + @obj: - + @obj: - + + + + + +@src: + + + + + + +@name: +@Returns: + + + + + + + + @obj: + +GstGetbits + + + + + + + +@klass: + + + + + + +@element: +@format: +@args...: + + + + + + +@obj: + + + + + + +@src: +@offset: +@size: + + + + + + +@src: + + + + + + +@klass: + + + + + + +@obj: + + + + + + +@name: +@Returns: + + + + + + +@name: +@Returns: + + + + + + +@klass: + + + +A GstSrc is the start of a filter graph. It typically is a file or an +audio source. It provides data for the next element in the graph. + + + + + + + + + +@pad: +@buf: + + + + + + +@obj: + + + + + + +@esdsink: +@channels: + + + + + + +@klass: + + + + + + +@klass: + + + + + + + + +GstSrc + + + + + + + +@obj: + + + + + + +@obj: + + + + + + +@Returns: + + + + + + +@obj: + + + + + + +@Returns: + + + +The frequency. + + + + + + + + + + + + + + + + + + + + +@obj: + + + +This macro unsets the given state on the element. + + +@obj: Element to unset state of. +@flag: State to unset, can be any number of bits in guint32. + + + + + + + + + +This macro returns the entire set of flags for the object. + + +@obj: GstSrc to return flags for. + + + + + + +@Returns: + + + + + + + + + + + + +@klass: + + +The start point of a filter graph + + @@ -1072,42 +932,134 @@ on its own. @klass: - - - - - - - - - - - - - - - - - - - - - - - + @obj: - + + + + + + + + + + + +@obj: + + + + + + + + + + + + +@parent: +@Returns: + + + + + + + + + + + + + + + + +@format: +@args...: + + + + + + +@klass: + + + + + + +@klass: + + + + + + +@obj: + + + + + + +@Returns: + + + + + + + + + + + + +@obj: + + +GstConnection + + + + + + + + + + + + + + + + + + + + + + +This macro sets the given state on the element. + + +@obj: Element to set state of. +@flag: State to set, can be any number of bits in guint32. + + -@pad: -@caps: @@ -1116,20 +1068,104 @@ on its own. @klass: - + + + + + +@GST_CAPS_ALWAYS: +@GST_CAPS_MAYBE: + + @obj: - + +Generic connection between elements. + + + - + + + + + + + + + + + +@esdsink: + + + + + + +@obj: + + + + + + +@obj: + + + + + + +@obj: + + + + + + + + + + + + +@obj: + + + + + + +@obj: + + +plugin + + + + + + + + + + + + + +@pad: +@buf: + + @@ -1143,39 +1179,363 @@ on its own. @name: @Returns: - + @obj: - + -@name: +@obj: + + + + + + + + + + + + + + + +This macro usets the given flags. + + +@src: +@flag: Flag to set, must be a single bit in guint32. +@obj: GstSrc to unset flag in. + + + + + + +@audiosink: + + + + + + +@obj: + + + + + + +@pad: @Returns: - - - - - - - + @obj: - + +@obj: + + + +A flag indicating that SSE instructions are supported. + + + + + + + + +@pad: +@id: + + + + + + + + + + + + +@obj: + + + + + + + + + + + + + + + + + + +The end point of a filter graph + + + + + + + +@Returns: + + + + + + +@klass: + + + + + + + + + + + + +@obj: + + + + + + +@Returns: + + + + + + +@obj: + + + + + + +@Returns: + + + + + + +@pad: +@caps: + + + + + + +@obj: + + + +This macro checks to see if the given state is set. + + +@obj: Element to check for state. +@flag: State to check for, must be a single bit in guint32. + + + + + + +@type: +@parent: +@Returns: + + + + + + +@obj: + + + + + + +@Returns: + + + + + + +@obj: + + + + + + + + + + + + +@obj: + + + + + + +@Returns: + + + +This macro sets the given flags. + + +@src: +@flag: Flag to set, can by any number of bits in guint32. +@obj: GstSrc to set flag in. + + + +Query a GstSrc for the ASYNC flag + + +@obj: The GstSrc to query + + + + + + + + + + + +@argc: +@argv: +@Returns: + + + + + + + + + + + + + + + + + + + + +GstSink + + + + + + + +@sinkid: +@srcid: +@Returns: + + + + + + + + + + + + + + + + + + +@Returns: + + + + + + + + + + + + +@connection: + + + + + + + + + + + + + + + + + + +@obj: + + + + + + +@buf: @@ -1183,7 +1543,52 @@ on its own. - + + +Query the element for the current mime type + + + + + + + + + + + + + + + + + + +@Returns: + + + + + + +@element: +@state: +@Returns: + + + + + + +@klass: + + + + + + + + @@ -1196,63 +1601,37 @@ on its own. @klass: - + - + -@obj: +@GST_PROPS_END_ID_NUM: +@GST_PROPS_LIST_ID_NUM: +@GST_PROPS_INT_ID_NUM: +@GST_PROPS_INT_RANGE_ID_NUM: +@GST_PROPS_FOURCC_ID_NUM: +@GST_PROPS_BOOL_ID_NUM: - - - - - -@src: - - - - - - -@id: -@sink: - - - - - - -@obj: - - + - + -This macro returns the entire set of flags for the object. - - -@obj: GstSrc to return flags for. - - -GstGetbits - - - - -The filedescriptor to write to. + +@esdsink: +@frequency: @@ -1260,14 +1639,43 @@ Get the size of the current file. - + + +subclass use this to start their flag enumeration + + + + -@klass: +@element: +@object: +@format: +@args...: - + + +Flags for the GstSrc element + + +@GST_SRC_ASYNC: Indicates that this src is asynchronous +@GST_SRC_FLAG_LAST: subclasses can use this to number their flags + + + + + + + + + + + + + + @@ -1275,16 +1683,52 @@ Get the size of the current file. @name: @Returns: - -The start point of a filter graph - - - + + + + + +@audiosink: +@channels: + + + + + + + + + + + + +@thread: + + + + + + +@obj: + + + + + + + + + + + + +@obj: + + -@src: @@ -1293,23 +1737,92 @@ The start point of a filter graph @obj: - + + + + + +@elementfactory: +@id: + + -@sinkid: -@srcid: @Returns: - + + + + + + + + + + + +@pad: +@Returns: + + + + + + + + + + + + +@pad: +@buf: + + + + + + + + + + + + +@pad: +@buf: + + + + + + +@klass: + + @obj: - + + + + + +@obj: + + + + + + +@klass: + + @@ -1328,221 +1841,6 @@ The start point of a filter graph @src: - - - - - -@obj: - - - - - - -@id: -@Returns: - - - - - - -@esdsink: -@frequency: - - - -The number of bytes per read. - - - - - -The filedescriptor to read from. Pass the argument as a char* (???) - - - - - - - - -@klass: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@Returns: - - - - - - -@obj: - - - - - - -@Returns: - - - - - - -@obj: - - - - - - -@klass: - - - - - - -@obj: - - - -The audio format as defined in soundcard.h - - - - - - - - -@obj: - - - - - - -@klass: - - - - - - - - - - - - -@audiosink: - - - - - - -@elementfactory: -@id: - - - - - - -@obj: - - - -This macro unsets the given state on the element. - - -@obj: Element to unset state of. -@flag: State to unset, can be any number of bits in guint32. - - - - - - -@obj: - - - - - - -@klass: - - - - - - -@pad: -@id: - - - - - - - - - -The fequency. - - - - - - - - -@Returns: - - - -The format ad defined in soundcard.h - - - @@ -1551,13 +1849,7 @@ The format ad defined in soundcard.h @audiosink: @frequency: - - - - - - - + @@ -1570,134 +1862,6 @@ The format ad defined in soundcard.h @elementfactory: - - -The number of bytes per read. - - - - - - - - -@obj: - - - - - -@argc: -@argv: -@Returns: - - - - - - -@obj: - - - -The buffer is sent to the sound card. - - -@gstaudiosink: the object which received the signal. -@arg1: the audiosink. - - - -Specify the location of the file to read. - - - - - - - - -@obj: - - - - - - -@gstelement: the object which received the signal. - - - - - - -@Returns: - - - - - - -@element: -@object: -@format: -@args...: - - - -TRUE if the thread should be created. - - - - - - - - - -@obj: - - - - - - -@obj: - - - - - - - - - - - - -@obj: - - - - - - -@obj: - - - - - - -@pad: -@buf: - - - - - - - @@ -1705,79 +1869,160 @@ TRUE if the thread should be created. @Returns: - + -@klass: +@meta: - - -A connection is a bas class for a generic connection between -elements. A connection is typically a bas class for queues. - - - - - - - - - -@buf: - - - -Query a GstSrc for the ASYNC flag - - -@obj: The GstSrc to query - - - - - - -@obj: - - - -This macro sets the given state on the element. - - -@obj: Element to set state of. -@flag: State to set, can be any number of bits in guint32. - - - - - - -@pad: -@buf: - - - - - - - - + @Returns: - + -@gstfakesink: the object which received the signal. +@Returns: - + + + + + +@obj: + + + + + + +@Returns: + + + + + + +@obj: + + + + + + + + + + + + + + + + + + +@obj: + + + + + + +@obj: + + + + + + +@obj: + + + + + + + + +GstElement + + + + + + + +@obj: + + + + + + + + + + + + + + + + + + + + + + + + +@pad: +@pull: + + + + + + + + + + + + +@esdsink: +@format: + + + +Query whether this object has multiple input pads. + + + +@obj: Element to query for multiple input pads. + + + + + + +@klass: + + + + + + + + @@ -1790,56 +2035,124 @@ This macro sets the given state on the element. @obj: - - - - + - - - - - - + @src: -@offset: -@size: - + -@Returns: +@klass: - - - - - - - + @obj: - + -@format: -@args...: +@obj: - + + + + + +@obj: + + + + + + +@obj: + + + + + + + + + + + + +@name: +@fd: +@Returns: + + +GstFilter + + + + + + + +@elementfactory: +@id: + + + + + + +@buf: + + + + + + +@pad: +@Returns: + + + + + + +@audiosink: +@format: + + + + + + +@klass: + + + + + + +@obj: + + + + + + +@Returns: + + @@ -1856,147 +2169,20 @@ This macro sets the given state on the element. @format: @args...: - - - - - -@klass: - - - - - - -@name: -@Returns: - - - - - - -@klass: - - - - - - - - - - - - -@id: -@src: - - - - - - - - - - - - -@Returns: - - + @obj: - - - - - - - + @obj: - -Take data in and spit data out - - - - -This macro checks to see if the GST_SRC_ASYNC flag is set. - - -@obj: GstSrc to check for flag in. - - - - - - - - - - - - -@klass: - - - - - - - - - -A flag indicating that SSE instructions are supported. - - - - - - - - -@esdsink: - - - - - - -@obj: - - - - - - -@connection: - - - -is signaled whenever a new GstElement is added to the GstBin - - - -@gstbin: the object which received the signal. -@arg1: the element that was added - - - - - - - @@ -2005,523 +2191,12 @@ is signaled whenever a new GstElement is added to the + - - - - - -@Returns: - - - - - - -@obj: - - - - - - - - - - - - -@obj: - - - - - - - - -GstFilter - - - - - - - -@obj: - - - - - - -@obj: - - - - - - -@Returns: - - - - - - -@gstfakesrc: the object which received the signal. - - - - - - -@GST_PROPS_END_ID_NUM: -@GST_PROPS_LIST_ID_NUM: -@GST_PROPS_INT_ID_NUM: -@GST_PROPS_INT_RANGE_ID_NUM: -@GST_PROPS_FOURCC_ID_NUM: -@GST_PROPS_BOOL_ID_NUM: - - - - - - -@pad: -@Returns: - - - - - - -@pad: -@Returns: - - - - - - -@thread: - - - - - - -@GST_CAPS_ALWAYS: -@GST_CAPS_MAYBE: - - - -Get the current offset in the file. - - - - - -Sets the command to be executed. - - - - - - - - - - - -Flags for the GstSrc element - - -@GST_SRC_ASYNC: Indicates that this src is asynchronous -@GST_SRC_FLAG_LAST: subclasses can use this to number their flags - - - -Specify the maximum number of buffers in the queue before the queue -blocks. - - - - - -Get the number of buffers in the queue. - - - - - - - - -@obj: - - -GstColorSpace - - - - - - - - - - - - - -@element: -@state: -@Returns: - - - - - - - - - - - - - - - - - - -@obj: - - - - - - - - - -Specify the location of the file to read. - - - - - - - - -@klass: - - - - - - -@Returns: - - - - - - -@Returns: - - - - - - -@klass: - - - - - - - - - - - - -@klass: - - - - - - - - - - - - -@parent: -@Returns: - - - - - - -@name: -@Returns: - - - - - - - - - - - - -@format: -@args...: - - - - - - -@audiosink: -@format: - - - - - - -@obj: - - -The end point of a filter graph - - - - - - - -@cat: -@format: -@args...: - - - - - - -@obj: - - - - - - -@name: -@Returns: - - - -Get the current number of bytes read. - - - - - -The number of channels (mono, stereo, ...) - - - - - - - - - - - - - - - - -plugin - - - - -This macro checks to see if the given state is set. - - -@obj: Element to check for state. -@flag: State to check for, must be a single bit in guint32. - - - - - - -@gstobject: the object which received the signal. -@arg1: the new parent - - - - - - -@obj: - - - - - - - - - - - - - - - - - - -@name: -@Returns: - - - - - - -@obj: - - - - - - - - - - - - - - - - - - -@obj: - - - -Is trigered whenever an error occured - - - -@gstelement: the object which received the signal. -@arg1: the error message - - - - - - - - - -This macro sets the given flags. - - -@src: -@flag: Flag to set, can by any number of bits in guint32. -@obj: GstSrc to set flag in. - - - - - - -@klass: - - - - - - -@obj: - - - - - - -@klass: - - - - - - - - - -Indicates this pad is active - - - - - - - - -@Returns: - - - - - - -@name: -@Returns: - - - -A GstSrc is the start of a filter graph. It typically is a file or an -audio source. It provides data for the next element in the graph. - - - - - - - - - - - -GstSink - - A flag indicating that MMX instructions are supported. diff --git a/docs/gst/tmpl/gstsinesrc.sgml b/docs/gst/tmpl/gstsinesrc.sgml index 687c03392d..7768424330 100644 --- a/docs/gst/tmpl/gstsinesrc.sgml +++ b/docs/gst/tmpl/gstsinesrc.sgml @@ -14,3 +14,23 @@ Create a sine wave of a given frequency and volume. + + +The volume as a double 0.0 is silent, 1.0 is loudest. + + + + +The format ad defined in soundcard.h + + + + +The number of channels. + + + + +The fequency. + + diff --git a/docs/gst/tmpl/gstthread.sgml b/docs/gst/tmpl/gstthread.sgml index 659af8e5a5..1a0aed88c8 100644 --- a/docs/gst/tmpl/gstthread.sgml +++ b/docs/gst/tmpl/gstthread.sgml @@ -43,3 +43,9 @@ thread flags @Returns: + + +TRUE if the thread should be created. + + + diff --git a/docs/gst/tmpl/gsttypefind.sgml b/docs/gst/tmpl/gsttypefind.sgml index 4fb5972710..ace6c21877 100644 --- a/docs/gst/tmpl/gsttypefind.sgml +++ b/docs/gst/tmpl/gsttypefind.sgml @@ -15,3 +15,16 @@ the detected mime type of the stream. It is used in autoplugging. + + +The signal to indicate the mime type was detected. + + +@gsttypefind: the object which received the signal. +@arg1: The mime type that was detected + + + + + + diff --git a/docs/manual/Makefile.am b/docs/manual/Makefile.am index 2da008035b..4caef094b3 100644 --- a/docs/manual/Makefile.am +++ b/docs/manual/Makefile.am @@ -12,7 +12,6 @@ sgml_files = gstreamer-manual.sgml \ dynamic.sgml \ elements.sgml \ factories.sgml \ - ghostpads.sgml \ goals.sgml \ helloworld.sgml \ helloworld2.sgml \ diff --git a/docs/manual/bins.sgml b/docs/manual/bins.sgml index e9069b326c..eb89b4c475 100644 --- a/docs/manual/bins.sgml +++ b/docs/manual/bins.sgml @@ -41,31 +41,119 @@ - - The application programmer can create custom bins packed with elements to perform a - specific task. This allow you to write an MPEG audio decoder with just the follwing lines - of code: - + + Creating a bin + + You create a bin with a specified name 'mybin' with: + - - // create the mp3player element - GstElement *mp3player = gst_elementfactory_make("mp3player","mp3player"); - // set the source mp3 audio file - gtk_object_set(GTK_OBJECT(mp3player), "location", "helloworld.mp3", NULL); - // tell the mp3player to prepare itself - gst_element_set_state(GST_ELEMENT(mp3player),GST_STATE_READY); - // start playback - gst_element_set_state(GST_ELEMENT(mp3player),GST_STATE_PLAYING); - ... - // pause playback - gst_element_set_state(GST_ELEMENT(mp3player),GST_STATE_PAUSED); - ... - // stop - gst_element_set_state(GST_ELEMENT(mp3player),GST_STATE_NULL); + GstElement *bin; + + gst_bin_new ("mybin"); + ... + + A thread can be created with: + + + GstElement *thread; + + gst_thread_new ("mythread"); + ... + + + Pipelines are created with gst_pipeline_new ("name"); + + - Custom bins can be created with a plugin or an XML description. - + + Adding elements to a bin + + Elements are added to a bin with the following code sample: + + + GstElement *element; + GstElement *bin; + + bin = gst_bin_new ("mybin"); + + element = gst_elementfactory_make ("mpg123", "decoder"); + gst_bin_add (GST_BIN (bin), element); + ... + + + Bins and threads can be added to other bins too. This allows you to create nested + bins. + + + To get an element from the bin you can use: + + + GstElement *element; + + element = gst_bin_get_by_name (GST_BIN (bin), "decoder"); + ... + + + You can see that the name of the element becomes very handy for retrieving the + element from an bin by using the elements name. gst_bin_get_by_name () will + recursively search nested bins. + + + To get a list of elements in a bin, use: + + + GList *elements; + + elements = gst_bin_get_list (GST_BIN (bin)); + + while (elements) { + GstElement *element = GST_ELEMENT (elements->data); + + g_print ("element in bin: %s\n", gst_element_get_name (element)); + + elements = g_list_next (elements); + } + ... + + + To remove an element from a bin use: + + + GstElement *element; + + gst_bin_remove (GST_BIN (bin), element); + ... + + + + + Custom bins + + The application programmer can create custom bins packed with elements to perform a + specific task. This allow you to write an MPEG audio decoder with just the follwing lines + of code: + + + + // create the mp3player element + GstElement *mp3player = gst_elementfactory_make("mp3player","mp3player"); + // set the source mp3 audio file + gtk_object_set(GTK_OBJECT(mp3player), "location", "helloworld.mp3", NULL); + // start playback + gst_element_set_state(GST_ELEMENT(mp3player),GST_STATE_PLAYING); + ... + // pause playback + gst_element_set_state(GST_ELEMENT(mp3player),GST_STATE_PAUSED); + ... + // stop + gst_element_set_state(GST_ELEMENT(mp3player),GST_STATE_NULL); + + + Custom bins can be created with a plugin or an XML description. You will find more + information about creating custom bin in the Filter-Writers-Guide. + + Ghostpads @@ -76,7 +164,8 @@ A ghostpad is a pad from some element in the bin that has been promoted to the bin. This way, the bin also has a pad. The bin becomes just another element with a pad and - you can then use the bin just like any other element. + you can then use the bin just like any other element. This is a very important feature + for creating custom bins.
@@ -87,6 +176,35 @@ Above is a representation of a ghostpad. the sinkpad of element one is now also a pad of the bin. + + Ghostpads can actually be added to all GstElements and not just + GstBins. Use the following code example to add a ghostpad to a bin: + + + GstElement *bin; + GstElement *element; + + element = gst_elementfactory_create ("mpg123", "decoder"); + bin = gst_bin_new ("mybin"); + + gst_bin_add (GST_BIN (bin), element); + + gst_element_add_ghost_pad (bin, gst_element_get_pad (element, "sink")); + + + + In the above example, the bin now also has a pad: the pad called 'sink' of the + given element. We can now, for example, connect the srcpad of a disksrc to the + bin with: + + + GstElement *disksrc; + + disksrc = gst_elementfactory_create ("disksrc", "disk_reader"); + + gst_element_connect (disksrc, "src", bin, "sink"); + ... + diff --git a/docs/manual/connections.sgml b/docs/manual/connections.sgml index 814aaf1065..ca352dc240 100644 --- a/docs/manual/connections.sgml +++ b/docs/manual/connections.sgml @@ -21,4 +21,41 @@ audiocard. We will use this simple graph to construct an mpeg player later in this manual. + + You can connect two pads with: + + + GstPad *srcpad, *sinkpad; + + srcpad = gst_element_get_pad (element1, "src"); + sinpad = gst_element_get_pad (element2, "sink"); + + // connect them + gst_pad_connect (srcpad, sinkpad); + .... + // and disconnect them + gst_pad_disconnect (srcpad, sinkpad); + + + + A convenient shortcut for the above code is done with the gst_element_connect () + function: + + + + // connect them + gst_element_connect (element1, "src", element2, "sink"); + .... + // and disconnect them + gst_element_disconnect (element1, "src", element2, "sink"); + + + + You can query if a pad is connected with GST_PAD_IS_CONNECTED (pad). + + + To query for the GstPad this srcpad is connected to, use + gst_pad_get_peer (srcpad). + + diff --git a/docs/manual/elements.sgml b/docs/manual/elements.sgml index 84f8c8e2f1..0702fc9818 100644 --- a/docs/manual/elements.sgml +++ b/docs/manual/elements.sgml @@ -93,4 +93,53 @@
+ + Creating a GstElement + + GstElements are created from factories. To create an element, one has to get + access the a GstElementFactory using a unique factoryname. + + + The following code example is used to get a factory that can be used to create the + mpg123 element, an mp3 decoder. + + + GstElementFactory *factory; + + factory = gst_elementfactory_find ("mpg123"); + + + Once you have the handle to the elementfactory, you can create a real element with + the following code fragment: + + + GstElement *element; + + element = gst_elementfactory_create (factory, "decoder"); + + + gst_elementfactory_create () will use the elementfactory to create an element with the + given name. The name of the element is something you can use later on to lookup the + element in a bin, for example. + + + A simple shortcut exists for creating an element from a factory. The following example + creates an element, named "decoder" from the elementfactory named "mpg123". This + convenient function is most widly used to create an element. + + + GstElement *element; + + element = gst_elementfactory_make ("mpg123", "decoder"); + + + An element can be destroyed with: + + + GstElement *element; + + ... + gst_element_destroy (element); + + diff --git a/docs/manual/ghostpads.sgml b/docs/manual/ghostpads.sgml deleted file mode 100644 index 276ab416d5..0000000000 --- a/docs/manual/ghostpads.sgml +++ /dev/null @@ -1,6 +0,0 @@ - - Ghostpads - - - - diff --git a/docs/manual/gstreamer-manual.sgml b/docs/manual/gstreamer-manual.sgml index be062eae77..06d9b221bd 100644 --- a/docs/manual/gstreamer-manual.sgml +++ b/docs/manual/gstreamer-manual.sgml @@ -18,7 +18,6 @@ - @@ -98,6 +97,8 @@ &ELEMENTS; + &PLUGINS; + &PADS; &CONNECTIONS; @@ -107,6 +108,7 @@ &BUFFERS; &STATES; + @@ -151,8 +153,6 @@ &DYNAMIC; - &GHOSTPADS; - &TYPEDETECTION; &UTILITY; @@ -173,19 +173,6 @@ &XML; - - - plugin development in <application>GStreamer</application> - - - - In this part we will describe how you can create a new plugin - to be used in GStreamer. - - - - &PLUGINS; - diff --git a/docs/manual/helloworld.sgml b/docs/manual/helloworld.sgml index f4acf28185..f9802e01c6 100644 --- a/docs/manual/helloworld.sgml +++ b/docs/manual/helloworld.sgml @@ -138,7 +138,7 @@ main (int argc, char *argv[]) bin = gst_bin_new ("bin"); - We use the standard constructor for a bin: gst_bin_new (" + We use the standard constructor for a bin: gst_bin_new ("name"). diff --git a/docs/manual/pads.sgml b/docs/manual/pads.sgml index 5a7fbf050d..357bb3f6ec 100644 --- a/docs/manual/pads.sgml +++ b/docs/manual/pads.sgml @@ -9,6 +9,55 @@ The description of this media type is done with capabilities (GstCaps) + + Getting pads from an element + + Once you have created an element, you can get one of its pads with: + + + GstPad *srcpad; + ... + srcpad = gst_element_get_pad (element, "src"); + ... + + + This function will get the pad named "src" from the given element. + + + Alternatively, you can also request a GList of pads from the element. The following + code example will print the names of all the pads of an element. + + + GList *pads; + ... + pads = gst_element_get_pad_list (element); + while (pads) { + GstPad *pad = GST_PAD (pads->data); + + g_print ("pad name %s\n", gst_pad_get_name (pad)); + + pads = g_list_next (pads); + } + ... + + + Usefull pad functions + + You can get the name of a pad with gst_pad_get_name () and set its name with + get_pad_set_name(); + + + gst_pad_get_direction (GstPad *pad) can be used to query if the pad is a sink + or a src pad. Remember a src pad is a pad that can output data and a sink pad is + one that accepts data. + + + You can get the parent of the pad, this is the element that this pad belongs to, + with get_pad_set_parent(GstPad *pad). This function will return a pointer to a + GstObject. + + + Capabilities of a GstPad @@ -136,6 +185,30 @@ Pads: + + Getting the capabilities of a pad + + A pad can have a GList of capabilities attached to it. You can get the capabilities list + with: + + + GList *caps; + ... + caps = gst_pad_get_caps_list (pad); + + g_print ("pad name %s\n", gst_pad_get_name (pad)); + + while (caps) { + GstCaps *cap = (GstCaps *) caps->data; + + g_print (" Capability name %s, MIME type\n", gst_caps_get_name (cap), + gst_caps_get_mime (cap)); + + caps = g_list_next (caps); + } + ... + + diff --git a/docs/manual/plugins.sgml b/docs/manual/plugins.sgml index 00ffa18986..4f7c57cbed 100644 --- a/docs/manual/plugins.sgml +++ b/docs/manual/plugins.sgml @@ -1,6 +1,63 @@ - Plugin development + What are Plugins + A plugin is a shared library that contains at least one of the following items: + + + + one or more elementfactories + + + + + one or more typedefinitions + + + + + The plugins have one simple method: plugin_init () where all the elementfactories are + created and the typedefinitions are registered. + + + the plugins are maintained in the plugin system. Optionally, the typedefinitions and + the elementfactories can be saved into an XML representation so that the plugin system + does not have to load all available plugins in order to know their definition. + + + + The basic plugin structure has the following fields: + + +struct _GstPlugin { + gchar *name; /* name of the plugin */ + gchar *longname; /* long name of plugin */ + gchar *filename; /* filename it came from */ + + GList *types; /* list of types provided */ + gint numtypes; + GList *elements; /* list of elements provided */ + gint numelements; + + gboolean loaded; /* if the plugin is in memory */ +}; + + + + You can query a GList of available plugins with: + + + GList *plugins; + + plugins = gst_plugin_get_list (); + + while (plugins) { + GstPlugin *plugin = (GstPlugin *)plugins->data; + + g_print ("plugin: %s\n", gst_plugin_get_name (plugin)); + + plugins = g_list_next (plugins); + } + diff --git a/docs/manuals.mak b/docs/manuals.mak index 91940a63fb..4bba6ae992 100644 --- a/docs/manuals.mak +++ b/docs/manuals.mak @@ -15,6 +15,7 @@ $(manualname)/$(htmlname): $(sgml_files) $(png_files) else $(manualname)/$(htmlname): $(sgml_files) endif + if HAVE_DB2HTML db2html $(manualname).sgml else diff --git a/gst/elements/gstesdsink.c b/gst/elements/gstesdsink.c deleted file mode 100644 index 887a8641a0..0000000000 --- a/gst/elements/gstesdsink.c +++ /dev/null @@ -1,21 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * - * gstesdsink.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ diff --git a/gst/elements/gstesdsink.h b/gst/elements/gstesdsink.h deleted file mode 100644 index 61f0342e32..0000000000 --- a/gst/elements/gstesdsink.h +++ /dev/null @@ -1,76 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * - * gstesdsink.h: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - - -#ifndef __GST_ESDSINK_H__ -#define __GST_ESDSINK_H__ - - -#include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -#define GST_TYPE_ESDSINK \ - (gst_esdsink_get_type()) -#define GST_ESDSINK(obj) \ - (GTK_CHECK_CAST((obj),GST_TYPE_ESDSINK,GstEsdSink)) -#define GST_ESDSINK_CLASS(klass) \ - (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdSinkClass)) -#define GST_IS_ESDSINK(obj) \ - (GTK_CHECK_TYPE((obj),GST_TYPE_ESDSINK)) -#define GST_IS_ESDSINK_CLASS(obj) \ - (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK)) - -typedef struct _GstEsdSink GstEsdSink; -typedef struct _GstEsdSinkClass GstEsdSinkClass; - -struct _GstEsdSink { - GstFilter filter; - - GstPad *sinkpad; - - /* soundcard state */ - - int fd; - gint format; - gint channels; - gint frequency; -}; - -struct _GstEsdSinkClass { - GstFilterClass parent_class; - - /* signals */ - void (*handoff) (GstElement *element,GstPad *pad); -}; - -GtkType gst_esdsink_get_type(void); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - - -#endif /* __GST_ESDSINK_H__ */ diff --git a/gst/gstbin.c b/gst/gstbin.c index 09199cb0d3..9c8b0e7de9 100644 --- a/gst/gstbin.c +++ b/gst/gstbin.c @@ -145,7 +145,7 @@ gst_bin_init (GstBin *bin) * Returns: new bin */ GstElement* -gst_bin_new (gchar *name) +gst_bin_new (const gchar *name) { return gst_elementfactory_make ("bin", name); } @@ -391,7 +391,7 @@ gst_bin_real_destroy (GtkObject *object) */ GstElement* gst_bin_get_by_name (GstBin *bin, - gchar *name) + const gchar *name) { GList *children; GstElement *child; diff --git a/gst/gstbin.h b/gst/gstbin.h index d5ddad9d08..1c192deb7c 100644 --- a/gst/gstbin.h +++ b/gst/gstbin.h @@ -109,7 +109,7 @@ struct __GstBinChain { GtkType gst_bin_get_type (void); -GstElement* gst_bin_new (gchar *name); +GstElement* gst_bin_new (const gchar *name); #define gst_bin_destroy(bin) gst_object_destroy(GST_OBJECT(bin)) /* add and remove elements from the bin */ @@ -120,7 +120,7 @@ void gst_bin_remove (GstBin *bin, /* retrieve a single element or the list of children */ GstElement* gst_bin_get_by_name (GstBin *bin, - gchar *name); + const gchar *name); GList* gst_bin_get_list (GstBin *bin); void gst_bin_create_plan (GstBin *bin); diff --git a/gst/gstcaps.c b/gst/gstcaps.c index ce79539832..17f5cfee81 100644 --- a/gst/gstcaps.c +++ b/gst/gstcaps.c @@ -35,7 +35,7 @@ _gst_caps_initialize (void) } static guint16 -get_type_for_mime (gchar *mime) +get_type_for_mime (const gchar *mime) { guint16 typeid; @@ -62,7 +62,7 @@ get_type_for_mime (gchar *mime) * Returns: a new capability */ GstCaps* -gst_caps_new (gchar *name, gchar *mime) +gst_caps_new (const gchar *name, const gchar *mime) { GstCaps *caps; @@ -88,7 +88,7 @@ gst_caps_new (gchar *name, gchar *mime) * Returns: a new capability */ GstCaps* -gst_caps_new_with_props (gchar *name, gchar *mime, GstProps *props) +gst_caps_new_with_props (const gchar *name, const gchar *mime, GstProps *props) { GstCaps *caps; @@ -156,6 +156,110 @@ gst_caps_register_count (GstCapsFactory *factory, guint *counter) return caps; } +/** + * gst_caps_get_name: + * @caps: the caps to get the name from + * + * get the name of a GstCaps structure + * + * Returns: The name of the caps + */ +const gchar* +gst_caps_get_name (GstCaps *caps) +{ + g_return_val_if_fail (caps != NULL, NULL); + + return (const gchar *)caps->name; +} + +/** + * gst_caps_set_name: + * @caps: the caps to set the name to + * @name: the name to set + * + * set the name of a caps + */ +void +gst_caps_set_name (GstCaps *caps, const gchar *name) +{ + g_return_if_fail (caps != NULL); + + if (caps->name) + g_free (caps->name); + + caps->name = g_strdup (name); +} + +/** + * gst_caps_get_mime: + * @caps: the caps to get the mime type from + * + * get the mime type of the caps as a string + * + * Returns: The mime type of the caps + */ +const gchar* +gst_caps_get_mime (GstCaps *caps) +{ + GstType *type; + + g_return_val_if_fail (caps != NULL, NULL); + + type = gst_type_find_by_id (caps->id); + + if (type) + return type->mime; + else + return "unknown/unknown"; +} + +/** + * gst_caps_set_mime: + * @caps: the caps to set the mime type to + * @mime: the mime type to attach to the caps + * + * set the mime type of the caps as a string + */ +void +gst_caps_set_mime (GstCaps *caps, const gchar *mime) +{ + g_return_if_fail (caps != NULL); + g_return_if_fail (mime != NULL); + + caps->id = get_type_for_mime (mime); +} + +/** + * gst_caps_get_type_id: + * @caps: the caps to get the type id from + * + * get the type id of the caps + * + * Returns: The type id of the caps + */ +guint16 +gst_caps_get_type_id (GstCaps *caps) +{ + g_return_val_if_fail (caps != NULL, 0); + + return caps->id; +} + +/** + * gst_caps_set_type_id: + * @caps: the caps to set the type id to + * @typeid: the type id to set + * + * set the type id of the caps + */ +void +gst_caps_set_type_id (GstCaps *caps, guint16 typeid) +{ + g_return_if_fail (caps != NULL); + + caps->id = typeid; +} + /** * gst_caps_set_props: * @caps: the caps to attach the properties to diff --git a/gst/gstcaps.h b/gst/gstcaps.h index d4acb0af9c..a9282fe045 100644 --- a/gst/gstcaps.h +++ b/gst/gstcaps.h @@ -42,11 +42,20 @@ struct _GstCaps { /* initialize the subsystem */ void _gst_caps_initialize (void); -GstCaps* gst_caps_new (gchar *name, gchar *mime); -GstCaps* gst_caps_new_with_props (gchar *name, gchar *mime, GstProps *props); +GstCaps* gst_caps_new (const gchar *name, const gchar *mime); +GstCaps* gst_caps_new_with_props (const gchar *name, const gchar *mime, GstProps *props); GstCaps* gst_caps_register (GstCapsFactory *factory); GstCaps* gst_caps_register_count (GstCapsFactory *factory, guint *counter); +const gchar* gst_caps_get_name (GstCaps *caps); +void gst_caps_set_name (GstCaps *caps, const gchar *name); + +const gchar* gst_caps_get_mime (GstCaps *caps); +void gst_caps_set_mime (GstCaps *caps, const gchar *mime); + +guint16 gst_caps_get_type_id (GstCaps *caps); +void gst_caps_set_type_id (GstCaps *caps, guint16 typeid); + GstCaps* gst_caps_set_props (GstCaps *caps, GstProps *props); GstProps* gst_caps_get_props (GstCaps *caps); diff --git a/gst/gstelement.c b/gst/gstelement.c index 8c6f7b52c3..8ece79473b 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -231,7 +231,7 @@ gst_element_remove_ghost_pad (GstElement *element, GstPad *pad) * Returns: requested pad if found, otherwise NULL. */ GstPad* -gst_element_get_pad (GstElement *element, gchar *name) +gst_element_get_pad (GstElement *element, const gchar *name) { GList *walk; @@ -315,8 +315,8 @@ gst_element_get_padtemplate_list (GstElement *element) * parents, the connection fails. */ void -gst_element_connect (GstElement *src, gchar *srcpadname, - GstElement *dest, gchar *destpadname) +gst_element_connect (GstElement *src, const gchar *srcpadname, + GstElement *dest, const gchar *destpadname) { GstPad *srcpad,*destpad; GstObject *srcparent,*destparent; @@ -355,6 +355,44 @@ gst_element_connect (GstElement *src, gchar *srcpadname, gst_pad_connect(srcpad,destpad); } +/** + * gst_element_disconnect: + * @src: element containing source pad + * @srcpadname: name of pad in source element + * @dest: element containing destination pad + * @destpadname: name of pad in destination element + * + * Disconnect the two named pads of the source and destination elements. + */ +void +gst_element_disconnect (GstElement *src, const gchar *srcpadname, + GstElement *dest, const gchar *destpadname) +{ + GstPad *srcpad,*destpad; + + g_return_if_fail (src != NULL); + g_return_if_fail (GST_IS_ELEMENT(src)); + g_return_if_fail (srcpadname != NULL); + g_return_if_fail (dest != NULL); + g_return_if_fail (GST_IS_ELEMENT(dest)); + g_return_if_fail (destpadname != NULL); + + /* obtain the pads requested */ + srcpad = gst_element_get_pad (src, srcpadname); + if (srcpad == NULL) { + GST_ERROR(src,"source element has no pad \"%s\"",srcpadname); + return; + } + destpad = gst_element_get_pad (dest, destpadname); + if (srcpad == NULL) { + GST_ERROR(dest,"destination element has no pad \"%s\"",destpadname); + return; + } + + /* we're satisified they can be disconnected, let's do it */ + gst_pad_disconnect(srcpad,destpad); +} + /** * gst_element_error: * @element: Element with the error @@ -364,7 +402,7 @@ gst_element_connect (GstElement *src, gchar *srcpadname, * condition. It results in the "error" signal. */ void -gst_element_error (GstElement *element, gchar *error) +gst_element_error (GstElement *element, const gchar *error) { g_error("GstElement: error in element '%s': %s\n", element->name, error); @@ -484,7 +522,7 @@ gst_element_change_state (GstElement *element) * one. */ void -gst_element_set_name (GstElement *element, gchar *name) +gst_element_set_name (GstElement *element, const gchar *name) { g_return_if_fail (element != NULL); g_return_if_fail (GST_IS_ELEMENT (element)); diff --git a/gst/gstelement.h b/gst/gstelement.h index eff5846717..01f79b1db1 100644 --- a/gst/gstelement.h +++ b/gst/gstelement.h @@ -183,21 +183,23 @@ GstElement* gst_element_new (void); void gst_element_set_loop_function (GstElement *element, GstElementLoopFunction loop); -void gst_element_set_name (GstElement *element, gchar *name); +void gst_element_set_name (GstElement *element, const gchar *name); const gchar* gst_element_get_name (GstElement *element); void gst_element_set_manager (GstElement *element, GstElement *manager); GstElement* gst_element_get_manager (GstElement *element); void gst_element_add_pad (GstElement *element, GstPad *pad); -GstPad* gst_element_get_pad (GstElement *element, gchar *name); +GstPad* gst_element_get_pad (GstElement *element, const gchar *name); GList* gst_element_get_pad_list (GstElement *element); GList* gst_element_get_padtemplate_list (GstElement *element); void gst_element_add_ghost_pad (GstElement *element, GstPad *pad); void gst_element_remove_ghost_pad (GstElement *element, GstPad *pad); -void gst_element_connect (GstElement *src, gchar *srcpadname, - GstElement *dest, gchar *destpadname); +void gst_element_connect (GstElement *src, const gchar *srcpadname, + GstElement *dest, const gchar *destpadname); +void gst_element_disconnect (GstElement *src, const gchar *srcpadname, + GstElement *dest, const gchar *destpadname); void gst_element_signal_eos (GstElement *element); @@ -205,7 +207,7 @@ void gst_element_signal_eos (GstElement *element); /* called by the app to set the state of the element */ gint gst_element_set_state (GstElement *element, GstElementState state); -void gst_element_error (GstElement *element, gchar *error); +void gst_element_error (GstElement *element, const gchar *error); GstElementFactory* gst_element_get_factory (GstElement *element); @@ -219,14 +221,14 @@ GstElement* gst_element_load_thyself (xmlNodePtr parent, GHashTable *elements); * factories stuff * **/ -GstElementFactory* gst_elementfactory_new (gchar *name,GtkType type, +GstElementFactory* gst_elementfactory_new (const gchar *name,GtkType type, GstElementDetails *details); void gst_elementfactory_destroy (GstElementFactory *elementfactory); void gst_elementfactory_add_padtemplate (GstElementFactory *elementfactory, GstPadTemplate *temp); -GstElementFactory* gst_elementfactory_find (gchar *name); +GstElementFactory* gst_elementfactory_find (const gchar *name); GList* gst_elementfactory_get_list (void); gboolean gst_elementfactory_can_src_caps (GstElementFactory *factory, @@ -239,9 +241,9 @@ gboolean gst_elementfactory_can_sink_caps_list (GstElementFactory *factory, GList *caps); GstElement* gst_elementfactory_create (GstElementFactory *factory, - gchar *name); + const gchar *name); /* FIXME this name is wrong, probably so is the one above it */ -GstElement* gst_elementfactory_make (gchar *factoryname, gchar *name); +GstElement* gst_elementfactory_make (const gchar *factoryname, const gchar *name); xmlNodePtr gst_elementfactory_save_thyself (GstElementFactory *factory, xmlNodePtr parent); GstElementFactory* gst_elementfactory_load_thyself (xmlNodePtr parent); diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c index ef949606be..78c8af7399 100644 --- a/gst/gstelementfactory.c +++ b/gst/gstelementfactory.c @@ -61,7 +61,7 @@ gst_elementfactory_destroy (GstElementFactory *elementfactory) * Returns: #GstElementFactory if found, NULL otherwise */ GstElementFactory* -gst_elementfactory_find (gchar *name) +gst_elementfactory_find (const gchar *name) { GList *walk; GstElementFactory *factory; @@ -107,7 +107,7 @@ gst_elementfactory_get_list (void) * Returns: new elementfactory */ GstElementFactory* -gst_elementfactory_new (gchar *name, GtkType type, +gst_elementfactory_new (const gchar *name, GtkType type, GstElementDetails *details) { GstElementFactory *factory = g_new0(GstElementFactory, 1); @@ -138,7 +138,7 @@ gst_elementfactory_new (gchar *name, GtkType type, */ GstElement * gst_elementfactory_create (GstElementFactory *factory, - gchar *name) + const gchar *name) { GstElement *element; GstElementClass *oclass; @@ -184,7 +184,7 @@ gst_elementfactory_create (GstElementFactory *factory, * Returns: new #GstElement */ GstElement* -gst_elementfactory_make (gchar *factoryname, gchar *name) +gst_elementfactory_make (const gchar *factoryname, const gchar *name) { GstElementFactory *factory; GstElement *element; diff --git a/gst/gstplugin.c b/gst/gstplugin.c index 5446b319e2..c0d32c034d 100644 --- a/gst/gstplugin.c +++ b/gst/gstplugin.c @@ -158,7 +158,7 @@ gst_plugin_load_all(void) * Returns: whether the library was loaded or not */ gboolean -gst_library_load (gchar *name) +gst_library_load (const gchar *name) { gboolean res; GList *libraries = _gst_libraries; @@ -173,7 +173,7 @@ gst_library_load (gchar *name) res = gst_plugin_load(name); if (res) { - _gst_libraries = g_list_prepend(_gst_libraries, name); + _gst_libraries = g_list_prepend(_gst_libraries, g_strdup (name)); } return res; @@ -205,7 +205,7 @@ gst_plugin_remove (GstPlugin *plugin) * Returns: whether the plugin was loaded or not */ gboolean -gst_plugin_load (gchar *name) +gst_plugin_load (const gchar *name) { GList *path; gchar *libspath; @@ -244,7 +244,7 @@ gst_plugin_load (gchar *name) * Returns: whether or not the plugin loaded */ gboolean -gst_plugin_load_absolute (gchar *name) +gst_plugin_load_absolute (const gchar *name) { GModule *module; GstPluginInitFunc initfunc; @@ -295,7 +295,7 @@ gst_plugin_load_absolute (gchar *name) * Returns: new plugin */ GstPlugin* -gst_plugin_new (gchar *name) +gst_plugin_new (const gchar *name) { GstPlugin *plugin; @@ -316,6 +316,40 @@ gst_plugin_new (gchar *name) return plugin; } +/** + * gst_plugin_get_name: + * @plugin: plugin to get the name of + * + * Get the short name of the plugin + * + * Returns: the name of the plugin + */ +const gchar* +gst_plugin_get_name (GstPlugin *plugin) +{ + g_return_val_if_fail (plugin != NULL, NULL); + + return plugin->name; +} + +/** + * gst_plugin_set_name: + * @plugin: plugin to set name of + * @name: new name + * + * Sets the name (should be short) of the plugin. + */ +void +gst_plugin_set_name (GstPlugin *plugin, const gchar *name) +{ + g_return_if_fail (plugin != NULL); + + if (plugin->name) + g_free (plugin->name); + + plugin->name = g_strdup (name); +} + /** * gst_plugin_set_longname: * @plugin: plugin to set long name of @@ -324,14 +358,65 @@ gst_plugin_new (gchar *name) * Sets the long name (should be descriptive) of the plugin. */ void -gst_plugin_set_longname (GstPlugin *plugin, gchar *longname) +gst_plugin_set_longname (GstPlugin *plugin, const gchar *longname) { g_return_if_fail(plugin != NULL); - if (plugin->longname) g_free(plugin->longname); + if (plugin->longname) + g_free(plugin->longname); + plugin->longname = g_strdup(longname); } +/** + * gst_plugin_get_longname: + * @plugin: plugin to get long name of + * + * Get the long descriptive name of the plugin + * + * Returns: the long name of the plugin + */ +const gchar* +gst_plugin_get_longname (GstPlugin *plugin) +{ + g_return_val_if_fail (plugin != NULL, NULL); + + return plugin->longname; +} + +/** + * gst_plugin_get_filename: + * @plugin: plugin to get the filename of + * + * get the filename of the plugin + * + * Returns: the filename of the plugin + */ +const gchar* +gst_plugin_get_filename (GstPlugin *plugin) +{ + g_return_val_if_fail (plugin != NULL, NULL); + + return plugin->filename; +} + +/** + * gst_plugin_is_loaded: + * @plugin: plugin to query + * + * queries if the plugin is loaded into memory + * + * Returns: TRUE is loaded, FALSE otherwise + */ +gboolean +gst_plugin_is_loaded (GstPlugin *plugin) +{ + g_return_val_if_fail (plugin != NULL, FALSE); + + return plugin->loaded; +} + + /** * gst_plugin_find: * @name: name of plugin to find @@ -369,7 +454,7 @@ gst_plugin_find (const gchar *name) * Returns: @GstElementFactory if found, NULL if not */ GstElementFactory* -gst_plugin_find_elementfactory (gchar *name) +gst_plugin_find_elementfactory (const gchar *name) { GList *plugins, *factories; GstElementFactory *factory; @@ -400,7 +485,7 @@ gst_plugin_find_elementfactory (gchar *name) * Returns: @GstElementFactory if loaded, NULL if not */ GstElementFactory* -gst_plugin_load_elementfactory (gchar *name) +gst_plugin_load_elementfactory (const gchar *name) { GList *plugins, *factories; GstElementFactory *factory = NULL; @@ -447,7 +532,7 @@ gst_plugin_load_elementfactory (gchar *name) * Load a registered typefactory by mime type. */ void -gst_plugin_load_typefactory (gchar *mime) +gst_plugin_load_typefactory (const gchar *mime) { GList *plugins, *factories; GstTypeFactory *factory; @@ -649,9 +734,34 @@ gst_plugin_load_thyself (xmlNodePtr parent) } +/** + * gst_plugin_get_factory_list: + * @plugin: the plugin to get the factories from + * + * get a list of all the factories that this plugin provides + * + * Returns: a GList of factories + */ GList* gst_plugin_get_factory_list (GstPlugin *plugin) { + g_return_val_if_fail (plugin != NULL, NULL); + return plugin->elements; } +/** + * gst_plugin_get_type_list: + * @plugin: the plugin to get the typefactories from + * + * get a list of all the typefactories that this plugin provides + * + * Returns: a GList of factories + */ +GList* +gst_plugin_get_type_list (GstPlugin *plugin) +{ + g_return_val_if_fail (plugin != NULL, NULL); + + return plugin->types; +} diff --git a/gst/gstplugin.h b/gst/gstplugin.h index ea6b0f6959..13438ce1ae 100644 --- a/gst/gstplugin.h +++ b/gst/gstplugin.h @@ -52,25 +52,34 @@ typedef GstPlugin* (*GstPluginInitFunc) (GModule *module); void _gst_plugin_initialize (void); -GstPlugin* gst_plugin_new (gchar *name); -void gst_plugin_set_longname (GstPlugin *plugin, gchar *longname); +GstPlugin* gst_plugin_new (const gchar *name); + +const gchar* gst_plugin_get_name (GstPlugin *plugin); +void gst_plugin_set_name (GstPlugin *plugin, const gchar *name); +const gchar* gst_plugin_get_longname (GstPlugin *plugin); +void gst_plugin_set_longname (GstPlugin *plugin, const gchar *longname); + +const gchar* gst_plugin_get_filename (GstPlugin *plugin); +gboolean gst_plugin_is_loaded (GstPlugin *plugin); + +GList* gst_plugin_get_type_list (GstPlugin *plugin); +GList* gst_plugin_get_factory_list (GstPlugin *plugin); void gst_plugin_load_all (void); -gboolean gst_plugin_load (gchar *name); -gboolean gst_plugin_load_absolute (gchar *name); -gboolean gst_library_load (gchar *name); +gboolean gst_plugin_load (const gchar *name); +gboolean gst_plugin_load_absolute (const gchar *name); +gboolean gst_library_load (const gchar *name); void gst_plugin_add_factory (GstPlugin *plugin, GstElementFactory *factory); void gst_plugin_add_type (GstPlugin *plugin, GstTypeFactory *factory); -GList* gst_plugin_get_factory_list (GstPlugin *plugin); GstPlugin* gst_plugin_find (const gchar *name); GList* gst_plugin_get_list (void); -GstElementFactory* gst_plugin_find_elementfactory (gchar *name); +GstElementFactory* gst_plugin_find_elementfactory (const gchar *name); -GstElementFactory* gst_plugin_load_elementfactory (gchar *name); -void gst_plugin_load_typefactory (gchar *mime); +GstElementFactory* gst_plugin_load_elementfactory (const gchar *name); +void gst_plugin_load_typefactory (const gchar *mime); xmlNodePtr gst_plugin_save_thyself (xmlNodePtr parent); void gst_plugin_load_thyself (xmlNodePtr parent); diff --git a/gst/gsttype.c b/gst/gsttype.c index df2a9d4833..ad6279fb72 100644 --- a/gst/gsttype.c +++ b/gst/gsttype.c @@ -97,7 +97,7 @@ gst_type_register (GstTypeFactory *factory) } static -guint16 gst_type_find_by_mime_func (gchar *mime) +guint16 gst_type_find_by_mime_func (const gchar *mime) { GList *walk; GstType *type; @@ -143,7 +143,7 @@ guint16 gst_type_find_by_mime_func (gchar *mime) * Returns: the type id */ guint16 -gst_type_find_by_mime (gchar *mime) +gst_type_find_by_mime (const gchar *mime) { return gst_type_find_by_mime_func (mime); } @@ -157,7 +157,7 @@ gst_type_find_by_mime (gchar *mime) * Returns: the type id */ guint16 -gst_type_find_by_ext (gchar *ext) +gst_type_find_by_ext (const gchar *ext) { //FIXME g_warning ("gsttype: find_by_ext not implemented"); diff --git a/gst/gsttype.h b/gst/gsttype.h index 571e3c008e..2e2ef0a129 100644 --- a/gst/gsttype.h +++ b/gst/gsttype.h @@ -58,8 +58,8 @@ void _gst_type_initialize (void); guint16 gst_type_register (GstTypeFactory *factory); /* look up a type by mime or extension */ -guint16 gst_type_find_by_mime (gchar *mime); -guint16 gst_type_find_by_ext (gchar *ext); +guint16 gst_type_find_by_mime (const gchar *mime); +guint16 gst_type_find_by_ext (const gchar *ext); /* get GstType by id */ GstType* gst_type_find_by_id (guint16 id); diff --git a/plugins/elements/gstesdsink.c b/plugins/elements/gstesdsink.c deleted file mode 100644 index 887a8641a0..0000000000 --- a/plugins/elements/gstesdsink.c +++ /dev/null @@ -1,21 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * - * gstesdsink.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ diff --git a/plugins/elements/gstesdsink.h b/plugins/elements/gstesdsink.h deleted file mode 100644 index 61f0342e32..0000000000 --- a/plugins/elements/gstesdsink.h +++ /dev/null @@ -1,76 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen - * 2000 Wim Taymans - * - * gstesdsink.h: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - - -#ifndef __GST_ESDSINK_H__ -#define __GST_ESDSINK_H__ - - -#include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -#define GST_TYPE_ESDSINK \ - (gst_esdsink_get_type()) -#define GST_ESDSINK(obj) \ - (GTK_CHECK_CAST((obj),GST_TYPE_ESDSINK,GstEsdSink)) -#define GST_ESDSINK_CLASS(klass) \ - (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdSinkClass)) -#define GST_IS_ESDSINK(obj) \ - (GTK_CHECK_TYPE((obj),GST_TYPE_ESDSINK)) -#define GST_IS_ESDSINK_CLASS(obj) \ - (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK)) - -typedef struct _GstEsdSink GstEsdSink; -typedef struct _GstEsdSinkClass GstEsdSinkClass; - -struct _GstEsdSink { - GstFilter filter; - - GstPad *sinkpad; - - /* soundcard state */ - - int fd; - gint format; - gint channels; - gint frequency; -}; - -struct _GstEsdSinkClass { - GstFilterClass parent_class; - - /* signals */ - void (*handoff) (GstElement *element,GstPad *pad); -}; - -GtkType gst_esdsink_get_type(void); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - - -#endif /* __GST_ESDSINK_H__ */