propertyprobe: remove propertyprobe

Remove the propertyprobe interface
Improve docs
This commit is contained in:
Wim Taymans 2011-12-21 11:58:53 +01:00
parent 2760dd2068
commit ddc05e0ed1
12 changed files with 29 additions and 548 deletions

View file

@ -408,7 +408,6 @@ gst_audio_ring_buffer_delay
gst_audio_ring_buffer_samples_done gst_audio_ring_buffer_samples_done
gst_audio_ring_buffer_set_sample gst_audio_ring_buffer_set_sample
gst_audio_ring_buffer_commit gst_audio_ring_buffer_commit
gst_audio_ring_buffer_commit_full
gst_audio_ring_buffer_convert gst_audio_ring_buffer_convert
gst_audio_ring_buffer_prepare_read gst_audio_ring_buffer_prepare_read
@ -745,30 +744,6 @@ gst_navigation_query_type_get_type
gst_navigation_command_get_type gst_navigation_command_get_type
</SECTION> </SECTION>
<SECTION>
<FILE>gstpropertyprobe</FILE>
<INCLUDE>gst/interfaces/propertyprobe.h</INCLUDE>
GstPropertyProbe
GstPropertyProbeInterface
gst_property_probe_get_properties
gst_property_probe_get_property
gst_property_probe_get_values
gst_property_probe_get_values_name
gst_property_probe_needs_probe
gst_property_probe_needs_probe_name
gst_property_probe_probe_and_get_values
gst_property_probe_probe_and_get_values_name
gst_property_probe_probe_property
gst_property_probe_probe_property_name
<SUBSECTION Standard>
GST_TYPE_PROPERTY_PROBE
GST_PROPERTY_PROBE
GST_PROPERTY_PROBE_GET_INTEFACE
GST_IS_PROPERTY_PROBE
gst_property_probe_get_type
</SECTION>
<SECTION> <SECTION>
<FILE>gststreamvolume</FILE> <FILE>gststreamvolume</FILE>
<INCLUDE>gst/audio/streamvolume.h</INCLUDE> <INCLUDE>gst/audio/streamvolume.h</INCLUDE>
@ -883,8 +858,8 @@ gst_video_orientation_get_type
<SECTION> <SECTION>
<FILE>gstvideooverlay</FILE> <FILE>gstvideooverlay</FILE>
<INCLUDE>gst/video/videooverlay.h</INCLUDE> <INCLUDE>gst/video/videooverlay.h</INCLUDE>
GstXOverlay GstVideoOverlay
GstXOverlayIface GstVideoOverlayInterface
gst_video_overlay_got_window_handle gst_video_overlay_got_window_handle
gst_video_overlay_set_window_handle gst_video_overlay_set_window_handle
gst_video_overlay_prepare_window_handle gst_video_overlay_prepare_window_handle
@ -1730,7 +1705,6 @@ GST_TAG_MUSICBRAINZ_ARTISTID
GST_TAG_MUSICBRAINZ_ALBUMID GST_TAG_MUSICBRAINZ_ALBUMID
GST_TAG_MUSICBRAINZ_ALBUMARTISTID GST_TAG_MUSICBRAINZ_ALBUMARTISTID
GST_TAG_MUSICBRAINZ_TRMID GST_TAG_MUSICBRAINZ_TRMID
GST_TAG_MUSICBRAINZ_SORTNAME
GST_TAG_CDDA_CDDB_DISCID GST_TAG_CDDA_CDDB_DISCID
GST_TAG_CDDA_CDDB_DISCID_FULL GST_TAG_CDDA_CDDB_DISCID_FULL
GST_TAG_CDDA_MUSICBRAINZ_DISCID GST_TAG_CDDA_MUSICBRAINZ_DISCID
@ -1763,7 +1737,6 @@ GST_TAG_ID3V2_HEADER_SIZE
gst_tag_register_musicbrainz_tags gst_tag_register_musicbrainz_tags
gst_tag_freeform_string_to_utf8 gst_tag_freeform_string_to_utf8
gst_tag_parse_extended_comment gst_tag_parse_extended_comment
gst_tag_image_data_to_image_buffer
GstTagImageType GstTagImageType
<SUBSECTION Standard> <SUBSECTION Standard>
GST_TYPE_TAG_IMAGE_TYPE GST_TYPE_TAG_IMAGE_TYPE

View file

@ -28,8 +28,6 @@ gst_mixer_options_get_type
gst_mixer_track_get_type gst_mixer_track_get_type
#include <gst/interfaces/navigation.h> #include <gst/interfaces/navigation.h>
gst_navigation_get_type gst_navigation_get_type
#include <gst/interfaces/propertyprobe.h>
gst_property_probe_get_type
#include <gst/interfaces/tuner.h> #include <gst/interfaces/tuner.h>
gst_tuner_get_type gst_tuner_get_type
gst_tuner_channel_get_type gst_tuner_channel_get_type

View file

@ -24,8 +24,8 @@
#endif #endif
#include "gstalsadeviceprobe.h" #include "gstalsadeviceprobe.h"
#include "gst/interfaces/propertyprobe.h"
#if 0
G_LOCK_DEFINE_STATIC (probe_lock); G_LOCK_DEFINE_STATIC (probe_lock);
static const GList * static const GList *
@ -208,3 +208,4 @@ gst_alsa_type_add_device_property_probe_interface (GType type)
g_type_add_interface_static (type, GST_TYPE_PROPERTY_PROBE, g_type_add_interface_static (type, GST_TYPE_PROPERTY_PROBE,
&probe_iface_info); &probe_iface_info);
} }
#endif

View file

@ -37,8 +37,6 @@
#include "mixerutils.h" #include "mixerutils.h"
#include <gst/interfaces/propertyprobe.h>
#include <string.h> #include <string.h>
static void static void
@ -117,6 +115,7 @@ gst_audio_mixer_filter_probe_feature (GstAudioMixerFilterFunc filter_func,
GST_DEBUG ("created element %s (%p)", GST_ELEMENT_NAME (element), element); GST_DEBUG ("created element %s (%p)", GST_ELEMENT_NAME (element), element);
#if 0
if (GST_IS_PROPERTY_PROBE (element)) { if (GST_IS_PROPERTY_PROBE (element)) {
GstPropertyProbe *probe; GstPropertyProbe *probe;
const GParamSpec *devspec; const GParamSpec *devspec;
@ -155,7 +154,9 @@ gst_audio_mixer_filter_probe_feature (GstAudioMixerFilterFunc filter_func,
g_value_array_free (array); g_value_array_free (array);
} }
} }
} else { } else
#endif
{
GST_DEBUG ("element does not support the property probe interface"); GST_DEBUG ("element does not support the property probe interface");
if (gst_audio_mixer_filter_check_element (element)) { if (gst_audio_mixer_filter_check_element (element)) {

View file

@ -4,7 +4,6 @@ libgstinterfacesincludedir = \
headers_interfaces = \ headers_interfaces = \
navigation.h \ navigation.h \
propertyprobe.h \
tuner.h \ tuner.h \
tunernorm.h \ tunernorm.h \
tunerchannel.h tunerchannel.h
@ -31,7 +30,6 @@ nodist_libgstinterfacesinclude_HEADERS = \
libgstinterfaces_@GST_MAJORMINOR@_la_SOURCES = \ libgstinterfaces_@GST_MAJORMINOR@_la_SOURCES = \
navigation.c \ navigation.c \
propertyprobe.c \
tuner.c \ tuner.c \
tunernorm.c \ tunernorm.c \
tunerchannel.c tunerchannel.c

View file

@ -1,378 +0,0 @@
/* GStreamer PropertyProbe
* Copyright (C) 2003 David Schleef <ds@schleef.org>
*
* property_probe.c: property_probe design virtual class function wrappers
*
* 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.
*/
/**
* SECTION:gstpropertyprobe
* @short_description: Interface for probing possible property values
*
* The property probe is a way to autodetect allowed values for a GObject
* property. It's primary use is to autodetect device-names in several elements.
*
* The interface is implemented by many hardware sources and sinks.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <string.h>
#include "propertyprobe.h"
enum
{
SIGNAL_PROBE_NEEDED,
LAST_SIGNAL
};
static void gst_property_probe_iface_init (GstPropertyProbeInterface * iface);
static guint gst_property_probe_signals[LAST_SIGNAL] = { 0 };
GType
gst_property_probe_get_type (void)
{
static GType gst_property_probe_type = 0;
if (!gst_property_probe_type) {
static const GTypeInfo gst_property_probe_info = {
sizeof (GstPropertyProbeInterface),
(GBaseInitFunc) gst_property_probe_iface_init,
NULL,
NULL,
NULL,
NULL,
0,
0,
NULL,
};
gst_property_probe_type =
g_type_register_static (G_TYPE_INTERFACE,
"GstPropertyProbe", &gst_property_probe_info, 0);
}
return gst_property_probe_type;
}
static void
gst_property_probe_iface_init (GstPropertyProbeInterface * iface)
{
static gboolean initialized = FALSE;
if (!initialized) {
/**
* GstPropertyProbe::probe-needed
* @pspec: #GParamSpec that needs a probe
*
*/
/* FIXME:
* what is the purpose of this signal, I can't find any usage of it
* according to proto n *.h, it should be g_cclosure_marshal_VOID__PARAM
*/
gst_property_probe_signals[SIGNAL_PROBE_NEEDED] =
g_signal_new ("probe-needed", G_TYPE_FROM_CLASS (iface),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstPropertyProbeInterface,
probe_needed), NULL, NULL, g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE, 1, G_TYPE_POINTER);
initialized = TRUE;
}
/* default virtual functions */
iface->get_properties = NULL;
iface->get_values = NULL;
}
/**
* gst_property_probe_get_properties:
* @probe: the #GstPropertyProbe to get the properties for.
*
* Get a list of properties for which probing is supported.
*
* Returns: the list of properties for which probing is supported
* by this element.
*/
const GList *
gst_property_probe_get_properties (GstPropertyProbe * probe)
{
GstPropertyProbeInterface *iface;
g_return_val_if_fail (probe != NULL, NULL);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), NULL);
iface = GST_PROPERTY_PROBE_GET_INTERFACE (probe);
if (iface->get_properties)
return iface->get_properties (probe);
return NULL;
}
/**
* gst_property_probe_get_property:
* @probe: the #GstPropertyProbe to get the properties for.
* @name: name of the property.
*
* Get #GParamSpec for a property for which probing is supported.
*
* Returns: the #GParamSpec of %NULL.
*/
const GParamSpec *
gst_property_probe_get_property (GstPropertyProbe * probe, const gchar * name)
{
const GList *pspecs;
g_return_val_if_fail (probe != NULL, NULL);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), NULL);
g_return_val_if_fail (name != NULL, NULL);
pspecs = gst_property_probe_get_properties (probe);
while (pspecs) {
const GParamSpec *pspec = pspecs->data;
if (pspec) {
if (!strcmp (pspec->name, name))
return pspec;
} else {
GST_WARNING_OBJECT (probe, "NULL paramspec in property probe list");
}
pspecs = pspecs->next;
}
return NULL;
}
/**
* gst_property_probe_probe_property:
* @probe: the #GstPropertyProbe to check.
* @pspec: #GParamSpec of the property.
*
* Runs a probe on the property specified by @pspec
*/
void
gst_property_probe_probe_property (GstPropertyProbe * probe,
const GParamSpec * pspec)
{
GstPropertyProbeInterface *iface;
g_return_if_fail (probe != NULL);
g_return_if_fail (GST_IS_PROPERTY_PROBE (probe));
g_return_if_fail (pspec != NULL);
iface = GST_PROPERTY_PROBE_GET_INTERFACE (probe);
if (iface->probe_property)
iface->probe_property (probe, pspec->param_id, pspec);
}
/**
* gst_property_probe_probe_property_name:
* @probe: the #GstPropertyProbe to check.
* @name: name of the property.
*
* Runs a probe on the property specified by @name.
*/
void
gst_property_probe_probe_property_name (GstPropertyProbe * probe,
const gchar * name)
{
const GParamSpec *pspec;
g_return_if_fail (probe != NULL);
g_return_if_fail (GST_IS_PROPERTY_PROBE (probe));
g_return_if_fail (name != NULL);
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (probe), name);
if (!pspec) {
g_warning ("No such property %s", name);
return;
}
gst_property_probe_probe_property (probe, pspec);
}
/**
* gst_property_probe_needs_probe:
* @probe: the #GstPropertyProbe object to which the given property belongs.
* @pspec: a #GParamSpec that identifies the property to check.
*
* Checks whether a property needs a probe. This might be because
* the property wasn't initialized before, or because host setup
* changed. This might be, for example, because a new device was
* added, and thus device probing needs to be refreshed to display
* the new device.
*
* Returns: TRUE if the property needs a new probe, FALSE if not.
*/
gboolean
gst_property_probe_needs_probe (GstPropertyProbe * probe,
const GParamSpec * pspec)
{
GstPropertyProbeInterface *iface;
g_return_val_if_fail (probe != NULL, FALSE);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), FALSE);
g_return_val_if_fail (pspec != NULL, FALSE);
iface = GST_PROPERTY_PROBE_GET_INTERFACE (probe);
if (iface->needs_probe)
return iface->needs_probe (probe, pspec->param_id, pspec);
return FALSE;
}
/**
* gst_property_probe_needs_probe_name:
* @probe: the #GstPropertyProbe object to which the given property belongs.
* @name: the name of the property to check.
*
* Same as gst_property_probe_needs_probe ().
*
* Returns: TRUE if the property needs a new probe, FALSE if not.
*/
gboolean
gst_property_probe_needs_probe_name (GstPropertyProbe * probe,
const gchar * name)
{
const GParamSpec *pspec;
g_return_val_if_fail (probe != NULL, FALSE);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), FALSE);
g_return_val_if_fail (name != NULL, FALSE);
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (probe), name);
if (!pspec) {
g_warning ("No such property %s", name);
return FALSE;
}
return gst_property_probe_needs_probe (probe, pspec);
}
/**
* gst_property_probe_get_values:
* @probe: the #GstPropertyProbe object.
* @pspec: the #GParamSpec property identifier.
*
* Gets the possible (probed) values for the given property,
* requires the property to have been probed before.
*
* Returns: A list of valid values for the given property.
*/
GValueArray *
gst_property_probe_get_values (GstPropertyProbe * probe,
const GParamSpec * pspec)
{
GstPropertyProbeInterface *iface;
g_return_val_if_fail (probe != NULL, NULL);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), NULL);
g_return_val_if_fail (pspec != NULL, NULL);
iface = GST_PROPERTY_PROBE_GET_INTERFACE (probe);
if (iface->get_values)
return iface->get_values (probe, pspec->param_id, pspec);
return NULL;
}
/**
* gst_property_probe_get_values_name:
* @probe: the #GstPropertyProbe object.
* @name: the name of the property to get values for.
*
* Same as gst_property_probe_get_values ().
*
* Returns: A list of valid values for the given property.
*/
GValueArray *
gst_property_probe_get_values_name (GstPropertyProbe * probe,
const gchar * name)
{
const GParamSpec *pspec;
g_return_val_if_fail (probe != NULL, NULL);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), NULL);
g_return_val_if_fail (name != NULL, NULL);
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (probe), name);
if (!pspec) {
g_warning ("No such property %s", name);
return NULL;
}
return gst_property_probe_get_values (probe, pspec);
}
/**
* gst_property_probe_probe_and_get_values:
* @probe: the #GstPropertyProbe object.
* @pspec: The #GParamSpec property identifier.
*
* Check whether the given property requires a new probe. If so,
* fo the probe. After that, retrieve a value list. Meant as a
* utility function that wraps the above functions.
*
* Returns: the list of valid values for this property.
*/
GValueArray *
gst_property_probe_probe_and_get_values (GstPropertyProbe * probe,
const GParamSpec * pspec)
{
g_return_val_if_fail (probe != NULL, NULL);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), NULL);
g_return_val_if_fail (pspec != NULL, NULL);
if (gst_property_probe_needs_probe (probe, pspec))
gst_property_probe_probe_property (probe, pspec);
return gst_property_probe_get_values (probe, pspec);
}
/**
* gst_property_probe_probe_and_get_values_name:
* @probe: the #GstPropertyProbe object.
* @name: the name of the property to get values for.
*
* Same as gst_property_probe_probe_and_get_values ().
*
* Returns: the list of valid values for this property.
*/
GValueArray *
gst_property_probe_probe_and_get_values_name (GstPropertyProbe * probe,
const gchar * name)
{
const GParamSpec *pspec;
g_return_val_if_fail (probe != NULL, NULL);
g_return_val_if_fail (GST_IS_PROPERTY_PROBE (probe), NULL);
g_return_val_if_fail (name != NULL, NULL);
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (probe), name);
if (!pspec) {
g_warning ("No such property %s", name);
return NULL;
}
return gst_property_probe_probe_and_get_values (probe, pspec);
}

View file

@ -1,112 +0,0 @@
/* GStreamer PropertyProbe
* Copyright (C) 2003 David A. Schleef <ds@schleef.org>
*
* property_probe.h: property_probe interface design
*
* 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_PROPERTY_PROBE_H__
#define __GST_PROPERTY_PROBE_H__
#include <gst/gst.h>
G_BEGIN_DECLS
#define GST_TYPE_PROPERTY_PROBE \
(gst_property_probe_get_type ())
#define GST_PROPERTY_PROBE(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PROPERTY_PROBE, GstPropertyProbe))
#define GST_IS_PROPERTY_PROBE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PROPERTY_PROBE))
#define GST_PROPERTY_PROBE_GET_INTERFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_PROPERTY_PROBE, GstPropertyProbeInterface))
/**
* GstPropertyProbe:
*
* Opaque #GstPropertyProbe data structure.
*/
typedef struct _GstPropertyProbe GstPropertyProbe; /* dummy typedef */
typedef struct _GstPropertyProbeInterface GstPropertyProbeInterface;
/**
* GstPropertyProbeInterface:
* @iface: parent interface type.
* @probe_needed: default signal handler
* @get_properties: virtual method to get list of probable properties
* @needs_probe: virtual method to tell if probe need update
* @probe_property: virtual method to probe a property
* @get_values: virtual method to get probe results for a property
*
* #GstPropertyProbe interface.
*/
struct _GstPropertyProbeInterface {
GTypeInterface iface;
/* signals */
void (*probe_needed) (GstPropertyProbe *probe,
const GParamSpec *pspec);
/* virtual functions */
const GList * (*get_properties) (GstPropertyProbe *probe);
gboolean (*needs_probe) (GstPropertyProbe *probe,
guint prop_id,
const GParamSpec *pspec);
void (*probe_property) (GstPropertyProbe *probe,
guint prop_id,
const GParamSpec *pspec);
GValueArray * (*get_values) (GstPropertyProbe *probe,
guint prop_id,
const GParamSpec *pspec);
};
GType gst_property_probe_get_type (void);
/* virtual class function wrappers */
/* returns list of GParamSpecs */
const GList * gst_property_probe_get_properties (GstPropertyProbe *probe);
const GParamSpec *gst_property_probe_get_property (GstPropertyProbe *probe,
const gchar *name);
/* probe one property */
void gst_property_probe_probe_property (GstPropertyProbe *probe,
const GParamSpec *pspec);
void gst_property_probe_probe_property_name (GstPropertyProbe *probe,
const gchar *name);
/* do we need a probe? */
gboolean gst_property_probe_needs_probe (GstPropertyProbe *probe,
const GParamSpec *pspec);
gboolean gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
const gchar *name);
/* returns list of GValues */
GValueArray * gst_property_probe_get_values (GstPropertyProbe *probe,
const GParamSpec *pspec);
GValueArray * gst_property_probe_get_values_name (GstPropertyProbe *probe,
const gchar *name);
/* sugar */
GValueArray * gst_property_probe_probe_and_get_values (GstPropertyProbe *probe,
const GParamSpec *pspec);
GValueArray * gst_property_probe_probe_and_get_values_name (GstPropertyProbe *probe,
const gchar *name);
G_END_DECLS
#endif /* __GST_PROPERTY_PROBE_H__ */

View file

@ -490,10 +490,12 @@ gst_encoding_video_profile_class_init (GObjectClass * klass)
* gst_encoding_video_profile_get_pass: * gst_encoding_video_profile_get_pass:
* @prof: a #GstEncodingVideoProfile * @prof: a #GstEncodingVideoProfile
* *
* Since: 0.10.32 * Get the pass number if this is part of a multi-pass profile.
* *
* Returns: The pass number if this is part of a multi-pass profile. Starts at * Returns: The pass number. Starts at 1 for multi-pass. 0 if this is
* 1 for multi-pass. 0 if this is not a multi-pass profile * not a multi-pass profile
*
* Since: 0.10.32
*/ */
guint guint
gst_encoding_video_profile_get_pass (GstEncodingVideoProfile * prof) gst_encoding_video_profile_get_pass (GstEncodingVideoProfile * prof)

View file

@ -712,9 +712,9 @@ gst_video_overlay_rectangle_instance_init (GstMiniObject * mini_obj)
* @width: the width of the rectangle in @pixels * @width: the width of the rectangle in @pixels
* @height: the height of the rectangle in @pixels * @height: the height of the rectangle in @pixels
* @stride: the stride of the rectangle in @pixels in bytes (&gt;= 4*width) * @stride: the stride of the rectangle in @pixels in bytes (&gt;= 4*width)
* @x: the X co-ordinate on the video where the top-left corner of this * @render_x: the X co-ordinate on the video where the top-left corner of this
* overlay rectangle should be rendered to * overlay rectangle should be rendered to
* @y: the Y co-ordinate on the video where the top-left corner of this * @render_y: the Y co-ordinate on the video where the top-left corner of this
* overlay rectangle should be rendered to * overlay rectangle should be rendered to
* @render_width: the render width of this rectangle on the video * @render_width: the render width of this rectangle on the video
* @render_height: the render height of this rectangle on the video * @render_height: the render height of this rectangle on the video
@ -933,7 +933,7 @@ done:
* @rectangle: a #GstVideoOverlayRectangle * @rectangle: a #GstVideoOverlayRectangle
* @width: (out): address where to store the width of the unscaled * @width: (out): address where to store the width of the unscaled
* rectangle in pixels * rectangle in pixels
* @width: (out): address where to store the height of the unscaled * @height: (out): address where to store the height of the unscaled
* rectangle in pixels * rectangle in pixels
* @stride: (out): address of guint variable where to store the row * @stride: (out): address of guint variable where to store the row
* stride of the ARGB pixel data in the buffer * stride of the ARGB pixel data in the buffer

View file

@ -305,8 +305,8 @@ typedef struct _GstVideoFrame GstVideoFrame;
/** /**
* GstVideoInterlaceMode: * GstVideoInterlaceMode:
* GST_VIDEO_INTERLACE_MODE_PROGRESSIVE: all frames are progressive * @GST_VIDEO_INTERLACE_MODE_PROGRESSIVE: all frames are progressive
* GST_VIDEO_INTERLACE_MODE_INTERLEAVED: video is interlaced and all fields * @GST_VIDEO_INTERLACE_MODE_INTERLEAVED: video is interlaced and all fields
* are interlaced in one frame. * are interlaced in one frame.
* @GST_VIDEO_INTERLACE_MODE_MIXED: video contains both interlaced and * @GST_VIDEO_INTERLACE_MODE_MIXED: video contains both interlaced and
* progressive frames, the buffer flags describe the frame and fields. * progressive frames, the buffer flags describe the frame and fields.
@ -725,15 +725,15 @@ gboolean gst_video_event_parse_still_frame (GstEvent * event, gboolean * i
/* video force key unit event creation and parsing */ /* video force key unit event creation and parsing */
GstEvent * gst_video_event_new_downstream_force_key_unit (GstClockTime timestamp, GstEvent * gst_video_event_new_downstream_force_key_unit (GstClockTime timestamp,
GstClockTime streamtime, GstClockTime stream_time,
GstClockTime runningtime, GstClockTime running_time,
gboolean all_headers, gboolean all_headers,
guint count); guint count);
gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event, gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event,
GstClockTime * timestamp, GstClockTime * timestamp,
GstClockTime * streamtime, GstClockTime * stream_time,
GstClockTime * runningtime, GstClockTime * running_time,
gboolean * all_headers, gboolean * all_headers,
guint * count); guint * count);

View file

@ -115,7 +115,6 @@
/* Our interfaces */ /* Our interfaces */
#include <gst/interfaces/navigation.h> #include <gst/interfaces/navigation.h>
#include <gst/interfaces/propertyprobe.h>
#include <gst/video/videooverlay.h> #include <gst/video/videooverlay.h>
#include <gst/video/colorbalance.h> #include <gst/video/colorbalance.h>
/* Helper functions */ /* Helper functions */
@ -200,9 +199,6 @@ static void gst_xvimagesink_video_overlay_init (GstVideoOverlayInterface *
iface); iface);
static void gst_xvimagesink_colorbalance_init (GstColorBalanceInterface * static void gst_xvimagesink_colorbalance_init (GstColorBalanceInterface *
iface); iface);
static void
gst_xvimagesink_property_probe_interface_init (GstPropertyProbeInterface *
iface);
#define gst_xvimagesink_parent_class parent_class #define gst_xvimagesink_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstXvImageSink, gst_xvimagesink, GST_TYPE_VIDEO_SINK, G_DEFINE_TYPE_WITH_CODE (GstXvImageSink, gst_xvimagesink, GST_TYPE_VIDEO_SINK,
G_IMPLEMENT_INTERFACE (GST_TYPE_NAVIGATION, G_IMPLEMENT_INTERFACE (GST_TYPE_NAVIGATION,
@ -210,9 +206,7 @@ G_DEFINE_TYPE_WITH_CODE (GstXvImageSink, gst_xvimagesink, GST_TYPE_VIDEO_SINK,
G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_OVERLAY, G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_OVERLAY,
gst_xvimagesink_video_overlay_init); gst_xvimagesink_video_overlay_init);
G_IMPLEMENT_INTERFACE (GST_TYPE_COLOR_BALANCE, G_IMPLEMENT_INTERFACE (GST_TYPE_COLOR_BALANCE,
gst_xvimagesink_colorbalance_init); gst_xvimagesink_colorbalance_init));
G_IMPLEMENT_INTERFACE (GST_TYPE_PROPERTY_PROBE,
gst_xvimagesink_property_probe_interface_init));
/* ============================================================= */ /* ============================================================= */
@ -2336,6 +2330,7 @@ gst_xvimagesink_colorbalance_init (GstColorBalanceInterface * iface)
iface->get_value = gst_xvimagesink_colorbalance_get_value; iface->get_value = gst_xvimagesink_colorbalance_get_value;
} }
#if 0
static const GList * static const GList *
gst_xvimagesink_probe_get_properties (GstPropertyProbe * probe) gst_xvimagesink_probe_get_properties (GstPropertyProbe * probe)
{ {
@ -2494,6 +2489,7 @@ gst_xvimagesink_property_probe_interface_init (GstPropertyProbeInterface *
iface->needs_probe = gst_xvimagesink_probe_needs_probe; iface->needs_probe = gst_xvimagesink_probe_needs_probe;
iface->get_values = gst_xvimagesink_probe_get_values; iface->get_values = gst_xvimagesink_probe_get_values;
} }
#endif
/* =========================================== */ /* =========================================== */
/* */ /* */

View file

@ -32,7 +32,6 @@
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/video/videooverlay.h> #include <gst/video/videooverlay.h>
#include <gst/interfaces/propertyprobe.h>
static GtkWidget *video_window = NULL; static GtkWidget *video_window = NULL;
static GstElement *sink = NULL; static GstElement *sink = NULL;
@ -169,8 +168,10 @@ main (int argc, char **argv)
GstElement *pipeline, *src; GstElement *pipeline, *src;
GstBus *bus; GstBus *bus;
GstStateChangeReturn sret; GstStateChangeReturn sret;
#if 0
GstPropertyProbe *probe; GstPropertyProbe *probe;
GValueArray *arr; GValueArray *arr;
#endif
#if !GLIB_CHECK_VERSION (2, 31, 0) #if !GLIB_CHECK_VERSION (2, 31, 0)
if (!g_thread_supported ()) if (!g_thread_supported ())
@ -201,7 +202,7 @@ main (int argc, char **argv)
gst_object_unref (pipeline); gst_object_unref (pipeline);
return -1; return -1;
} }
#if 0
probe = GST_PROPERTY_PROBE (sink); probe = GST_PROPERTY_PROBE (sink);
if (!probe) { if (!probe) {
g_printerr ("Can't probe sink\n"); g_printerr ("Can't probe sink\n");
@ -220,6 +221,7 @@ main (int argc, char **argv)
} }
if (arr) if (arr)
g_value_array_free (arr); g_value_array_free (arr);
#endif
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline)); bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_signal_watch_full (bus, G_PRIORITY_HIGH); gst_bus_add_signal_watch_full (bus, G_PRIORITY_HIGH);