summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/play
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst/play')
-rw-r--r--gst-libs/gst/play/Makefile.am5
-rw-r--r--gst-libs/gst/play/gstplay.c7
-rw-r--r--gst-libs/gst/play/gstplay.h1
-rw-r--r--gst-libs/gst/play/play.c7
-rw-r--r--gst-libs/gst/play/play.h1
5 files changed, 16 insertions, 5 deletions
diff --git a/gst-libs/gst/play/Makefile.am b/gst-libs/gst/play/Makefile.am
index db444521..82a6d672 100644
--- a/gst-libs/gst/play/Makefile.am
+++ b/gst-libs/gst/play/Makefile.am
@@ -8,7 +8,10 @@ libgstplay_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@
libgstplay_@GST_MAJORMINOR@include_HEADERS = gstplay.h
libgstplay_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_CFLAGS)
-libgstplay_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS) $(GST_PLUGINS_LIBS) $(GST_CONTROL_LIBS)
+libgstplay_@GST_MAJORMINOR@_la_LIBADD =
+ $(GST_LIBS) $(GST_PLUGINS_LIBS) \
+ $(GST_CONTROL_LIBS) \
+ $(top_builddir)/gst-libs/gst/libgstinterfaces-$(GST_MAJORMINOR).la
libgstplay_@GST_MAJORMINOR@_la_LDFLAGS = \
-version-info @GST_PLUGINS_LIBVERSION@
diff --git a/gst-libs/gst/play/gstplay.c b/gst-libs/gst/play/gstplay.c
index d79e06f3..7c7ef849 100644
--- a/gst-libs/gst/play/gstplay.c
+++ b/gst-libs/gst/play/gstplay.c
@@ -685,8 +685,11 @@ gst_play_set_video_sink (GstPlay *play, GstElement *video_sink)
if (GST_IS_ELEMENT (video_sink_element)) {
g_hash_table_replace (play->priv->elements, "video_sink_element",
video_sink_element);
- g_signal_connect (G_OBJECT (video_sink_element), "have_video_size",
- G_CALLBACK (gst_play_have_video_size), play);
+ if (GST_IS_X_OVERLAY (video_sink_element)) {
+ g_signal_connect (G_OBJECT (video_sink_element),
+ "desired_size_changed",
+ G_CALLBACK (gst_play_have_video_size), play);
+ }
}
gst_element_set_state (video_sink, GST_STATE (GST_ELEMENT(play)));
diff --git a/gst-libs/gst/play/gstplay.h b/gst-libs/gst/play/gstplay.h
index 0c45d943..484b7bc0 100644
--- a/gst-libs/gst/play/gstplay.h
+++ b/gst-libs/gst/play/gstplay.h
@@ -21,6 +21,7 @@
#define __GST_PLAY_H__
#include <gst/gst.h>
+#include <gst/xoverlay/xoverlay.h>
#define GST_TYPE_PLAY (gst_play_get_type())
#define GST_PLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PLAY, GstPlay))
diff --git a/gst-libs/gst/play/play.c b/gst-libs/gst/play/play.c
index d79e06f3..7c7ef849 100644
--- a/gst-libs/gst/play/play.c
+++ b/gst-libs/gst/play/play.c
@@ -685,8 +685,11 @@ gst_play_set_video_sink (GstPlay *play, GstElement *video_sink)
if (GST_IS_ELEMENT (video_sink_element)) {
g_hash_table_replace (play->priv->elements, "video_sink_element",
video_sink_element);
- g_signal_connect (G_OBJECT (video_sink_element), "have_video_size",
- G_CALLBACK (gst_play_have_video_size), play);
+ if (GST_IS_X_OVERLAY (video_sink_element)) {
+ g_signal_connect (G_OBJECT (video_sink_element),
+ "desired_size_changed",
+ G_CALLBACK (gst_play_have_video_size), play);
+ }
}
gst_element_set_state (video_sink, GST_STATE (GST_ELEMENT(play)));
diff --git a/gst-libs/gst/play/play.h b/gst-libs/gst/play/play.h
index 0c45d943..484b7bc0 100644
--- a/gst-libs/gst/play/play.h
+++ b/gst-libs/gst/play/play.h
@@ -21,6 +21,7 @@
#define __GST_PLAY_H__
#include <gst/gst.h>
+#include <gst/xoverlay/xoverlay.h>
#define GST_TYPE_PLAY (gst_play_get_type())
#define GST_PLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PLAY, GstPlay))