diff options
author | Stephan Hesse <stephan@emliri.com> | 2019-11-02 16:14:13 +0100 |
---|---|---|
committer | Philippe Normand <philn@igalia.com> | 2021-03-09 18:03:48 +0000 |
commit | a74651ddc1ac9871c5cbfdf97f55a2e54436a182 (patch) | |
tree | f14897b859891eef3f464c107e9b5fe3b736fbcf /gst-libs/gst/play/gstplay-video-renderer.c | |
parent | 80c1722cbada974d9052e78faeb30f6a1648d305 (diff) | |
download | gstreamer-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.c | 49 |
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); +} |