summaryrefslogtreecommitdiff
path: root/gst-libs/gst
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-03-02 10:00:55 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-03-02 10:00:55 +0100
commitf7939bb43fca241472a61d394f2457f5978dd5ab (patch)
tree5544f06f6732b62455192c20805cede6216ad9eb /gst-libs/gst
parent502c12f8274ba97e96c8b2501550201199fdb49c (diff)
parent87d41b87a0bf12a403221964a8588bf611b15c6a (diff)
Merge branch 'master' into 0.11
Conflicts: NEWS RELEASE configure.ac docs/plugins/gst-plugins-base-plugins.args docs/plugins/gst-plugins-base-plugins.hierarchy docs/plugins/gst-plugins-base-plugins.interfaces docs/plugins/inspect/plugin-adder.xml docs/plugins/inspect/plugin-alsa.xml docs/plugins/inspect/plugin-app.xml docs/plugins/inspect/plugin-audioconvert.xml docs/plugins/inspect/plugin-audiorate.xml docs/plugins/inspect/plugin-audioresample.xml docs/plugins/inspect/plugin-audiotestsrc.xml docs/plugins/inspect/plugin-cdparanoia.xml docs/plugins/inspect/plugin-encoding.xml docs/plugins/inspect/plugin-ffmpegcolorspace.xml docs/plugins/inspect/plugin-gdp.xml docs/plugins/inspect/plugin-gio.xml docs/plugins/inspect/plugin-gnomevfs.xml docs/plugins/inspect/plugin-libvisual.xml docs/plugins/inspect/plugin-ogg.xml docs/plugins/inspect/plugin-pango.xml docs/plugins/inspect/plugin-playback.xml docs/plugins/inspect/plugin-subparse.xml docs/plugins/inspect/plugin-tcp.xml docs/plugins/inspect/plugin-theora.xml docs/plugins/inspect/plugin-typefindfunctions.xml docs/plugins/inspect/plugin-uridecodebin.xml docs/plugins/inspect/plugin-videorate.xml docs/plugins/inspect/plugin-videoscale.xml docs/plugins/inspect/plugin-videotestsrc.xml docs/plugins/inspect/plugin-volume.xml docs/plugins/inspect/plugin-vorbis.xml docs/plugins/inspect/plugin-ximagesink.xml docs/plugins/inspect/plugin-xvimagesink.xml gst-libs/gst/app/gstappsink.c gst-libs/gst/audio/mixer.c gst-libs/gst/audio/mixer.h gst-libs/gst/tag/gstxmptag.c gst-libs/gst/video/colorbalance.c gst-libs/gst/video/colorbalance.h gst/adder/gstadder.c gst/playback/gstplaybasebin.c gst/playback/gstplaybin2.c gst/playback/gstplaysink.c gst/videoscale/gstvideoscale.c tests/check/elements/videoscale.c tests/examples/seek/seek.c tests/examples/v4l/probe.c win32/common/_stdint.h win32/common/audio-enumtypes.c win32/common/config.h
Diffstat (limited to 'gst-libs/gst')
-rw-r--r--gst-libs/gst/app/gstappsink.c26
-rw-r--r--gst-libs/gst/audio/mixer.c6
-rw-r--r--gst-libs/gst/audio/mixer.h6
-rw-r--r--gst-libs/gst/audio/mixerutils.c4
-rw-r--r--gst-libs/gst/interfaces/navigation.h2
-rw-r--r--gst-libs/gst/tag/gstxmptag.c6
-rw-r--r--gst-libs/gst/video/colorbalance.c8
-rw-r--r--gst-libs/gst/video/colorbalance.h8
8 files changed, 49 insertions, 17 deletions
diff --git a/gst-libs/gst/app/gstappsink.c b/gst-libs/gst/app/gstappsink.c
index 5239e82c5..25c95ebf0 100644
--- a/gst-libs/gst/app/gstappsink.c
+++ b/gst-libs/gst/app/gstappsink.c
@@ -158,6 +158,7 @@ static gboolean gst_app_sink_unlock_stop (GstBaseSink * bsink);
static gboolean gst_app_sink_start (GstBaseSink * psink);
static gboolean gst_app_sink_stop (GstBaseSink * psink);
static gboolean gst_app_sink_event (GstBaseSink * sink, GstEvent * event);
+static gboolean gst_app_sink_query (GstBaseSink * bsink, GstQuery * query);
static GstFlowReturn gst_app_sink_preroll (GstBaseSink * psink,
GstBuffer * buffer);
static GstFlowReturn gst_app_sink_render (GstBaseSink * psink,
@@ -337,6 +338,7 @@ gst_app_sink_class_init (GstAppSinkClass * klass)
basesink_class->render = gst_app_sink_render;
basesink_class->get_caps = gst_app_sink_getcaps;
basesink_class->set_caps = gst_app_sink_setcaps;
+ basesink_class->query = gst_app_sink_query;
klass->pull_preroll = gst_app_sink_pull_preroll;
klass->pull_sample = gst_app_sink_pull_sample;
@@ -774,6 +776,30 @@ gst_app_sink_getcaps (GstBaseSink * psink, GstCaps * filter)
return caps;
}
+static gboolean
+gst_app_sink_query (GstBaseSink * bsink, GstQuery * query)
+{
+ gboolean ret;
+
+ switch (GST_QUERY_TYPE (query)) {
+ case GST_QUERY_SEEKING:{
+ GstFormat fmt;
+
+ /* we don't supporting seeking */
+ gst_query_parse_seeking (query, &fmt, NULL, NULL, NULL);
+ gst_query_set_seeking (query, fmt, FALSE, 0, -1);
+ ret = TRUE;
+ break;
+ }
+
+ default:
+ ret = GST_BASE_SINK_CLASS (parent_class)->query (bsink, query);
+ break;
+ }
+
+ return ret;
+}
+
/* external API */
/**
diff --git a/gst-libs/gst/audio/mixer.c b/gst-libs/gst/audio/mixer.c
index 0fca9a83f..4c52b25a3 100644
--- a/gst-libs/gst/audio/mixer.c
+++ b/gst-libs/gst/audio/mixer.c
@@ -83,9 +83,8 @@ gst_mixer_get_type (void)
static void
gst_mixer_class_init (GstMixerInterface * iface)
{
- iface->mixer_type = GST_MIXER_SOFTWARE;
-
/* default virtual functions */
+ iface->get_mixer_type = NULL;
iface->list_tracks = NULL;
iface->set_volume = NULL;
iface->get_volume = NULL;
@@ -304,7 +303,8 @@ gst_mixer_get_mixer_type (GstMixer * mixer)
{
GstMixerInterface *iface = GST_MIXER_GET_INTERFACE (mixer);
- return iface->mixer_type;
+ g_return_val_if_fail (iface->get_mixer_type != NULL, GST_MIXER_SOFTWARE);
+ return iface->get_mixer_type (mixer);
}
/**
diff --git a/gst-libs/gst/audio/mixer.h b/gst-libs/gst/audio/mixer.h
index 2cb618bbf..1de602d63 100644
--- a/gst-libs/gst/audio/mixer.h
+++ b/gst-libs/gst/audio/mixer.h
@@ -37,8 +37,6 @@ G_BEGIN_DECLS
#define GST_MIXER_GET_INTERFACE(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_MIXER, GstMixerInterface))
-#define GST_MIXER_TYPE(iface) (iface->mixer_type)
-
typedef struct _GstMixer GstMixer;
typedef struct _GstMixerInterface GstMixerInterface;
@@ -112,8 +110,6 @@ typedef enum
struct _GstMixerInterface {
GTypeInterface iface;
- GstMixerType mixer_type;
-
/* virtual functions */
const GList * (* list_tracks) (GstMixer *mixer);
@@ -137,6 +133,8 @@ struct _GstMixerInterface {
GstMixerOptions *opts);
GstMixerFlags (* get_mixer_flags) (GstMixer *mixer);
+
+ GstMixerType (* get_mixer_type) (GstMixer *mixer);
};
GType gst_mixer_get_type (void);
diff --git a/gst-libs/gst/audio/mixerutils.c b/gst-libs/gst/audio/mixerutils.c
index 9653d01ae..ff29ea329 100644
--- a/gst-libs/gst/audio/mixerutils.c
+++ b/gst-libs/gst/audio/mixerutils.c
@@ -31,6 +31,10 @@
* </refsect2>
*/
+/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
+ * with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
diff --git a/gst-libs/gst/interfaces/navigation.h b/gst-libs/gst/interfaces/navigation.h
index 40cfff99f..6bbe01043 100644
--- a/gst-libs/gst/interfaces/navigation.h
+++ b/gst-libs/gst/interfaces/navigation.h
@@ -44,7 +44,7 @@ typedef struct _GstNavigationInterface GstNavigationInterface;
* @iface: the parent interface
* @send_event: sending a navigation event
*
- * Color-balance interface.
+ * Navigation interface.
*/
struct _GstNavigationInterface {
GTypeInterface iface;
diff --git a/gst-libs/gst/tag/gstxmptag.c b/gst-libs/gst/tag/gstxmptag.c
index b011cb01a..4f416b83f 100644
--- a/gst-libs/gst/tag/gstxmptag.c
+++ b/gst-libs/gst/tag/gstxmptag.c
@@ -173,9 +173,11 @@ xmp_tag_type_get_name (GstXmpTagType tagtype)
case GstXmpTagTypeBag:
return "rdf:Bag";
default:
- g_assert_not_reached ();
+ break;
}
- return NULL; /* make compiler happy with -DG_DISABLE_ASSERT */
+
+ /* Make compiler happy */
+ g_return_val_if_reached ("");
}
struct _PendingXmpTag
diff --git a/gst-libs/gst/video/colorbalance.c b/gst-libs/gst/video/colorbalance.c
index a73c7d7ff..57a4de4a7 100644
--- a/gst-libs/gst/video/colorbalance.c
+++ b/gst-libs/gst/video/colorbalance.c
@@ -106,12 +106,11 @@ gst_color_balance_class_init (GstColorBalanceInterface * iface)
initialized = TRUE;
}
- iface->balance_type = GST_COLOR_BALANCE_SOFTWARE;
-
/* default virtual functions */
iface->list_channels = NULL;
iface->set_value = NULL;
iface->get_value = NULL;
+ iface->get_balance_type = NULL;
}
/**
@@ -215,7 +214,10 @@ gst_color_balance_get_balance_type (GstColorBalance * balance)
iface = GST_COLOR_BALANCE_GET_INTERFACE (balance);
- return iface->balance_type;
+ g_return_val_if_fail (iface->get_balance_type != NULL,
+ GST_COLOR_BALANCE_SOFTWARE);
+
+ return iface->get_balance_type (balance);
}
/**
diff --git a/gst-libs/gst/video/colorbalance.h b/gst-libs/gst/video/colorbalance.h
index 8cc4276f0..7f43b0dcf 100644
--- a/gst-libs/gst/video/colorbalance.h
+++ b/gst-libs/gst/video/colorbalance.h
@@ -36,8 +36,6 @@ G_BEGIN_DECLS
#define GST_COLOR_BALANCE_GET_INTERFACE(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceInterface))
-#define GST_COLOR_BALANCE_TYPE(iface) (iface->balance_type)
-
typedef struct _GstColorBalance GstColorBalance;
typedef struct _GstColorBalanceInterface GstColorBalanceInterface;
@@ -73,8 +71,6 @@ typedef enum
struct _GstColorBalanceInterface {
GTypeInterface iface;
- GstColorBalanceType balance_type;
-
/* virtual functions */
const GList * (* list_channels) (GstColorBalance *balance);
@@ -83,11 +79,15 @@ struct _GstColorBalanceInterface {
gint value);
gint (* get_value) (GstColorBalance *balance,
GstColorBalanceChannel *channel);
+ GstColorBalanceType (*get_balance_type) (GstColorBalance *balance);
/* signals */
void (* value_changed) (GstColorBalance *balance,
GstColorBalanceChannel *channel,
gint value);
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING-1];
};
GType gst_color_balance_get_type (void);