Merge branch 'master' into 0.11

Conflicts:
	gst-libs/gst/video/convertframe.c
This commit is contained in:
Wim Taymans 2011-05-24 09:47:15 +02:00
commit a87c021237
36 changed files with 500 additions and 288 deletions

View File

@ -189,6 +189,7 @@
<xi:include href="xml/gsttagvorbis.xml" /> <xi:include href="xml/gsttagvorbis.xml" />
<xi:include href="xml/gsttagid3.xml" /> <xi:include href="xml/gsttagid3.xml" />
<xi:include href="xml/gsttagxmp.xml" /> <xi:include href="xml/gsttagxmp.xml" />
<xi:include href="xml/gsttagxmpwriter.xml" />
<xi:include href="xml/gsttagdemux.xml" /> <xi:include href="xml/gsttagdemux.xml" />
<xi:include href="xml/gsttaglanguagecodes.xml" /> <xi:include href="xml/gsttaglanguagecodes.xml" />
</chapter> </chapter>
@ -202,6 +203,7 @@
flags. flags.
</para> </para>
<xi:include href="xml/gstpbutils.xml" /> <xi:include href="xml/gstpbutils.xml" />
<xi:include href="xml/gstpluginsbaseversion.xml" />
<xi:include href="xml/gstpbutilscodecutils.xml" /> <xi:include href="xml/gstpbutilscodecutils.xml" />
<xi:include href="xml/gstpbutilsdescriptions.xml" /> <xi:include href="xml/gstpbutilsdescriptions.xml" />
<xi:include href="xml/gstpbutilsmissingplugins.xml" /> <xi:include href="xml/gstpbutilsmissingplugins.xml" />

View File

@ -3,7 +3,6 @@
<FILE>gstappsrc</FILE> <FILE>gstappsrc</FILE>
<TITLE>appsrc</TITLE> <TITLE>appsrc</TITLE>
<INCLUDE>gst/app/gstappsrc.h</INCLUDE> <INCLUDE>gst/app/gstappsrc.h</INCLUDE>
GstAppSrc
GstAppStreamType GstAppStreamType
gst_app_src_set_caps gst_app_src_set_caps
gst_app_src_get_caps gst_app_src_get_caps
@ -35,7 +34,9 @@ GST_APP_BUFFER_CLASS
GST_IS_APP_BUFFER GST_IS_APP_BUFFER
GST_IS_APP_BUFFER_CLASS GST_IS_APP_BUFFER_CLASS
GST_TYPE_APP_BUFFER GST_TYPE_APP_BUFFER
GST_TYPE_APP_STREAM_TYPE
<SUBSECTION Private> <SUBSECTION Private>
GstAppSrc
GstAppSrcPrivate GstAppSrcPrivate
GstAppBuffer GstAppBuffer
GstAppBufferClass GstAppBufferClass
@ -48,7 +49,6 @@ gst_app_buffer_new
<FILE>gstappsink</FILE> <FILE>gstappsink</FILE>
<TITLE>appsink</TITLE> <TITLE>appsink</TITLE>
<INCLUDE>gst/app/gstappsink.h</INCLUDE> <INCLUDE>gst/app/gstappsink.h</INCLUDE>
GstAppSink
gst_app_sink_set_caps gst_app_sink_set_caps
gst_app_sink_get_caps gst_app_sink_get_caps
gst_app_sink_is_eos gst_app_sink_is_eos
@ -64,6 +64,7 @@ gst_app_sink_pull_buffer_list
GstAppSinkCallbacks GstAppSinkCallbacks
gst_app_sink_set_callbacks gst_app_sink_set_callbacks
<SUBSECTION Standard> <SUBSECTION Standard>
GstAppSink
GstAppSinkPrivate GstAppSinkPrivate
GstAppSinkClass GstAppSinkClass
GST_APP_SINK GST_APP_SINK
@ -859,6 +860,22 @@ gst_netbuffer_get_type
<SECTION> <SECTION>
<FILE>gstriff</FILE> <FILE>gstriff</FILE>
<INCLUDE>gst/riff/riff-media.h</INCLUDE> <INCLUDE>gst/riff/riff-media.h</INCLUDE>
gst_riff_create_audio_caps
gst_riff_create_audio_template_caps
gst_riff_create_iavs_caps
gst_riff_create_iavs_template_caps
gst_riff_create_video_caps
gst_riff_create_video_template_caps
gst_riff_init
gst_riff_parse_chunk
gst_riff_parse_file_header
gst_riff_parse_info
gst_riff_parse_strf_auds
gst_riff_parse_strf_iavs
gst_riff_parse_strf_vids
gst_riff_parse_strh
gst_riff_read_chunk
<SUBSECTION Standard>
GST_RIFF_00 GST_RIFF_00
GST_RIFF_0021 GST_RIFF_0021
GST_RIFF_0031 GST_RIFF_0031
@ -1043,28 +1060,12 @@ GST_RIFF_yuy2
GST_RIFF_yv12 GST_RIFF_yv12
gst_riff_acid gst_riff_acid
gst_riff_create_audio_caps
gst_riff_create_audio_template_caps
gst_riff_create_iavs_caps
gst_riff_create_iavs_template_caps
gst_riff_create_video_caps
gst_riff_create_video_template_caps
gst_riff_dmlh gst_riff_dmlh
gst_riff_index_entry gst_riff_index_entry
gst_riff_init
gst_riff_parse_chunk
gst_riff_parse_file_header
gst_riff_parse_info
gst_riff_parse_strf_auds
gst_riff_parse_strf_iavs
gst_riff_parse_strf_vids
gst_riff_parse_strh
gst_riff_read_chunk
gst_riff_strf_auds gst_riff_strf_auds
gst_riff_strf_iavs gst_riff_strf_iavs
gst_riff_strf_vids gst_riff_strf_vids
gst_riff_strh gst_riff_strh
<SUBSECTION Standard>
</SECTION> </SECTION>
@ -1392,6 +1393,7 @@ gst_rtp_buffer_list_add_extension_twobytes_header
<FILE>gstrtspdefs</FILE> <FILE>gstrtspdefs</FILE>
<INCLUDE>gst/rtsp/gstrtspdefs.h</INCLUDE> <INCLUDE>gst/rtsp/gstrtspdefs.h</INCLUDE>
GST_RTSP_CHECK GST_RTSP_CHECK
GST_RTSP_AUTH_MAX
GstRTSPEvent GstRTSPEvent
GstRTSPResult GstRTSPResult
GstRTSPFamily GstRTSPFamily
@ -1399,7 +1401,6 @@ GstRTSPState
GstRTSPVersion GstRTSPVersion
GstRTSPMethod GstRTSPMethod
GstRTSPAuthMethod GstRTSPAuthMethod
GST_RTSP_AUTH_MAX
GstRTSPHeaderField GstRTSPHeaderField
GstRTSPStatusCode GstRTSPStatusCode
gst_rtsp_strresult gst_rtsp_strresult
@ -1739,6 +1740,7 @@ GST_TAG_CAPTURING_FLASH_FIRED
GST_TAG_CAPTURING_FLASH_MODE GST_TAG_CAPTURING_FLASH_MODE
GST_TAG_CAPTURING_METERING_MODE GST_TAG_CAPTURING_METERING_MODE
GST_TAG_CAPTURING_SOURCE GST_TAG_CAPTURING_SOURCE
GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
GST_TAG_IMAGE_HORIZONTAL_PPI GST_TAG_IMAGE_HORIZONTAL_PPI
GST_TAG_IMAGE_VERTICAL_PPI GST_TAG_IMAGE_VERTICAL_PPI
gst_tag_register_musicbrainz_tags gst_tag_register_musicbrainz_tags
@ -1786,6 +1788,8 @@ gst_tag_list_add_id3_image
<INCLUDE>gst/tag/tag.h</INCLUDE> <INCLUDE>gst/tag/tag.h</INCLUDE>
gst_tag_list_from_xmp_buffer gst_tag_list_from_xmp_buffer
gst_tag_list_to_xmp_buffer gst_tag_list_to_xmp_buffer
gst_tag_list_to_xmp_buffer_full
gst_tag_xmp_list_schemas
<SUBSECTION Standard> <SUBSECTION Standard>
</SECTION> </SECTION>
@ -1820,7 +1824,6 @@ gst_tag_demux_result_get_type
<SECTION> <SECTION>
<FILE>gsttaglanguagecodes</FILE> <FILE>gsttaglanguagecodes</FILE>
<INCLUDE>gst/tag/tag.h</INCLUDE> <INCLUDE>gst/tag/tag.h</INCLUDE>
<SUBSECTION>
gst_tag_get_language_codes gst_tag_get_language_codes
gst_tag_get_language_name gst_tag_get_language_name
gst_tag_get_language_code gst_tag_get_language_code
@ -1829,6 +1832,26 @@ gst_tag_get_language_code_iso_639_2B
gst_tag_get_language_code_iso_639_2T gst_tag_get_language_code_iso_639_2T
</SECTION> </SECTION>
<SECTION>
<FILE>gsttagxmpwriter</FILE>
gst_tag_xmp_writer_add_all_schemas
gst_tag_xmp_writer_add_schema
gst_tag_xmp_writer_has_schema
gst_tag_xmp_writer_remove_schema
gst_tag_xmp_writer_remove_all_schemas
gst_tag_xmp_writer_tag_list_to_xmp_buffer
<SUBSECTION Standard>
GstTagXmpWriter
GstTagXmpWriterInterface
GST_TYPE_TAG_XMP_WRITER
GST_TAG_XMP_WRITER
GST_TAG_XMP_WRITER_INTERFACE
GST_IS_TAG_XMP_WRITER
GST_IS_TAG_XMP_WRITER_INTERFACE
GST_TAG_XMP_WRITER_GET_INTERFACE
gst_tag_xmp_writer_get_type
</SECTION>
# base utils # base utils
<SECTION> <SECTION>
@ -1836,6 +1859,11 @@ gst_tag_get_language_code_iso_639_2T
<INCLUDE>gst/pbutils/pbutils.h</INCLUDE> <INCLUDE>gst/pbutils/pbutils.h</INCLUDE>
<SUBSECTION> <SUBSECTION>
gst_pb_utils_init gst_pb_utils_init
</SECTION>
<SECTION>
<FILE>gstpluginsbaseversion</FILE>
<INCLUDE>gst/pbutils/gstpluginsbaseversion.h</INCLUDE>
<SUBSECTION> <SUBSECTION>
GST_PLUGINS_BASE_VERSION_MAJOR GST_PLUGINS_BASE_VERSION_MAJOR
GST_PLUGINS_BASE_VERSION_MINOR GST_PLUGINS_BASE_VERSION_MINOR
@ -2054,6 +2082,20 @@ GST_VIDEO_CAPS_BGR_16
GST_VIDEO_CAPS_RGB8_PALETTED GST_VIDEO_CAPS_RGB8_PALETTED
GST_VIDEO_CAPS_GRAY8 GST_VIDEO_CAPS_GRAY8
GST_VIDEO_CAPS_GRAY16 GST_VIDEO_CAPS_GRAY16
GST_VIDEO_CAPS_ARGB_64
GST_VIDEO_CAPS_r210
GST_VIDEO_COMP1_MASK_15
GST_VIDEO_COMP1_MASK_15_INT
GST_VIDEO_COMP1_MASK_16
GST_VIDEO_COMP1_MASK_16_INT
GST_VIDEO_COMP2_MASK_15
GST_VIDEO_COMP2_MASK_15_INT
GST_VIDEO_COMP2_MASK_16
GST_VIDEO_COMP2_MASK_16_INT
GST_VIDEO_COMP3_MASK_15
GST_VIDEO_COMP3_MASK_15_INT
GST_VIDEO_COMP3_MASK_16
GST_VIDEO_COMP3_MASK_16_INT
GST_VIDEO_FPS_RANGE GST_VIDEO_FPS_RANGE
GST_VIDEO_GREEN_MASK_15 GST_VIDEO_GREEN_MASK_15
GST_VIDEO_GREEN_MASK_15_INT GST_VIDEO_GREEN_MASK_15_INT
@ -2071,12 +2113,15 @@ GstVideoFormat
gst_video_calculate_display_ratio gst_video_calculate_display_ratio
gst_video_frame_rate gst_video_frame_rate
gst_video_get_size gst_video_get_size
gst_video_get_size_from_caps
gst_video_format_convert gst_video_format_convert
gst_video_format_new_caps gst_video_format_new_caps
gst_video_format_new_caps_interlaced gst_video_format_new_caps_interlaced
gst_video_format_new_template_caps
gst_video_format_get_component_height gst_video_format_get_component_height
gst_video_format_get_component_offset gst_video_format_get_component_offset
gst_video_format_get_component_width gst_video_format_get_component_width
gst_video_format_get_component_depth
gst_video_format_get_pixel_stride gst_video_format_get_pixel_stride
gst_video_format_get_row_stride gst_video_format_get_row_stride
gst_video_format_get_size gst_video_format_get_size

View File

@ -17,22 +17,6 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
/**
* SECTION:element-appsink
*
* Appsink is a sink plugin that supports many different methods for making
* the application get a handle on the GStreamer data in a pipeline. Unlike
* most GStreamer elements, Appsink provides external API functions.
*
* For the documentation of the API, please see the
* <link linkend="gst-plugins-base-libs-appsink">libgstapp</link> section in
* the GStreamer Plugins Base Libraries documentation.
*
* Since: 0.10.22
*/
/** /**
* SECTION:gstappsink * SECTION:gstappsink
* @short_description: Easy way for applications to extract buffers from a * @short_description: Easy way for applications to extract buffers from a

View File

@ -17,21 +17,6 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
/**
* SECTION:element-appsrc
*
* The appsrc element can be used by applications to insert data into a
* GStreamer pipeline. Unlike most GStreamer elements, Appsrc provides
* external API functions.
*
* For the documentation of the API, please see the
* <link linkend="gst-plugins-base-libs-appsrc">libgstapp</link> section in the
* GStreamer Plugins Base Libraries documentation.
*
* Since: 0.10.22
*/
/** /**
* SECTION:gstappsrc * SECTION:gstappsrc
* @short_description: Easy way for applications to inject buffers into a * @short_description: Easy way for applications to inject buffers into a

View File

@ -60,14 +60,13 @@ typedef GstClockTime (*GstAudioClockGetTimeFunc) (GstClock *clock, gpointer user
/** /**
* GstAudioClock: * GstAudioClock:
* @clock: parent #GstSystemClock
* *
* Opaque #GstAudioClock. * Opaque #GstAudioClock.
*/ */
struct _GstAudioClock { struct _GstAudioClock {
GstSystemClock clock; GstSystemClock clock;
/* --- protected --- */ /*< protected >*/
GstAudioClockGetTimeFunc func; GstAudioClockGetTimeFunc func;
gpointer user_data; gpointer user_data;

View File

@ -47,7 +47,6 @@ typedef struct _GstAudioFilterClass GstAudioFilterClass;
/** /**
* GstAudioFilter: * GstAudioFilter:
* @basetransform: Element parent class
* *
* Base class for audio filters with the same format for input and output. * Base class for audio filters with the same format for input and output.
* *

View File

@ -22,11 +22,11 @@
/** /**
* SECTION:gstaudioiec61937 * SECTION:gstaudioiec61937
* @short_description: Utility functions for IEC 61937 payloading * @short_description: Utility functions for IEC 61937 payloading
* @since: 0.10.35
* *
* This module contains some helper functions for encapsulating various * This module contains some helper functions for encapsulating various
* audio formats in IEC 61937 headers and padding. * audio formats in IEC 61937 headers and padding.
* *
* Since: 0.10.35
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@ -60,12 +60,14 @@ caps_get_string_field (const GstCaps * caps, const gchar * field)
} }
/** /**
* gst_audio_iec61937_frame_size * gst_audio_iec61937_frame_size:
* @type: the type of data to be payloaded as a #GstBufferFormatType * @spec: the ringbufer spec
* *
* Returns 0 if the given @type is not supported or cannot be payloaded, else * Calculated the size of the buffer expected by gst_audio_iec61937_payload() for
* returns the size of the buffer expected by gst_audio_iec61937_payload() for * payloading type from @spec.
* payloading @type. *
* Returns: the size or 0 if the given @type is not supported or cannot be
* payloaded.
* *
* Since: 0.10.35 * Since: 0.10.35
*/ */
@ -128,19 +130,19 @@ gst_audio_iec61937_frame_size (const GstRingBufferSpec * spec)
} }
/** /**
* gst_audio_iec61937_payload * gst_audio_iec61937_payload:
* @src: a buffer containing the data to payload * @src: a buffer containing the data to payload
* @src_n: size of @src in bytes * @src_n: size of @src in bytes
* @dst: the destination buffer to store the payloaded contents in. Should not * @dst: the destination buffer to store the payloaded contents in. Should not
* overlap with @src * overlap with @src
* @dst_n: size of @dst in bytes * @dst_n: size of @dst in bytes
* @type: the type of data in @src * @spec: the ringbufer spec for @src
* *
* Payloads @src in the form specified by IEC 61937 for @type and stores * Payloads @src in the form specified by IEC 61937 for the type from @spec and
* the result in @dst. @src must contain exactly one frame of data and the * stores the result in @dst. @src must contain exactly one frame of data and
* frame is not checked for errors. * the frame is not checked for errors.
* *
* Returns: transfer-full: #TRUE if the payloading was successful, #FALSE * Returns: transfer-full: %TRUE if the payloading was successful, %FALSE
* otherwise. * otherwise.
* *
* Since: 0.10.35 * Since: 0.10.35

View File

@ -18,13 +18,6 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
/**
* SECTION:gstaudioiec61937
* @short_description: Utility functions for IEC 61937 payloading
*
* This module contains some helper functions for encapsulating various
* audio formats in IEC 61937 headers and padding.
*/
#ifndef __GST_AUDIO_IEC61937_H__ #ifndef __GST_AUDIO_IEC61937_H__
#define __GST_AUDIO_IEC61937_H__ #define __GST_AUDIO_IEC61937_H__

View File

@ -40,7 +40,6 @@ typedef struct _GstAudioSrcClass GstAudioSrcClass;
/** /**
* GstAudioSrc: * GstAudioSrc:
* @element: parent class
* *
* Base class for simple audio sources. * Base class for simple audio sources.
*/ */

View File

@ -704,6 +704,7 @@ gst_base_audio_sink_setcaps (GstBaseSink * bsink, GstCaps * caps)
GstBaseAudioSink *sink = GST_BASE_AUDIO_SINK (bsink); GstBaseAudioSink *sink = GST_BASE_AUDIO_SINK (bsink);
GstRingBufferSpec *spec; GstRingBufferSpec *spec;
GstClockTime now; GstClockTime now;
GstClockTime crate_num, crate_denom;
if (!sink->ringbuffer) if (!sink->ringbuffer)
return FALSE; return FALSE;
@ -745,6 +746,13 @@ gst_base_audio_sink_setcaps (GstBaseSink * bsink, GstCaps * caps)
gst_ring_buffer_activate (sink->ringbuffer, TRUE); gst_ring_buffer_activate (sink->ringbuffer, TRUE);
} }
/* due to possible changes in the spec file we should recalibrate the clock */
gst_clock_get_calibration (sink->provided_clock, NULL, NULL,
&crate_num, &crate_denom);
gst_clock_set_calibration (sink->provided_clock,
gst_clock_get_internal_time (sink->provided_clock), now, crate_num,
crate_denom);
/* calculate actual latency and buffer times. /* calculate actual latency and buffer times.
* FIXME: In 0.11, store the latency_time internally in ns */ * FIXME: In 0.11, store the latency_time internally in ns */
spec->latency_time = gst_util_uint64_scale (spec->segsize, spec->latency_time = gst_util_uint64_scale (spec->segsize,

View File

@ -116,6 +116,53 @@ typedef enum
GST_BUFTYPE_MPEG4_AAC, GST_BUFTYPE_MPEG4_AAC,
} GstBufferFormatType; } GstBufferFormatType;
/**
* GstBufferFormat:
* @GST_UNKNOWN: unspecified
* @GST_S8: integer signed 8 bit
* @GST_U8: integer unsigned 8 bit
* @GST_S16_LE: integer signed 16 bit little endian
* @GST_S16_BE: integer signed 16 bit big endian
* @GST_U16_LE: integer unsigned 16 bit little endian
* @GST_U16_BE: integer unsigned 16 bit big endian
* @GST_S24_LE: integer signed 24 bit little endian
* @GST_S24_BE: integer signed 24 bit big endian
* @GST_U24_LE: integer unsigned 24 bit little endian
* @GST_U24_BE: integer unsigned 24 bit big endian
* @GST_S32_LE: integer signed 32 bit little endian
* @GST_S32_BE: integer signed 32 bit big endian
* @GST_U32_LE: integer unsigned 32 bit little endian
* @GST_U32_BE: integer unsigned 32 bit big endian
* @GST_S24_3LE: integer signed 24 bit little endian packed in 3 bytes
* @GST_S24_3BE: integer signed 24 bit big endian packed in 3 bytes
* @GST_U24_3LE: integer unsigned 24 bit little endian packed in 3 bytes
* @GST_U24_3BE: integer unsigned 24 bit big endian packed in 3 bytes
* @GST_S20_3LE: integer signed 20 bit little endian packed in 3 bytes
* @GST_S20_3BE: integer signed 20 bit big endian packed in 3 bytes
* @GST_U20_3LE: integer unsigned 20 bit little endian packed in 3 bytes
* @GST_U20_3BE: integer unsigned 20 bit big endian packed in 3 bytes
* @GST_S18_3LE: integer signed 18 bit little endian packed in 3 bytes
* @GST_S18_3BE: integer signed 18 bit big endian packed in 3 bytes
* @GST_U18_3LE: integer unsigned 18 bit little endian packed in 3 bytes
* @GST_U18_3BE: integer unsigned 18 bit big endian packed in 3 bytes
* @GST_FLOAT32_LE: floating 32 bit little endian
* @GST_FLOAT32_BE: floating 32 bit big endian
* @GST_FLOAT64_LE: floating 64 bit little endian
* @GST_FLOAT64_BE: floating 64 bit big endian
* @GST_MU_LAW: mu-law
* @GST_A_LAW: a-law
* @GST_IMA_ADPCM: ima adpcm
* @GST_MPEG: mpeg audio (but not aac)
* @GST_GSM: gsm
* @GST_IEC958: IEC958 frames
* @GST_AC3: ac3
* @GST_EAC3: eac3
* @GST_DTS: dts
* @GST_MPEG2_AAC: mpeg-2 aac
* @GST_MPEG4_AAC: mpeg-4 aac
*
* The detailed format of the samples in the ringbuffer.
*/
typedef enum typedef enum
{ {
GST_UNKNOWN, GST_UNKNOWN,

View File

@ -42,6 +42,9 @@ G_BEGIN_DECLS
* @GST_AUDIO_CHANNEL_POSITION_NONE: used for position-less channels, e.g. * @GST_AUDIO_CHANNEL_POSITION_NONE: used for position-less channels, e.g.
* from a sound card that records 1024 channels; mutually exclusive with * from a sound card that records 1024 channels; mutually exclusive with
* any other channel position * any other channel position
* @GST_AUDIO_CHANNEL_POSITION_INVALID: invalid position
*
* Audio channel positions.
*/ */
typedef enum { typedef enum {
GST_AUDIO_CHANNEL_POSITION_INVALID = -1, GST_AUDIO_CHANNEL_POSITION_INVALID = -1,
@ -74,6 +77,7 @@ typedef enum {
* are defined or all positions are undefined, but can't mix'n'match */ * are defined or all positions are undefined, but can't mix'n'match */
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE,
/*< private >*/
/* don't use - counter */ /* don't use - counter */
GST_AUDIO_CHANNEL_POSITION_NUM GST_AUDIO_CHANNEL_POSITION_NUM
} GstAudioChannelPosition; } GstAudioChannelPosition;

View File

@ -115,6 +115,17 @@ struct _GstCddaBaseSrc {
gpointer _gst_reserved2[GST_PADDING/2]; gpointer _gst_reserved2[GST_PADDING/2];
}; };
/**
* GstCddaBaseSrcClass:
* @pushsrc_class: the parent class
* @open: opening the device
* @close: closing the device
* @read_sector: reading a sector
* @get_default_device: getting the default device
* @probe_devices: probing possible devices
*
* Cdda source base class.
*/
struct _GstCddaBaseSrcClass { struct _GstCddaBaseSrcClass {
GstPushSrcClass pushsrc_class; GstPushSrcClass pushsrc_class;

View File

@ -66,6 +66,17 @@ typedef enum
GST_COLOR_BALANCE_SOFTWARE GST_COLOR_BALANCE_SOFTWARE
} GstColorBalanceType; } GstColorBalanceType;
/**
* GstColorBalanceClass:
* @klass: the parent interface
* @balance_type: implementation type
* @list_channels: list handled channels
* @set_value: set a channel value
* @get_value: get a channel value
* @value_changed: default handler for value changed notification
*
* Color-balance interface.
*/
struct _GstColorBalanceClass { struct _GstColorBalanceClass {
GTypeInterface klass; GTypeInterface klass;
@ -85,6 +96,7 @@ struct _GstColorBalanceClass {
GstColorBalanceChannel *channel, GstColorBalanceChannel *channel,
gint value); gint value);
/*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };

View File

@ -57,7 +57,13 @@ struct _GstColorBalanceChannel {
gint max_value; gint max_value;
}; };
/**
* GstColorBalanceChannelClass:
* @parent: the parent interface
* @value_changed: default handler for value changed notification
*
* Color-balance channel class.
*/
struct _GstColorBalanceChannelClass { struct _GstColorBalanceChannelClass {
GObjectClass parent; GObjectClass parent;
@ -65,6 +71,7 @@ struct _GstColorBalanceChannelClass {
void (* value_changed) (GstColorBalanceChannel *channel, void (* value_changed) (GstColorBalanceChannel *channel,
gint value); gint value);
/*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };

View File

@ -47,6 +47,13 @@ G_BEGIN_DECLS
typedef struct _GstMixer GstMixer; typedef struct _GstMixer GstMixer;
typedef struct _GstMixerClass GstMixerClass; typedef struct _GstMixerClass GstMixerClass;
/**
* GstMixerType:
* @GST_MIXER_HARDWARE: mixing is implemented with dedicated hardware.
* @GST_MIXER_SOFTWARE: mixing is implemented via software processing.
*
* Mixer classification.
*/
typedef enum typedef enum
{ {
GST_MIXER_HARDWARE, GST_MIXER_HARDWARE,

View File

@ -49,22 +49,25 @@ typedef struct _GstMixerOptionsClass GstMixerOptionsClass;
/** /**
* GstMixerOptions: * GstMixerOptions:
* @parent: Parent object
* @values: List of option strings. Do not access this member directly, * @values: List of option strings. Do not access this member directly,
* always use gst_mixer_options_get_values() instead. * always use gst_mixer_options_get_values() instead.
*
* Mixer control object.
*/ */
struct _GstMixerOptions { struct _GstMixerOptions {
GstMixerTrack parent; GstMixerTrack parent;
/*< public >*/
/* list of strings (do not access directly) (FIXME 0.11: make private) */ /* list of strings (do not access directly) (FIXME 0.11: make private) */
GList *values; GList *values;
/*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
/** /**
* GstMixerOptionsClass: * GstMixerOptionsClass:
* @parent: Parent class * @parent: the parent interface
* @get_values: Optional implementation of gst_mixer_options_get_values(). * @get_values: Optional implementation of gst_mixer_options_get_values().
* (Since: 0.10.18) * (Since: 0.10.18)
*/ */

View File

@ -39,12 +39,20 @@ G_BEGIN_DECLS
typedef struct _GstNavigation GstNavigation; typedef struct _GstNavigation GstNavigation;
typedef struct _GstNavigationInterface GstNavigationInterface; typedef struct _GstNavigationInterface GstNavigationInterface;
/**
* GstNavigationInterface:
* @g_iface: the parent interface
* @send_event: sending a navigation event
*
* Color-balance interface.
*/
struct _GstNavigationInterface { struct _GstNavigationInterface {
GTypeInterface g_iface; GTypeInterface g_iface;
/* virtual functions */ /* virtual functions */
void (*send_event) (GstNavigation *navigation, GstStructure *structure); void (*send_event) (GstNavigation *navigation, GstStructure *structure);
/*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
@ -130,6 +138,14 @@ typedef enum {
#define GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU GST_NAVIGATION_COMMAND_MENU7 #define GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU GST_NAVIGATION_COMMAND_MENU7
/* Queries */ /* Queries */
/**
* GstNavigationQueryType:
* @GST_NAVIGATION_QUERY_INVALID: invalid query
* @GST_NAVIGATION_QUERY_COMMANDS: command query
* @GST_NAVIGATION_QUERY_ANGLES: viewing angle query
*
* Tyoes of navigation interface queries.
*/
typedef enum typedef enum
{ {
GST_NAVIGATION_QUERY_INVALID = 0, GST_NAVIGATION_QUERY_INVALID = 0,

View File

@ -45,6 +45,25 @@ G_BEGIN_DECLS
typedef struct _GstTuner GstTuner; typedef struct _GstTuner GstTuner;
typedef struct _GstTunerClass GstTunerClass; typedef struct _GstTunerClass GstTunerClass;
/**
* GstTunerClass:
* @klass: the parent interface
* @list_channels: list available channels
* @set_channel: set to a channel
* @get_channel: return the current channel
* @list_norms: list available norms
* @set_norm: set a norm
* @get_norm: return the current norm
* @set_frequency: set the frequency
* @get_frequency: return the current frequency
* @signal_strength: get the signal strength
* @channel_changed: default handler for channel changed notification
* @norm_changed: default handler for norm changed notification
* @frequency_changed: default handler for frequency changed notification
* @signal_changed: default handler for signal-strength changed notification
*
* Tuner interface.
*/
struct _GstTunerClass { struct _GstTunerClass {
GTypeInterface klass; GTypeInterface klass;
@ -80,6 +99,7 @@ struct _GstTunerClass {
GstTunerChannel *channel, GstTunerChannel *channel,
gint signal); gint signal);
/*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };

View File

@ -333,12 +333,12 @@ gst_x_overlay_base_init (gpointer g_class)
/** /**
* gst_x_overlay_set_xwindow_id: * gst_x_overlay_set_xwindow_id:
* @overlay: a #GstXOverlay to set the XWindow on. * @overlay: a #GstXOverlay to set the window on.
* @xwindow_id: a #XID referencing the XWindow. * @xwindow_id: a XID referencing the XWindow.
* *
* This will call the video overlay's set_xwindow_id method. You should * This will call the video overlay's set_xwindow_id method. You should
* use this method to tell to a XOverlay to display video output to a * use this method to tell to a XOverlay to display video output to a
* specific XWindow. Passing 0 as the xwindow_id will tell the overlay to * specific XWindow. Passing 0 as the @xwindow_id will tell the overlay to
* stop using that window and create an internal one. * stop using that window and create an internal one.
* *
* Deprecated: Use gst_x_overlay_set_window_handle() instead. * Deprecated: Use gst_x_overlay_set_window_handle() instead.
@ -358,13 +358,13 @@ gst_x_overlay_set_xwindow_id (GstXOverlay * overlay, gulong xwindow_id)
/** /**
* gst_x_overlay_set_window_handle: * gst_x_overlay_set_window_handle:
* @overlay: a #GstXOverlay to set the XWindow on. * @overlay: a #GstXOverlay to set the window on.
* @xwindow_id: a #XID referencing the XWindow. * @handle: a handle referencing the window.
* *
* This will call the video overlay's set_window_handle method. You * This will call the video overlay's set_window_handle method. You
* should use this method to tell to a XOverlay to display video output to a * should use this method to tell to a XOverlay to display video output to a
* specific XWindow. Passing 0 as the xwindow_id will tell the overlay to * specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
* stop using that window and create an internal one. * tell the overlay to stop using that window and create an internal one.
* *
* Since: 0.10.31 * Since: 0.10.31
*/ */

View File

@ -52,10 +52,11 @@ typedef struct _GstXOverlayClass GstXOverlayClass;
/** /**
* GstXOverlayClass: * GstXOverlayClass:
* @klass: parent interface type. * @klass: parent interface type.
* @set_xwindow_id: virtual method to configure the XWindow id * @set_xwindow_id: (deprecated) virtual method to configure the XWindow handle
* @expose: virtual method to handle expose events * @expose: virtual method to handle expose events
* @handle_events: virtual method to handle events * @handle_events: virtual method to handle events
* @set_render_rectangle: virtual method to set the render rectangle (since 0.10.29) * @set_render_rectangle: virtual method to set the render rectangle (since 0.10.29)
* @set_window_handle: virtual method to configure the window handle
* *
* #GstXOverlay interface * #GstXOverlay interface
*/ */
@ -67,8 +68,10 @@ struct _GstXOverlayClass {
void (* set_xwindow_id) (GstXOverlay *overlay, void (* set_xwindow_id) (GstXOverlay *overlay,
gulong xwindow_id); gulong xwindow_id);
#else #else
#ifndef __GTK_DOC_IGNORE__
void (* set_xwindow_id_disabled) (GstXOverlay *overlay, void (* set_xwindow_id_disabled) (GstXOverlay *overlay,
gulong xwindow_id); gulong xwindow_id);
#endif
#endif /* not GST_DISABLE_DEPRECATED */ #endif /* not GST_DISABLE_DEPRECATED */
void (* expose) (GstXOverlay *overlay); void (* expose) (GstXOverlay *overlay);

View File

@ -26,7 +26,7 @@
* if you need to check at runtime what version of the gst-plugins-base * if you need to check at runtime what version of the gst-plugins-base
* libraries are being used / you are currently linked against. * libraries are being used / you are currently linked against.
* *
* The version macros get defined by including <gst/pbutils/pbutils.h>. * The version macros get defined by including &lt;gst/pbutils/pbutils.h&gt;.
*/ */
#include "gstpluginsbaseversion.h" #include "gstpluginsbaseversion.h"

View File

@ -21,12 +21,9 @@
* SECTION:gstbasertpaudiopayload * SECTION:gstbasertpaudiopayload
* @short_description: Base class for audio RTP payloader * @short_description: Base class for audio RTP payloader
* *
* <refsect2>
* <para>
* Provides a base class for audio RTP payloaders for frame or sample based * Provides a base class for audio RTP payloaders for frame or sample based
* audio codecs (constant bitrate) * audio codecs (constant bitrate)
* </para> *
* <para>
* This class derives from GstBaseRTPPayload. It can be used for payloading * This class derives from GstBaseRTPPayload. It can be used for payloading
* audio codecs. It will only work with constant bitrate codecs. It supports * audio codecs. It will only work with constant bitrate codecs. It supports
* both frame based and sample based codecs. It takes care of packing up the * both frame based and sample based codecs. It takes care of packing up the
@ -38,7 +35,8 @@
* equal to min-ptime (if set). If min-ptime is not set, any residual data is * equal to min-ptime (if set). If min-ptime is not set, any residual data is
* sent in a last RTP packet. In the case of frame based codecs, the resulting * sent in a last RTP packet. In the case of frame based codecs, the resulting
* RTP packets always contain full frames. * RTP packets always contain full frames.
* </para> *
* <refsect2>
* <title>Usage</title> * <title>Usage</title>
* <para> * <para>
* To use this base class, your child element needs to call either * To use this base class, your child element needs to call either

View File

@ -61,10 +61,17 @@ struct _GstBaseRTPAudioPayload
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
/**
* GstBaseRTPAudioPayloadClass:
* @parent_class: the parent class
*
* Base class for audio RTP payloader.
*/
struct _GstBaseRTPAudioPayloadClass struct _GstBaseRTPAudioPayloadClass
{ {
GstBaseRTPPayloadClass parent_class; GstBaseRTPPayloadClass parent_class;
/*< private >*/
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };

View File

@ -22,11 +22,7 @@
* SECTION:gstbasertpdepayload * SECTION:gstbasertpdepayload
* @short_description: Base class for RTP depayloader * @short_description: Base class for RTP depayloader
* *
* <refsect2>
* <para>
* Provides a base class for RTP depayloaders * Provides a base class for RTP depayloaders
* </para>
* </refsect2>
*/ */
#include "gstbasertpdepayload.h" #include "gstbasertpdepayload.h"

View File

@ -62,6 +62,18 @@ struct _GstBaseRTPDepayload
gpointer _gst_reserved[GST_PADDING-1]; gpointer _gst_reserved[GST_PADDING-1];
}; };
/**
* GstBaseRTPDepayloadClass:
* @parent_class: the parent class
* @set_caps: configure the depayloader
* @add_to_queue: (deprecated)
* @process: process incoming rtp packets
* @set_gst_timestamp: convert from RTP timestamp to GST timestamp
* @packet_lost: signal the depayloader about packet loss
* @handle_event: custom event handling
*
* Base class for audio RTP payloader.
*/
struct _GstBaseRTPDepayloadClass struct _GstBaseRTPDepayloadClass
{ {
GstElementClass parent_class; GstElementClass parent_class;

View File

@ -16,11 +16,7 @@
* SECTION:gstbasertppayload * SECTION:gstbasertppayload
* @short_description: Base class for RTP payloader * @short_description: Base class for RTP payloader
* *
* <refsect2>
* <para>
* Provides a base class for RTP payloaders * Provides a base class for RTP payloaders
* </para>
* </refsect2>
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H

View File

@ -120,6 +120,16 @@ struct _GstBaseRTPPayload
} abidata; } abidata;
}; };
/**
* GstBaseRTPPayloadClass:
* @parent_class: the parent class
* @set_caps: configure the payloader
* @handle_buffer: process data
* @handle_event: custom event handling
* @get_caps: get desired caps
*
* Base class for audio RTP payloader.
*/
struct _GstBaseRTPPayloadClass struct _GstBaseRTPPayloadClass
{ {
GstElementClass parent_class; GstElementClass parent_class;

View File

@ -225,7 +225,13 @@ typedef enum {
*/ */
#define GST_RTSP_AUTH_MAX GST_RTSP_AUTH_DIGEST #define GST_RTSP_AUTH_MAX GST_RTSP_AUTH_DIGEST
/**
* GstRTSPHeaderField:
*
* Enumeration of rtsp header fields.
*/
typedef enum { typedef enum {
/*< protected >*/
GST_RTSP_HDR_INVALID, GST_RTSP_HDR_INVALID,
/* /*
@ -330,7 +336,13 @@ typedef enum {
GST_RTSP_HDR_LAST GST_RTSP_HDR_LAST
} GstRTSPHeaderField; } GstRTSPHeaderField;
/**
* GstRTSPStatusCode:
*
* Enumeration of rtsp status codes.
*/
typedef enum { typedef enum {
/*< protected >*/
GST_RTSP_STS_INVALID = 0, GST_RTSP_STS_INVALID = 0,
GST_RTSP_STS_CONTINUE = 100, GST_RTSP_STS_CONTINUE = 100,
GST_RTSP_STS_OK = 200, GST_RTSP_STS_OK = 200,

View File

@ -162,10 +162,10 @@ xmp_tag_get_type_name (XmpTag * xmptag)
switch (xmptag->type) { switch (xmptag->type) {
case GstXmpTagTypeSeq: case GstXmpTagTypeSeq:
return "rdf:Seq"; return "rdf:Seq";
default:
g_assert_not_reached ();
case GstXmpTagTypeBag: case GstXmpTagTypeBag:
return "rdf:Bag"; return "rdf:Bag";
default:
g_assert_not_reached ();
} }
} }
@ -844,7 +844,7 @@ deserialize_xmp_rating (XmpTag * xmptag, GstTagList * taglist,
return; return;
} }
if (value < 0 || value > 100) { if (value > 100) {
GST_WARNING ("Unsupported Rating tag %u (should be from 0 to 100), " GST_WARNING ("Unsupported Rating tag %u (should be from 0 to 100), "
"ignoring", value); "ignoring", value);
return; return;
@ -1073,7 +1073,7 @@ read_one_tag (GstTagList * list, XmpTag * xmptag,
g_return_if_fail (tag != NULL); g_return_if_fail (tag != NULL);
if (xmptag && xmptag->deserialize) { if (xmptag->deserialize) {
xmptag->deserialize (xmptag, list, tag, xmptag->tag_name, v, pending_tags); xmptag->deserialize (xmptag, list, tag, xmptag->tag_name, v, pending_tags);
return; return;
} }

View File

@ -236,7 +236,7 @@ link_failed:
* @from_caps: the #GstCaps to convert from * @from_caps: the #GstCaps to convert from
* @to_caps: the #GstCaps to convert to * @to_caps: the #GstCaps to convert to
* @timeout: the maximum amount of time allowed for the processing. * @timeout: the maximum amount of time allowed for the processing.
* @err: pointer to a #GError. Can be %NULL. * @error: pointer to a #GError. Can be %NULL.
* *
* Converts a raw video buffer into the specified output caps. * Converts a raw video buffer into the specified output caps.
* *
@ -256,7 +256,7 @@ gst_video_convert_frame (GstBuffer * buf, GstCaps * from_caps,
{ {
GstMessage *msg; GstMessage *msg;
GstBuffer *result = NULL; GstBuffer *result = NULL;
GError *error = NULL; GError *err = NULL;
GstBus *bus; GstBus *bus;
GstCaps *to_caps_copy = NULL; GstCaps *to_caps_copy = NULL;
GstFlowReturn ret; GstFlowReturn ret;
@ -278,8 +278,7 @@ gst_video_convert_frame (GstBuffer * buf, GstCaps * from_caps,
} }
pipeline = pipeline =
build_convert_frame_pipeline (&src, &sink, from_caps, to_caps_copy, build_convert_frame_pipeline (&src, &sink, from_caps, to_caps_copy, &err);
&error);
if (!pipeline) if (!pipeline)
goto no_pipeline; goto no_pipeline;
@ -317,14 +316,14 @@ gst_video_convert_frame (GstBuffer * buf, GstCaps * from_caps,
case GST_MESSAGE_ERROR:{ case GST_MESSAGE_ERROR:{
gchar *dbg = NULL; gchar *dbg = NULL;
gst_message_parse_error (msg, &error, &dbg); gst_message_parse_error (msg, &err, &dbg);
if (error) { if (err) {
GST_ERROR ("Could not convert video frame: %s", error->message); GST_ERROR ("Could not convert video frame: %s", err->message);
GST_DEBUG ("%s [debug: %s]", error->message, GST_STR_NULL (dbg)); GST_DEBUG ("%s [debug: %s]", err->message, GST_STR_NULL (dbg));
if (err) if (error)
*err = error; *error = err;
else else
g_error_free (error); g_error_free (err);
} }
g_free (dbg); g_free (dbg);
break; break;
@ -336,8 +335,8 @@ gst_video_convert_frame (GstBuffer * buf, GstCaps * from_caps,
gst_message_unref (msg); gst_message_unref (msg);
} else { } else {
GST_ERROR ("Could not convert video frame: timeout during conversion"); GST_ERROR ("Could not convert video frame: timeout during conversion");
if (err) if (error)
*err = g_error_new (GST_CORE_ERROR, GST_CORE_ERROR_FAILED, *error = g_error_new (GST_CORE_ERROR, GST_CORE_ERROR_FAILED,
"Could not convert video frame: timeout during conversion"); "Could not convert video frame: timeout during conversion");
} }
@ -353,10 +352,10 @@ no_pipeline:
{ {
gst_caps_unref (to_caps_copy); gst_caps_unref (to_caps_copy);
if (err) if (error)
*err = error; *error = err;
else else
g_error_free (error); g_error_free (err);
return NULL; return NULL;
} }
@ -576,6 +575,7 @@ done:
* @to_caps: the #GstCaps to convert to * @to_caps: the #GstCaps to convert to
* @timeout: the maximum amount of time allowed for the processing. * @timeout: the maximum amount of time allowed for the processing.
* @callback: %GstVideoConvertFrameCallback that will be called after conversion. * @callback: %GstVideoConvertFrameCallback that will be called after conversion.
* @user_data: extra data that will be passed to the @callback
* @destroy_notify: %GDestroyNotify to be called after @user_data is not needed anymore * @destroy_notify: %GDestroyNotify to be called after @user_data is not needed anymore
* *
* Converts a raw video buffer into the specified output caps. * Converts a raw video buffer into the specified output caps.

View File

@ -47,6 +47,12 @@ struct _GstVideoFilter {
gboolean inited; gboolean inited;
}; };
/**
* GstVideoFilterClass:
* @parent_class: the parent class structure
*
* The video filter class structure.
*/
struct _GstVideoFilterClass { struct _GstVideoFilterClass {
GstBaseTransformClass parent_class; GstBaseTransformClass parent_class;
}; };

View File

@ -84,7 +84,6 @@ struct _GstVideoRectangle {
/** /**
* GstVideoSink: * GstVideoSink:
* @element: the parent object structure (which is GstBaseSink)
* @height: video height (derived class needs to set this) * @height: video height (derived class needs to set this)
* @width: video width (derived class needs to set this) * @width: video width (derived class needs to set this)
* *
@ -94,6 +93,7 @@ struct _GstVideoRectangle {
struct _GstVideoSink { struct _GstVideoSink {
GstBaseSink element; /* FIXME 0.11: this should not be called 'element' */ GstBaseSink element; /* FIXME 0.11: this should not be called 'element' */
/*< public >*/
gint width, height; gint width, height;
/*< private >*/ /*< private >*/

View File

@ -681,10 +681,10 @@ gst_video_format_new_caps_raw (GstVideoFormat format)
blue_mask = GST_VIDEO_COMP1_MASK_15_INT; blue_mask = GST_VIDEO_COMP1_MASK_15_INT;
break; break;
default: default:
return NULL; g_assert_not_reached ();
} }
} else if (bpp != 8) { } else if (bpp != 8) {
return NULL; g_assert_not_reached ();
} }
caps = gst_caps_new_simple ("video/x-raw-rgb", caps = gst_caps_new_simple ("video/x-raw-rgb",
@ -1278,9 +1278,10 @@ gst_video_format_has_alpha (GstVideoFormat format)
/** /**
* gst_video_format_get_component_depth: * gst_video_format_get_component_depth:
* @format: a #GstVideoFormat * @format: a #GstVideoFormat
* @component: the video component (e.g. 0 for 'R' in RGB)
* *
* Returns the number of bits used to encode an individual pixel of * Returns the number of bits used to encode an individual pixel of
* a given component. Typically this is 8, although higher and lower * a given @component. Typically this is 8, although higher and lower
* values are possible for some formats. * values are possible for some formats.
* *
* Since: 0.10.33 * Since: 0.10.33
@ -1767,7 +1768,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) * GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) *
(GST_ROUND_UP_2 (height) / 2); (GST_ROUND_UP_2 (height) / 2);
} }
return 0; break;
case GST_VIDEO_FORMAT_YV12: /* same as I420, but components 1+2 swapped */ case GST_VIDEO_FORMAT_YV12: /* same as I420, but components 1+2 swapped */
if (component == 0) if (component == 0)
return 0; return 0;
@ -1778,7 +1779,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) * GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) *
(GST_ROUND_UP_2 (height) / 2); (GST_ROUND_UP_2 (height) / 2);
} }
return 0; break;
case GST_VIDEO_FORMAT_YUY2: case GST_VIDEO_FORMAT_YUY2:
if (component == 0) if (component == 0)
return 0; return 0;
@ -1786,7 +1787,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 1; return 1;
if (component == 2) if (component == 2)
return 3; return 3;
return 0; break;
case GST_VIDEO_FORMAT_YVYU: case GST_VIDEO_FORMAT_YVYU:
if (component == 0) if (component == 0)
return 0; return 0;
@ -1794,7 +1795,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 3; return 3;
if (component == 2) if (component == 2)
return 1; return 1;
return 0; break;
case GST_VIDEO_FORMAT_UYVY: case GST_VIDEO_FORMAT_UYVY:
if (component == 0) if (component == 0)
return 1; return 1;
@ -1802,7 +1803,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 0; return 0;
if (component == 2) if (component == 2)
return 2; return 2;
return 0; break;
case GST_VIDEO_FORMAT_AYUV: case GST_VIDEO_FORMAT_AYUV:
if (component == 0) if (component == 0)
return 1; return 1;
@ -1812,7 +1813,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 3; return 3;
if (component == 3) if (component == 3)
return 0; return 0;
return 0; break;
case GST_VIDEO_FORMAT_RGBx: case GST_VIDEO_FORMAT_RGBx:
case GST_VIDEO_FORMAT_RGBA: case GST_VIDEO_FORMAT_RGBA:
if (component == 0) if (component == 0)
@ -1823,7 +1824,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 2; return 2;
if (component == 3) if (component == 3)
return 3; return 3;
return 0; break;
case GST_VIDEO_FORMAT_BGRx: case GST_VIDEO_FORMAT_BGRx:
case GST_VIDEO_FORMAT_BGRA: case GST_VIDEO_FORMAT_BGRA:
if (component == 0) if (component == 0)
@ -1834,7 +1835,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 0; return 0;
if (component == 3) if (component == 3)
return 3; return 3;
return 0; break;
case GST_VIDEO_FORMAT_xRGB: case GST_VIDEO_FORMAT_xRGB:
case GST_VIDEO_FORMAT_ARGB: case GST_VIDEO_FORMAT_ARGB:
if (component == 0) if (component == 0)
@ -1845,7 +1846,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 3; return 3;
if (component == 3) if (component == 3)
return 0; return 0;
return 0; break;
case GST_VIDEO_FORMAT_xBGR: case GST_VIDEO_FORMAT_xBGR:
case GST_VIDEO_FORMAT_ABGR: case GST_VIDEO_FORMAT_ABGR:
if (component == 0) if (component == 0)
@ -1856,7 +1857,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 1; return 1;
if (component == 3) if (component == 3)
return 0; return 0;
return 0; break;
case GST_VIDEO_FORMAT_RGB: case GST_VIDEO_FORMAT_RGB:
case GST_VIDEO_FORMAT_v308: case GST_VIDEO_FORMAT_v308:
if (component == 0) if (component == 0)
@ -1865,7 +1866,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 1; return 1;
if (component == 2) if (component == 2)
return 2; return 2;
return 0; break;
case GST_VIDEO_FORMAT_BGR: case GST_VIDEO_FORMAT_BGR:
if (component == 0) if (component == 0)
return 2; return 2;
@ -1873,7 +1874,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 1; return 1;
if (component == 2) if (component == 2)
return 0; return 0;
return 0; break;
case GST_VIDEO_FORMAT_Y41B: case GST_VIDEO_FORMAT_Y41B:
if (component == 0) if (component == 0)
return 0; return 0;
@ -1882,7 +1883,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
if (component == 2) if (component == 2)
return (GST_ROUND_UP_4 (width) + return (GST_ROUND_UP_4 (width) +
(GST_ROUND_UP_16 (width) / 4)) * height; (GST_ROUND_UP_16 (width) / 4)) * height;
return 0; break;
case GST_VIDEO_FORMAT_Y42B: case GST_VIDEO_FORMAT_Y42B:
if (component == 0) if (component == 0)
return 0; return 0;
@ -1890,7 +1891,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return GST_ROUND_UP_4 (width) * height; return GST_ROUND_UP_4 (width) * height;
if (component == 2) if (component == 2)
return (GST_ROUND_UP_4 (width) + (GST_ROUND_UP_8 (width) / 2)) * height; return (GST_ROUND_UP_4 (width) + (GST_ROUND_UP_8 (width) / 2)) * height;
return 0; break;
case GST_VIDEO_FORMAT_Y444: case GST_VIDEO_FORMAT_Y444:
return GST_ROUND_UP_4 (width) * height * component; return GST_ROUND_UP_4 (width) * height * component;
case GST_VIDEO_FORMAT_v210: case GST_VIDEO_FORMAT_v210:
@ -1904,7 +1905,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 2; return 2;
if (component == 2) if (component == 2)
return 6; return 6;
return 0; break;
case GST_VIDEO_FORMAT_NV12: case GST_VIDEO_FORMAT_NV12:
if (component == 0) if (component == 0)
return 0; return 0;
@ -1912,6 +1913,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height); return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height);
if (component == 2) if (component == 2)
return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height) + 1; return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height) + 1;
break;
case GST_VIDEO_FORMAT_NV21: case GST_VIDEO_FORMAT_NV21:
if (component == 0) if (component == 0)
return 0; return 0;
@ -1919,6 +1921,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height) + 1; return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height) + 1;
if (component == 2) if (component == 2)
return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height); return GST_ROUND_UP_4 (width) * GST_ROUND_UP_2 (height);
break;
case GST_VIDEO_FORMAT_GRAY8: case GST_VIDEO_FORMAT_GRAY8:
case GST_VIDEO_FORMAT_GRAY16_BE: case GST_VIDEO_FORMAT_GRAY16_BE:
case GST_VIDEO_FORMAT_GRAY16_LE: case GST_VIDEO_FORMAT_GRAY16_LE:
@ -1943,6 +1946,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
2 * GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) * 2 * GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2) *
(GST_ROUND_UP_2 (height) / 2); (GST_ROUND_UP_2 (height) / 2);
} }
break;
case GST_VIDEO_FORMAT_RGB8_PALETTED: case GST_VIDEO_FORMAT_RGB8_PALETTED:
return 0; return 0;
case GST_VIDEO_FORMAT_YUV9: case GST_VIDEO_FORMAT_YUV9:
@ -1955,7 +1959,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) / 4) * GST_ROUND_UP_4 (GST_ROUND_UP_4 (width) / 4) *
(GST_ROUND_UP_4 (height) / 4); (GST_ROUND_UP_4 (height) / 4);
} }
return 0; break;
case GST_VIDEO_FORMAT_YVU9: case GST_VIDEO_FORMAT_YVU9:
if (component == 0) if (component == 0)
return 0; return 0;
@ -1966,7 +1970,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
} }
if (component == 2) if (component == 2)
return GST_ROUND_UP_4 (width) * height; return GST_ROUND_UP_4 (width) * height;
return 0; break;
case GST_VIDEO_FORMAT_IYU1: case GST_VIDEO_FORMAT_IYU1:
if (component == 0) if (component == 0)
return 1; return 1;
@ -1974,6 +1978,7 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 0; return 0;
if (component == 2) if (component == 2)
return 4; return 4;
break;
case GST_VIDEO_FORMAT_ARGB64: case GST_VIDEO_FORMAT_ARGB64:
case GST_VIDEO_FORMAT_AYUV64: case GST_VIDEO_FORMAT_AYUV64:
if (component == 0) if (component == 0)
@ -1984,10 +1989,12 @@ gst_video_format_get_component_offset (GstVideoFormat format,
return 6; return 6;
if (component == 3) if (component == 3)
return 0; return 0;
return 0; break;
default: default:
return 0; break;
} }
GST_WARNING ("unhandled format %d or component %d", format, component);
return 0;
} }
/** /**

View File

@ -16,6 +16,32 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
/**
* SECTION:element-appsrc
*
* The appsrc element can be used by applications to insert data into a
* GStreamer pipeline. Unlike most GStreamer elements, Appsrc provides
* external API functions.
*
* For the documentation of the API, please see the
* <link linkend="gst-plugins-base-libs-appsrc">libgstapp</link> section in the
* GStreamer Plugins Base Libraries documentation.
*
* Since: 0.10.22
*/
/**
* SECTION:element-appsink
*
* Appsink is a sink plugin that supports many different methods for making
* the application get a handle on the GStreamer data in a pipeline. Unlike
* most GStreamer elements, Appsink provides external API functions.
*
* For the documentation of the API, please see the
* <link linkend="gst-plugins-base-libs-appsink">libgstapp</link> section in
* the GStreamer Plugins Base Libraries documentation.
*
* Since: 0.10.22
*/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"

View File

@ -1203,7 +1203,8 @@ gst_sub_parse_data_format_autodetect_regex_once (GstSubParseRegex regtype)
switch (regtype) { switch (regtype) {
case GST_SUB_PARSE_REGEX_MDVDSUB: case GST_SUB_PARSE_REGEX_MDVDSUB:
result = result =
(gpointer) g_regex_new ("^\\{[0-9]+\\}\\{[0-9]+\\}", 0, 0, &gerr); (gpointer) g_regex_new ("^\\{[0-9]+\\}\\{[0-9]+\\}",
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, &gerr);
if (result == NULL) { if (result == NULL) {
g_warning ("Compilation of mdvd regex failed: %s", gerr->message); g_warning ("Compilation of mdvd regex failed: %s", gerr->message);
g_error_free (gerr); g_error_free (gerr);
@ -1213,7 +1214,7 @@ gst_sub_parse_data_format_autodetect_regex_once (GstSubParseRegex regtype)
result = (gpointer) g_regex_new ("^([ 0-9]){0,3}[0-9]\\s*(\x0d)?\x0a" result = (gpointer) g_regex_new ("^([ 0-9]){0,3}[0-9]\\s*(\x0d)?\x0a"
"[ 0-9][0-9]:[ 0-9][0-9]:[ 0-9][0-9][,.][ 0-9]{0,2}[0-9]" "[ 0-9][0-9]:[ 0-9][0-9]:[ 0-9][0-9][,.][ 0-9]{0,2}[0-9]"
" +--> +([ 0-9])?[0-9]:[ 0-9][0-9]:[ 0-9][0-9][,.][ 0-9]{0,2}[0-9]", " +--> +([ 0-9])?[0-9]:[ 0-9][0-9]:[ 0-9][0-9][,.][ 0-9]{0,2}[0-9]",
0, 0, &gerr); G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, &gerr);
if (result == NULL) { if (result == NULL) {
g_warning ("Compilation of subrip regex failed: %s", gerr->message); g_warning ("Compilation of subrip regex failed: %s", gerr->message);
g_error_free (gerr); g_error_free (gerr);
@ -1221,7 +1222,7 @@ gst_sub_parse_data_format_autodetect_regex_once (GstSubParseRegex regtype)
break; break;
case GST_SUB_PARSE_REGEX_DKS: case GST_SUB_PARSE_REGEX_DKS:
result = (gpointer) g_regex_new ("^\\[[0-9]+:[0-9]+:[0-9]+\\].*", result = (gpointer) g_regex_new ("^\\[[0-9]+:[0-9]+:[0-9]+\\].*",
0, 0, &gerr); G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, &gerr);
if (result == NULL) { if (result == NULL) {
g_warning ("Compilation of dks regex failed: %s", gerr->message); g_warning ("Compilation of dks regex failed: %s", gerr->message);
g_error_free (gerr); g_error_free (gerr);
@ -1741,12 +1742,7 @@ gst_subparse_type_find (GstTypeFind * tf, gpointer private)
} }
} }
converted_str = gst_convert_to_utf8 (str, 128, enc, &tmp, &err); converted_str = gst_convert_to_utf8 (str, 128, enc, &tmp, &err);
if (converted_str == NULL) { if (converted_str != NULL) {
GST_DEBUG ("Charset conversion failed: %s", err->message);
g_error_free (err);
g_free (str);
return;
} else {
g_free (str); g_free (str);
str = converted_str; str = converted_str;
} }