summaryrefslogtreecommitdiff
path: root/gst-libs/gst/play/gstplay-video-renderer.c
diff options
context:
space:
mode:
authorStephan Hesse <stephan@emliri.com>2019-11-02 16:14:13 +0100
committerPhilippe Normand <philn@igalia.com>2021-03-09 18:03:48 +0000
commita74651ddc1ac9871c5cbfdf97f55a2e54436a182 (patch)
treef14897b859891eef3f464c107e9b5fe3b736fbcf /gst-libs/gst/play/gstplay-video-renderer.c
parent80c1722cbada974d9052e78faeb30f6a1648d305 (diff)
downloadgstreamer-plugins-bad-a74651ddc1ac9871c5cbfdf97f55a2e54436a182.tar.gz
play: Introducing the new playback library
This aims to be a replacement for the GstPlayer library. In GstPlay, notifications are sent as application messages through a dedicated GstBus. The GMainContext-based signal dispatcher was replaced by a GObject signal adapter, now relying on the bus to emit its signals. The signal dispatcher is now optional and fully decoupled from the GstPlay object. Co-authored with: Philippe Normand <philn@igalia.com> Fixes #394 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
Diffstat (limited to 'gst-libs/gst/play/gstplay-video-renderer.c')
-rw-r--r--gst-libs/gst/play/gstplay-video-renderer.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/gst-libs/gst/play/gstplay-video-renderer.c b/gst-libs/gst/play/gstplay-video-renderer.c
new file mode 100644
index 000000000..ba48f8555
--- /dev/null
+++ b/gst-libs/gst/play/gstplay-video-renderer.c
@@ -0,0 +1,49 @@
+/* GStreamer
+ *
+ * Copyright (C) 2014-2015 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * 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., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstplay-video-renderer.h"
+#include "gstplay-video-renderer-private.h"
+
+G_DEFINE_INTERFACE (GstPlayVideoRenderer, gst_play_video_renderer,
+ G_TYPE_OBJECT);
+
+static void
+gst_play_video_renderer_default_init (G_GNUC_UNUSED
+ GstPlayVideoRendererInterface * iface)
+{
+
+}
+
+GstElement *
+gst_play_video_renderer_create_video_sink (GstPlayVideoRenderer * self,
+ GstPlay * play)
+{
+ GstPlayVideoRendererInterface *iface;
+
+ g_return_val_if_fail (GST_IS_PLAY_VIDEO_RENDERER (self), NULL);
+ iface = GST_PLAY_VIDEO_RENDERER_GET_INTERFACE (self);
+ g_return_val_if_fail (iface->create_video_sink != NULL, NULL);
+
+ return iface->create_video_sink (self, play);
+}