<screen>
Factory Details:
- Long name: Audio Sink (OSS)
- Class: Sink/Audio
- Description: Output to a sound card via OSS
- Version: 0.3.3.1
- Author(s): Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim.taymans@chello.be>
- Copyright: (C) 1999
+ Rank: secondary (128)
+ Long-name: Audio Sink (OSS)
+ Klass: Sink/Audio
+ Description: Output to a sound card via OSS
+ Author: Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim.taymans@chello.be>
+
+Plugin Details:
+ Name: ossaudio
+ Description: OSS (Open Sound System) support for GStreamer
+ Filename: /home/wim/gst/head/gst-plugins-good/sys/oss/.libs/libgstossaudio.so
+ Version: 1.0.0.1
+ License: LGPL
+ Source module: gst-plugins-good
+ Source release date: 2012-09-25 12:52 (UTC)
+ Binary package: GStreamer Good Plug-ins git
+ Origin URL: Unknown package origin
GObject
- +----GstObject
- +----GstElement
- +----GstOssSink
+ +----GInitiallyUnowned
+ +----GstObject
+ +----GstElement
+ +----GstBaseSink
+ +----GstAudioBaseSink
+ +----GstAudioSink
+ +----GstOssSink
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
- 'osssink_sink':
- MIME type: 'audio/raw':
- format: String: int
- endianness: Integer: 1234
- width: List:
- Integer: 8
- Integer: 16
- depth: List:
- Integer: 8
- Integer: 16
- channels: Integer range: 1 - 2
- law: Integer: 0
- signed: List:
- Boolean: FALSE
- Boolean: TRUE
- rate: Integer range: 1000 - 48000
+ audio/x-raw
+ format: { S16LE, U16LE, S8, U8 }
+ layout: interleaved
+ rate: [ 1, 2147483647 ]
+ channels: 1
+ audio/x-raw
+ format: { S16LE, U16LE, S8, U8 }
+ layout: interleaved
+ rate: [ 1, 2147483647 ]
+ channels: 2
+ channel-mask: 0x0000000000000003
Element Flags:
- GST_ELEMENT_THREADSUGGESTED
+ no flags set
Element Implementation:
- No loopfunc(), must be chain-based or not configured yet
- Has change_state() function: gst_osssink_change_state
- Has custom save_thyself() function: gst_element_save_thyself
- Has custom restore_thyself() function: gst_element_restore_thyself
+ Has change_state() function: gst_audio_base_sink_change_state
Clocking Interaction:
- element requires a clock
- element provides a clock: GstOssClock
+ element is supposed to provide a clock but returned NULL
+
+Element has no indexing capabilities.
+Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Implementation:
- Has chainfunc(): 0x40056fc0
+ Has chainfunc(): gst_base_sink_chain
+ Has custom eventfunc(): gst_base_sink_event
+ Has custom queryfunc(): gst_base_sink_sink_query
+ Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
Pad Template: 'sink'
-Element Arguments:
- name : String (Default "element")
- device : String (Default "/dev/dsp")
- mute : Boolean (Default false)
- format : Integer (Default 16)
- channels : Enum "GstAudiosinkChannels" (default 1)
- (0): Silence
- (1): Mono
- (2): Stereo
- frequency : Integer (Default 11025)
- fragment : Integer (Default 6)
- buffer-size : Integer (Default 4096)
-
-Element Signals:
- "handoff" : void user_function (GstOssSink* object,
- gpointer user_data);
+Element Properties:
+ name : The name of the object
+ flags: readable, writable
+ String. Default: "osssink0"
+ parent : The parent of the object
+ flags: readable, writable
+ Object of type "GstObject"
+ sync : Sync on the clock
+ flags: readable, writable
+ Boolean. Default: true
+ max-lateness : Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)
+ flags: readable, writable
+ Integer64. Range: -1 - 9223372036854775807 Default: -1
+ qos : Generate Quality-of-Service events upstream
+ flags: readable, writable
+ Boolean. Default: false
+ async : Go asynchronously to PAUSED
+ flags: readable, writable
+ Boolean. Default: true
+ ts-offset : Timestamp offset in nanoseconds
+ flags: readable, writable
+ Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0
+ enable-last-sample : Enable the last-sample property
+ flags: readable, writable
+ Boolean. Default: false
+ last-sample : The last sample received in the sink
+ flags: readable
+ Boxed pointer of type "GstSample"
+ blocksize : Size in bytes to pull per buffer (0 = default)
+ flags: readable, writable
+ Unsigned Integer. Range: 0 - 4294967295 Default: 4096
+ render-delay : Additional render delay of the sink in nanoseconds
+ flags: readable, writable
+ Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
+ throttle-time : The time to keep between rendered buffers
+ flags: readable, writable
+ Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
+ buffer-time : Size of audio buffer in microseconds, this is the minimum latency that the sink reports
+ flags: readable, writable
+ Integer64. Range: 1 - 9223372036854775807 Default: 200000
+ latency-time : The minimum amount of data to write in each iteration in microseconds
+ flags: readable, writable
+ Integer64. Range: 1 - 9223372036854775807 Default: 10000
+ provide-clock : Provide a clock to be used as the global pipeline clock
+ flags: readable, writable
+ Boolean. Default: true
+ slave-method : Algorithm to use to match the rate of the masterclock
+ flags: readable, writable
+ Enum "GstAudioBaseSinkSlaveMethod" Default: 1, "skew"
+ (0): resample - GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE
+ (1): skew - GST_AUDIO_BASE_SINK_SLAVE_SKEW
+ (2): none - GST_AUDIO_BASE_SINK_SLAVE_NONE
+ can-activate-pull : Allow pull-based scheduling
+ flags: readable, writable
+ Boolean. Default: false
+ alignment-threshold : Timestamp alignment threshold in nanoseconds
+ flags: readable, writable
+ Unsigned Integer64. Range: 1 - 18446744073709551614 Default: 40000000
+ drift-tolerance : Tolerance for clock drift in microseconds
+ flags: readable, writable
+ Integer64. Range: 1 - 9223372036854775807 Default: 40000
+ discont-wait : Window of time in nanoseconds to wait before creating a discontinuity
+ flags: readable, writable
+ Unsigned Integer64. Range: 0 - 18446744073709551614 Default: 1000000000
+ device : OSS device (usually /dev/dspN)
+ flags: readable, writable
+ String. Default: "/dev/dsp"
</screen>
<para>
<command>gst-inspect vorbisdec</command>. You will see two pads:
a source and a sink pad. Both of these pads are always available,
and both have capabilities attached to them. The sink pad will
- accept vorbis-encoded audio data, with the mime-type
+ accept vorbis-encoded audio data, with the media type
<quote>audio/x-vorbis</quote>. The source pad will be used
to send raw (decoded) audio samples to the next element, with
- a raw audio mime-type (in this case,
+ a raw audio media type (in this case,
<quote>audio/x-raw</quote>). The source pad will also
contain properties for the audio samplerate and the amount of
channels, plus some more that you don't need to worry about
<para>
If you need a new format that has not yet been defined in our <xref
linkend="section-types-definitions"/>, you will want to have some general
- guidelines on mimetype naming, properties and such. A mimetype would
- ideally be one defined by IANA; else, it should be in the form
- type/x-name, where type is the sort of data this mimetype handles (audio,
- video, ...) and name should be something specific for this specific type.
- Audio and video mimetypes should try to support the general audio/video
- properties (see the list), and can use their own properties, too. To get
- an idea of what properties we think are useful, see (again) the list.
+ guidelines on media type naming, properties and such. A media type would
+ ideally be equivalent to the Mime-type defined by IANA; else, it should
+ be in the form type/x-name, where type is the sort of data this media type
+ handles (audio, video, ...) and name should be something specific for
+ this specific type. Audio and video media types should try to support the
+ general audio/video properties (see the list), and can use their own
+ properties, too. To get an idea of what properties we think are useful,
+ see (again) the list.
</para>
<para>
Take your time to find the right set of properties for your type. There
<thead>
<row>
- <entry>Mime Type</entry>
+ <entry>Media Type</entry>
<entry>Description</entry>
<entry>Property</entry>
<entry>Property Type</entry>
<thead>
<row>
- <entry>Mime Type</entry>
+ <entry>Media Type</entry>
<entry>Description</entry>
<entry>Property</entry>
<entry>Property Type</entry>
<entry>1, 2 or 4</entry>
<entry>
Version of the MPEG codec that this stream was encoded with.
- Note that we have different mimetypes for 3ivx, XviD, DivX and
+ Note that we have different media types for 3ivx, XviD, DivX and
"standard" ISO MPEG-4. This is <emphasis>not</emphasis> a good
thing and we're fully aware of this. However, we do not have a
solution yet.
<entry></entry>
<entry>
There are currently no specific properties defined or needed for
- this type. Note that we have different mimetypes for VP-3 and
+ this type. Note that we have different media types for VP-3 and
Theora, which is not necessarily a good idea. This could probably
be improved.
</entry>
<thead>
<row>
- <entry>Mime Type</entry>
+ <entry>Media Type</entry>
<entry>Description</entry>
<entry>Property</entry>
<entry>Property Type</entry>
<thead>
<row>
- <entry>Mime Type</entry>
+ <entry>Media Type</entry>
<entry>Description</entry>
<entry>Property</entry>
<entry>Property Type</entry>
<thead>
<row>
- <entry>Mime Type</entry>
+ <entry>Media Type</entry>
<entry>Description</entry>
<entry>Property</entry>
<entry>Property Type</entry>
The last argument in a template is its type
or list of supported types. In this example, we use 'ANY', which means
that this element will accept all input. In real-life situations, you
- would set a mimetype and optionally a set of properties to make sure
+ would set a media type and optionally a set of properties to make sure
that only supported input will come in. This representation should be
- a string that starts with a mimetype, then a set of comma-separates
+ a string that starts with a media type, then a set of comma-separates
properties with their supported values. In case of an audio filter that
supports raw integer 16-bit audio, mono or stereo at any samplerate, the
correct template would look like this:
{
GstStructure *structure = gst_caps_get_structure (caps, 0);
GstMyFilter *filter = GST_MY_FILTER (GST_OBJECT_PARENT (pad));
- const gchar *mime;
+ const gchar *media;
/* Since we're an audio filter, we want to handle raw audio
* and from that audio type, we need to get the samplerate and
* number of channels. */
- mime = gst_structure_get_name (structure);
- if (strcmp (mime, "audio/x-raw") != 0) {
- GST_WARNING ("Wrong mimetype %s provided, we only support %s",
- mime, "audio/x-raw");
+ media = gst_structure_get_name (structure);
+ if (strcmp (media, "audio/x-raw") != 0) {
+ GST_WARNING ("Wrong media type %s provided, we only support %s",
+ media, "audio/x-raw");
return FALSE;
}
}
--><!-- example-end caps.func b --></programlisting>
<para>
- In here, we check the mimetype of the provided caps. Normally, you don't
+ In here, we check the media type of the provided caps. Normally, you don't
need to do that in your own plugin/element, because the core does that
- for you. We simply use it to show how to retrieve the mimetype from a
+ for you. We simply use it to show how to retrieve the media type from a
provided set of caps. Types are stored in <ulink type="http"
url="../../gstreamer/html/gstreamer-GstStructure.html"><classname>GstStructure
</classname></ulink> internally. A <ulink
{
GstAviMux *mux = GST_AVI_MUX (gst_pad_get_parent (pad));
GstStructure *str = gst_caps_get_structure (caps, 0);
- const gchar *mime = gst_structure_get_name (str);
+ const gchar *media = gst_structure_get_name (str);
if (!strcmp (str, "audio/mpeg")) {
/* get version, make sure it's 1, get layer, make sure it's 1-3,
.B Caps
-MIMETYPE \fI[, PROPERTY[, PROPERTY ...]]]\fR \fI[; CAPS[; CAPS ...]]\fR
+MEDIATYPE \fI[, PROPERTY[, PROPERTY ...]]]\fR \fI[; CAPS[; CAPS ...]]\fR
-Creates a capability with the given mimetype and optionally with given
-properties. The mimetype can be escaped using " or '.
+Creates a capability with the given media type and optionally with given
+properties. The media type can be escaped using " or '.
If you want to chain caps, you can add more caps in the same format afterwards.
.B Properties
.TH GStreamer 1 "May 2003"
.SH "NAME"
-gst\-typefind - print MIME type of file
+gst\-typefind - print Media type of file
.SH "SYNOPSIS"
.B gst\-typefind <file>
.SH "DESCRIPTION"
.PP
\fIgst\-typefind\fP uses the GStreamer type finding system to
determine the relevant GStreamer plugin to parse or decode \fBfile\fP,
-and the corresponding MIME type.
+and the corresponding media type.
.
.SH "OPTIONS"
.l