diff options
Diffstat (limited to 'gst-libs/gst/play')
-rw-r--r-- | gst-libs/gst/play/Makefile.am | 5 | ||||
-rw-r--r-- | gst-libs/gst/play/gstplay.c | 7 | ||||
-rw-r--r-- | gst-libs/gst/play/gstplay.h | 1 | ||||
-rw-r--r-- | gst-libs/gst/play/play.c | 7 | ||||
-rw-r--r-- | gst-libs/gst/play/play.h | 1 |
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)) |