mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
Remove GstVideoAggregator, moved into libgstvideo in -base
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/137
This commit is contained in:
parent
ae194e99d9
commit
b9e15fddb1
23 changed files with 10 additions and 3013 deletions
|
@ -2593,7 +2593,6 @@ gst-libs/gst/uridownloader/Makefile
|
|||
gst-libs/gst/wayland/Makefile
|
||||
gst-libs/gst/webrtc/Makefile
|
||||
gst-libs/gst/player/Makefile
|
||||
gst-libs/gst/video/Makefile
|
||||
gst-libs/gst/audio/Makefile
|
||||
gst-libs/gst/opencv/Makefile
|
||||
sys/Makefile
|
||||
|
@ -2730,8 +2729,6 @@ pkgconfig/gstreamer-wayland.pc
|
|||
pkgconfig/gstreamer-wayland-uninstalled.pc
|
||||
pkgconfig/gstreamer-webrtc.pc
|
||||
pkgconfig/gstreamer-webrtc-uninstalled.pc
|
||||
pkgconfig/gstreamer-bad-video.pc
|
||||
pkgconfig/gstreamer-bad-video-uninstalled.pc
|
||||
pkgconfig/gstreamer-bad-audio.pc
|
||||
pkgconfig/gstreamer-bad-audio-uninstalled.pc
|
||||
tools/Makefile
|
||||
|
|
|
@ -57,7 +57,6 @@ extra_files =
|
|||
GTKDOC_CFLAGS = -DGST_USE_UNSTABLE_API $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS)
|
||||
GTKDOC_LIBS = \
|
||||
$(top_builddir)/gst-libs/gst/audio/libgstbadaudio-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/video/libgstbadvideo-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/insertbin/libgstinsertbin-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/mpegts/libgstmpegts-@GST_API_VERSION@.la \
|
||||
|
|
|
@ -58,12 +58,6 @@
|
|||
<xi:include href="xml/gstinsertbin.xml" />
|
||||
</chapter>
|
||||
|
||||
<chapter id="video">
|
||||
<title>Video helpers and baseclasses</title>
|
||||
<xi:include href="xml/gstvideoaggregator.xml" />
|
||||
<xi:include href="xml/gstvideoaggregatorpad.xml" />
|
||||
</chapter>
|
||||
|
||||
<chapter id="player">
|
||||
<title>Player Library</title>
|
||||
<xi:include href="xml/gstplayer.xml"/>
|
||||
|
|
|
@ -761,37 +761,6 @@ gst_insert_bin_get_type
|
|||
GstInsertBinPrivate
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstvideoaggregator</FILE>
|
||||
<TITLE>GstVideoAggregator</TITLE>
|
||||
GstVideoAggregator
|
||||
GstVideoAggregatorClass
|
||||
<SUBSECTION Standard>
|
||||
GST_IS_VIDEO_AGGREGATOR
|
||||
GST_IS_VIDEO_AGGREGATOR_CLASS
|
||||
GST_TYPE_VIDEO_AGGREGATOR
|
||||
GST_VIDEO_AGGREGATOR
|
||||
GST_VIDEO_AGGREGATOR_CLASS
|
||||
GST_VIDEO_AGGREGATOR_GET_CLASS
|
||||
gst_video_aggregator_get_type
|
||||
GstVideoAggregatorPrivate
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstvideoaggregatorpad</FILE>
|
||||
<TITLE>GstVideoAggregatorPad</TITLE>
|
||||
GstVideoAggregatorPad
|
||||
GstVideoAggregatorPadClass
|
||||
<SUBSECTION Standard>
|
||||
GST_IS_VIDEO_AGGREGATOR_PAD
|
||||
GST_IS_VIDEO_AGGREGATOR_PADCLASS
|
||||
GST_TYPE_VIDEO_AGGREGATOR_PAD
|
||||
GST_VIDEO_AGGREGATOR_PAD
|
||||
GST_VIDEO_AGGREGATOR_PAD_CLASS
|
||||
GST_VIDEO_AGGREGATOR_PAD_GET_CLASS
|
||||
gst_video_aggregator_pad_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gstplayer</FILE>
|
||||
GstPlayer
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include <gst/gst.h>
|
||||
|
||||
#include <gst/video/gstvideoaggregator.h>
|
||||
#include <gst/codecparsers/gsth264parser.h>
|
||||
#include <gst/codecparsers/gstmpegvideoparser.h>
|
||||
#include <gst/insertbin/gstinsertbin.h>
|
||||
|
@ -8,9 +7,6 @@
|
|||
#include <gst/player/player.h>
|
||||
#include <gst/webrtc/webrtc.h>
|
||||
|
||||
gst_video_aggregator_get_type
|
||||
gst_video_aggregator_pad_get_type
|
||||
|
||||
gst_mpegts_section_get_type
|
||||
gst_mpegts_section_type_get_type
|
||||
gst_mpegts_section_table_id_get_type
|
||||
|
|
|
@ -42,7 +42,6 @@ libgstopenglmixers_la_CFLAGS = \
|
|||
-Dgst_gl_set_affine_transformation_meta_from_ndc_ext=Dgst_gl_bad_set_affine_transformation_meta_from_ndc_ext
|
||||
|
||||
libgstopenglmixers_la_LIBADD = \
|
||||
$(top_builddir)/gst-libs/gst/video/libgstbadvideo-@GST_API_VERSION@.la \
|
||||
$(GST_GL_LIBS) \
|
||||
$(GST_PLUGINS_BASE_LIBS) \
|
||||
$(GST_BASE_LIBS) \
|
||||
|
|
|
@ -10,7 +10,6 @@ opengl_sources = [
|
|||
|
||||
if gstgl_dep.found()
|
||||
optional_deps = []
|
||||
opengl_defines = ['-DGST_USE_UNSTABLE_API'] # for videoaggregator
|
||||
|
||||
if gst_gl_have_api_opengl # have desktop GL
|
||||
opengl_sources += [
|
||||
|
@ -25,10 +24,10 @@ if gstgl_dep.found()
|
|||
|
||||
gstopenglmixers = library('gstopenglmixers',
|
||||
opengl_sources,
|
||||
c_args : gst_plugins_bad_args + opengl_defines,
|
||||
c_args : gst_plugins_bad_args,
|
||||
link_args : noseh_link_args,
|
||||
include_directories : [configinc],
|
||||
dependencies : [gstbadvideo_dep, gstgl_dep, gstvideo_dep,
|
||||
dependencies : [gstgl_dep, gstvideo_dep,
|
||||
gstbase_dep, gstcontroller_dep, libm] + optional_deps,
|
||||
install : true,
|
||||
install_dir : plugins_install_dir,
|
||||
|
|
|
@ -12,8 +12,7 @@ libgstiqa_la_CFLAGS = \
|
|||
libgstiqa_la_CFLAGS += $(DSSIM_CFLAGS)
|
||||
|
||||
libgstiqa_la_LIBADD = \
|
||||
$(top_builddir)/gst-libs/gst/video/libgstbadvideo-$(GST_API_VERSION).la \
|
||||
$(GST_PLUGINS_BASE_LIBS) \
|
||||
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-@GST_API_VERSION@ \
|
||||
$(GST_BASE_LIBS) $(GST_LIBS)
|
||||
|
||||
libgstiqa_la_LIBADD += $(DSSIM_LIBS)
|
||||
|
|
|
@ -6,7 +6,7 @@ if dssim_dep.found()
|
|||
'iqa.c',
|
||||
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DHAVE_DSSIM'],
|
||||
include_directories : [configinc],
|
||||
dependencies : [gst_dep, gstbadvideo_dep, gstbase_dep, dssim_dep],
|
||||
dependencies : [gstvideo_dep, gstbase_dep, gst_dep, dssim_dep],
|
||||
install : true,
|
||||
install_dir : plugins_install_dir,
|
||||
)
|
||||
|
|
|
@ -7,12 +7,12 @@ OPENCV_DIR=opencv
|
|||
endif
|
||||
|
||||
SUBDIRS = uridownloader adaptivedemux interfaces basecamerabinsrc codecparsers \
|
||||
insertbin mpegts video audio sctp player isoff webrtc $(WAYLAND_DIR) \
|
||||
insertbin mpegts audio sctp player isoff webrtc $(WAYLAND_DIR) \
|
||||
$(OPENCV_DIR)
|
||||
|
||||
noinst_HEADERS = gst-i18n-plugin.h gettext.h glib-compat-private.h
|
||||
DIST_SUBDIRS = uridownloader adaptivedemux interfaces basecamerabinsrc \
|
||||
codecparsers insertbin mpegts wayland opencv video audio player isoff sctp webrtc
|
||||
codecparsers insertbin mpegts wayland opencv audio player isoff sctp webrtc
|
||||
|
||||
adaptivedemux: uridownloader
|
||||
|
||||
|
|
|
@ -11,6 +11,5 @@ subdir('mpegts')
|
|||
subdir('opencv')
|
||||
subdir('player')
|
||||
subdir('sctp')
|
||||
subdir('video')
|
||||
subdir('wayland')
|
||||
subdir('webrtc')
|
||||
|
|
1
gst-libs/gst/video/.gitignore
vendored
1
gst-libs/gst/video/.gitignore
vendored
|
@ -1 +0,0 @@
|
|||
bad-video-orc.h
|
|
@ -1,27 +0,0 @@
|
|||
# variables used for enum generation
|
||||
lib_LTLIBRARIES = libgstbadvideo-@GST_API_VERSION@.la
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
libgstbadvideo_@GST_API_VERSION@_la_SOURCES = \
|
||||
gstvideoaggregator.c
|
||||
|
||||
nodist_libgstbadvideo_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
|
||||
|
||||
libgstbadvideo_@GST_API_VERSION@_la_CFLAGS = \
|
||||
-DGST_USE_UNSTABLE_API \
|
||||
-DBUILDING_GST_VIDEO_BAD \
|
||||
-I$(top_srcdir)/gst-libs \
|
||||
-I$(top_builddir)/gst-libs \
|
||||
$(GST_CFLAGS) $(ORC_CFLAGS) \
|
||||
$(GST_PLUGINS_BASE_CFLAGS) \
|
||||
$(GST_BASE_CFLAGS)
|
||||
|
||||
libgstbadvideo_@GST_API_VERSION@_la_LIBADD = \
|
||||
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
|
||||
$(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
|
||||
|
||||
libgstbadvideo_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
|
||||
|
||||
libgstvideo_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/video
|
||||
libgstvideo_@GST_API_VERSION@include_HEADERS = gstvideoaggregator.h video-bad-prelude.h
|
File diff suppressed because it is too large
Load diff
|
@ -1,248 +0,0 @@
|
|||
/* Generic video aggregator plugin
|
||||
* Copyright (C) 2008 Wim Taymans <wim@fluendo.com>
|
||||
* Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef __GST_VIDEO_AGGREGATOR_H__
|
||||
#define __GST_VIDEO_AGGREGATOR_H__
|
||||
|
||||
#ifndef GST_USE_UNSTABLE_API
|
||||
#warning "The Video library from gst-plugins-bad is unstable API and may change in future."
|
||||
#warning "You can define GST_USE_UNSTABLE_API to avoid this warning."
|
||||
#endif
|
||||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/video/video.h>
|
||||
#include <gst/base/gstaggregator.h>
|
||||
#include <gst/video/video-bad-prelude.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _GstVideoAggregator GstVideoAggregator;
|
||||
typedef struct _GstVideoAggregatorClass GstVideoAggregatorClass;
|
||||
typedef struct _GstVideoAggregatorPrivate GstVideoAggregatorPrivate;
|
||||
|
||||
/*************************
|
||||
* GstVideoAggregatorPad *
|
||||
*************************/
|
||||
|
||||
#define GST_TYPE_VIDEO_AGGREGATOR_PAD (gst_video_aggregator_pad_get_type())
|
||||
#define GST_VIDEO_AGGREGATOR_PAD(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VIDEO_AGGREGATOR_PAD, GstVideoAggregatorPad))
|
||||
#define GST_VIDEO_AGGREGATOR_PAD_CAST(obj) ((GstVideoAggregatorPad *)(obj))
|
||||
#define GST_VIDEO_AGGREGATOR_PAD_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VIDEO_AGGREGATOR_PAD, GstVideoAggregatorPadClass))
|
||||
#define GST_IS_VIDEO_AGGREGATOR_PAD(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEO_AGGREGATOR_PAD))
|
||||
#define GST_IS_VIDEO_AGGREGATOR_PAD_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEO_AGGREGATOR_PAD))
|
||||
#define GST_VIDEO_AGGREGATOR_PAD_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_VIDEO_AGGREGATOR_PAD,GstVideoAggregatorPadClass))
|
||||
|
||||
typedef struct _GstVideoAggregatorPad GstVideoAggregatorPad;
|
||||
typedef struct _GstVideoAggregatorPadClass GstVideoAggregatorPadClass;
|
||||
typedef struct _GstVideoAggregatorPadPrivate GstVideoAggregatorPadPrivate;
|
||||
|
||||
/**
|
||||
* GstVideoAggregatorPad:
|
||||
* @info: The #GstVideoInfo currently set on the pad
|
||||
*/
|
||||
struct _GstVideoAggregatorPad
|
||||
{
|
||||
GstAggregatorPad parent;
|
||||
|
||||
/*< public >*/
|
||||
/* read-only, with OBJECT_LOCK */
|
||||
GstVideoInfo info;
|
||||
|
||||
/* < private > */
|
||||
GstVideoAggregatorPadPrivate *priv;
|
||||
|
||||
gpointer _gst_reserved[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
* GstVideoAggregatorPadClass:
|
||||
*
|
||||
* @update_conversion_info: Called when either the input or output formats
|
||||
* have changed.
|
||||
* @prepare_frame: Prepare the frame from the pad buffer and sets it to prepared_frame
|
||||
* @clean_frame: clean the frame previously prepared in prepare_frame
|
||||
*/
|
||||
struct _GstVideoAggregatorPadClass
|
||||
{
|
||||
GstAggregatorPadClass parent_class;
|
||||
void (*update_conversion_info) (GstVideoAggregatorPad * pad);
|
||||
|
||||
gboolean (*prepare_frame) (GstVideoAggregatorPad * pad,
|
||||
GstVideoAggregator * videoaggregator,
|
||||
GstBuffer * buffer,
|
||||
GstVideoFrame * prepared_frame);
|
||||
|
||||
void (*clean_frame) (GstVideoAggregatorPad * pad,
|
||||
GstVideoAggregator * videoaggregator,
|
||||
GstVideoFrame * prepared_frame);
|
||||
|
||||
gpointer _gst_reserved[GST_PADDING_LARGE];
|
||||
};
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
GType gst_video_aggregator_pad_get_type (void);
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
gboolean gst_video_aggregator_pad_has_current_buffer (GstVideoAggregatorPad *pad);
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
GstBuffer * gst_video_aggregator_pad_get_current_buffer (GstVideoAggregatorPad *pad);
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
GstVideoFrame * gst_video_aggregator_pad_get_prepared_frame (GstVideoAggregatorPad *pad);
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
void gst_video_aggregator_pad_set_needs_alpha (GstVideoAggregatorPad *pad, gboolean needs_alpha);
|
||||
|
||||
/********************************
|
||||
* GstVideoAggregatorConvertPad *
|
||||
*******************************/
|
||||
|
||||
#define GST_TYPE_VIDEO_AGGREGATOR_CONVERT_PAD (gst_video_aggregator_convert_pad_get_type())
|
||||
#define GST_VIDEO_AGGREGATOR_CONVERT_PAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VIDEO_AGGREGATOR_CONVERT_PAD, GstVideoAggregatorConvertPad))
|
||||
#define GST_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VIDEO_AGGREGATOR_CONVERT_PAD, GstVideoAggregatorConvertPadClass))
|
||||
#define GST_VIDEO_AGGREGATOR_CONVERT_PAD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_VIDEO_AGGREGATOR_CONVERT_PAD, GstVideoAggregatorConvertPadClass))
|
||||
#define GST_IS_VIDEO_AGGREGATOR_CONVERT_PAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEO_AGGREGATOR_CONVERT_PAD))
|
||||
#define GST_IS_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEO_AGGREGATOR_CONVERT_PAD))
|
||||
|
||||
typedef struct _GstVideoAggregatorConvertPad GstVideoAggregatorConvertPad;
|
||||
typedef struct _GstVideoAggregatorConvertPadClass GstVideoAggregatorConvertPadClass;
|
||||
typedef struct _GstVideoAggregatorConvertPadPrivate GstVideoAggregatorConvertPadPrivate;
|
||||
|
||||
/**
|
||||
* GstVideoAggregatorConvertPad:
|
||||
*
|
||||
* An implementation of GstPad that can be used with #GstVideoAggregator.
|
||||
*
|
||||
* See #GstVideoAggregator for more details.
|
||||
*/
|
||||
struct _GstVideoAggregatorConvertPad
|
||||
{
|
||||
/*< private >*/
|
||||
GstVideoAggregatorPad parent;
|
||||
|
||||
GstVideoAggregatorConvertPadPrivate *priv;
|
||||
|
||||
gpointer _gst_reserved[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
* GstVideoAggregatorConvertPadClass:
|
||||
*
|
||||
*/
|
||||
struct _GstVideoAggregatorConvertPadClass
|
||||
{
|
||||
GstVideoAggregatorPadClass parent_class;
|
||||
|
||||
void (*create_conversion_info) (GstVideoAggregatorConvertPad *pad, GstVideoAggregator *agg, GstVideoInfo *conversion_info);
|
||||
|
||||
/*< private >*/
|
||||
gpointer _gst_reserved[GST_PADDING];
|
||||
};
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
GType gst_video_aggregator_convert_pad_get_type (void);
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
void gst_video_aggregator_convert_pad_update_conversion_info (GstVideoAggregatorConvertPad * pad);
|
||||
|
||||
/**********************
|
||||
* GstVideoAggregator *
|
||||
*********************/
|
||||
|
||||
#define GST_TYPE_VIDEO_AGGREGATOR (gst_video_aggregator_get_type())
|
||||
#define GST_VIDEO_AGGREGATOR(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VIDEO_AGGREGATOR, GstVideoAggregator))
|
||||
#define GST_VIDEO_AGGREGATOR_CAST(obj) ((GstVideoAggregator *)(obj))
|
||||
#define GST_VIDEO_AGGREGATOR_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VIDEO_AGGREGATOR, GstVideoAggregatorClass))
|
||||
#define GST_IS_VIDEO_AGGREGATOR(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEO_AGGREGATOR))
|
||||
#define GST_IS_VIDEO_AGGREGATOR_CLASS(klass) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEO_AGGREGATOR))
|
||||
#define GST_VIDEO_AGGREGATOR_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_VIDEO_AGGREGATOR,GstVideoAggregatorClass))
|
||||
|
||||
/**
|
||||
* GstVideoAggregator:
|
||||
* @info: The #GstVideoInfo representing the currently set
|
||||
* srcpad caps.
|
||||
*/
|
||||
struct _GstVideoAggregator
|
||||
{
|
||||
GstAggregator aggregator;
|
||||
|
||||
/*< public >*/
|
||||
/* Output caps */
|
||||
GstVideoInfo info;
|
||||
|
||||
/* < private > */
|
||||
GstVideoAggregatorPrivate *priv;
|
||||
gpointer _gst_reserved[GST_PADDING_LARGE];
|
||||
};
|
||||
|
||||
/**
|
||||
* GstVideoAggregatorClass:
|
||||
* @update_caps: Optional.
|
||||
* Lets subclasses update the #GstCaps representing
|
||||
* the src pad caps before usage. Return %NULL to indicate failure.
|
||||
* @aggregate_frames: Lets subclasses aggregate frames that are ready. Subclasses
|
||||
* should iterate the GstElement.sinkpads and use the already
|
||||
* mapped #GstVideoFrame from gst_video_aggregator_pad_get_prepared_frame()
|
||||
* or directly use the #GstBuffer from gst_video_aggregator_pad_get_current_buffer()
|
||||
* if it needs to map the buffer in a special way. The result of the
|
||||
* aggregation should land in @outbuffer.
|
||||
* @create_output_buffer: Optional.
|
||||
* Lets subclasses provide a #GstBuffer to be used as @outbuffer of
|
||||
* the #aggregate_frames vmethod.
|
||||
* @find_best_format: Optional.
|
||||
* Lets subclasses decide of the best common format to use.
|
||||
**/
|
||||
struct _GstVideoAggregatorClass
|
||||
{
|
||||
/*< private >*/
|
||||
GstAggregatorClass parent_class;
|
||||
|
||||
/*< public >*/
|
||||
GstCaps * (*update_caps) (GstVideoAggregator * videoaggregator,
|
||||
GstCaps * caps);
|
||||
GstFlowReturn (*aggregate_frames) (GstVideoAggregator * videoaggregator,
|
||||
GstBuffer * outbuffer);
|
||||
GstFlowReturn (*create_output_buffer) (GstVideoAggregator * videoaggregator,
|
||||
GstBuffer ** outbuffer);
|
||||
void (*find_best_format) (GstVideoAggregator * vagg,
|
||||
GstCaps * downstream_caps,
|
||||
GstVideoInfo * best_info,
|
||||
gboolean * at_least_one_alpha);
|
||||
|
||||
/* < private > */
|
||||
gpointer _gst_reserved[GST_PADDING_LARGE];
|
||||
};
|
||||
|
||||
GST_VIDEO_BAD_API
|
||||
GType gst_video_aggregator_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_VIDEO_AGGREGATOR_H__ */
|
|
@ -1,24 +0,0 @@
|
|||
badvideo_sources = [
|
||||
'gstvideoaggregator.c',
|
||||
]
|
||||
badvideo_headers = [
|
||||
'gstvideoaggregator.h',
|
||||
'video-bad-prelude.h',
|
||||
]
|
||||
install_headers(badvideo_headers, subdir : 'gstreamer-1.0/gst/video')
|
||||
|
||||
|
||||
gstbadvideo = library('gstbadvideo-' + api_version,
|
||||
badvideo_sources,
|
||||
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_VIDEO_BAD'],
|
||||
include_directories : [configinc, libsinc],
|
||||
version : libversion,
|
||||
soversion : soversion,
|
||||
darwin_versions : osxversion,
|
||||
install : true,
|
||||
dependencies : [gstvideo_dep, gstbase_dep],
|
||||
)
|
||||
|
||||
gstbadvideo_dep = declare_dependency(link_with : gstbadvideo,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gstvideo_dep, gstbase_dep])
|
|
@ -1,35 +0,0 @@
|
|||
/* GStreamer Video Library
|
||||
* Copyright (C) 2018 GStreamer developers
|
||||
*
|
||||
* video-prelude.h: prelude include header for gst-video library
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef __GST_VIDEO_BAD_PRELUDE_H__
|
||||
#define __GST_VIDEO_BAD_PRELUDE_H__
|
||||
|
||||
#include <gst/gst.h>
|
||||
|
||||
#ifndef GST_VIDEO_BAD_API
|
||||
# ifdef BUILDING_GST_VIDEO_BAD
|
||||
# define GST_VIDEO_BAD_API GST_API_EXPORT /* from config.h */
|
||||
# else
|
||||
# define GST_VIDEO_BAD_API GST_API_IMPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* __GST_VIDEO_BAD_PRELUDE_H__ */
|
|
@ -16,7 +16,6 @@ libgstcompositor_la_CFLAGS = \
|
|||
$(GST_PLUGINS_BASE_CFLAGS) \
|
||||
$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(ORC_CFLAGS)
|
||||
libgstcompositor_la_LIBADD = \
|
||||
$(top_builddir)/gst-libs/gst/video/libgstbadvideo-$(GST_API_VERSION).la \
|
||||
$(GST_PLUGINS_BASE_LIBS) \
|
||||
-lgstvideo-@GST_API_VERSION@ \
|
||||
$(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
|
||||
|
|
|
@ -24,9 +24,9 @@ endif
|
|||
|
||||
gstcompositor = library('gstcompositor',
|
||||
compositor_sources, orc_c, orc_h,
|
||||
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
|
||||
c_args : gst_plugins_bad_args,
|
||||
include_directories : [configinc],
|
||||
dependencies : [gstbadvideo_dep, gstvideo_dep, gstbase_dep, orc_dep, libm],
|
||||
dependencies : [gstvideo_dep, gstbase_dep, orc_dep, libm],
|
||||
install : true,
|
||||
install_dir : plugins_install_dir,
|
||||
)
|
||||
|
|
|
@ -8,8 +8,7 @@ pcverfiles = \
|
|||
gstreamer-player-@GST_API_VERSION@.pc \
|
||||
gstreamer-sctp-@GST_API_VERSION@.pc \
|
||||
gstreamer-webrtc-@GST_API_VERSION@.pc \
|
||||
gstreamer-bad-audio-@GST_API_VERSION@.pc \
|
||||
gstreamer-bad-video-@GST_API_VERSION@.pc
|
||||
gstreamer-bad-audio-@GST_API_VERSION@.pc
|
||||
|
||||
pcverfiles_uninstalled = \
|
||||
gstreamer-plugins-bad-@GST_API_VERSION@-uninstalled.pc \
|
||||
|
@ -19,8 +18,7 @@ pcverfiles_uninstalled = \
|
|||
gstreamer-player-@GST_API_VERSION@-uninstalled.pc \
|
||||
gstreamer-sctp-@GST_API_VERSION@-uninstalled.pc \
|
||||
gstreamer-webrtc-@GST_API_VERSION@-uninstalled.pc \
|
||||
gstreamer-bad-audio-@GST_API_VERSION@-uninstalled.pc \
|
||||
gstreamer-bad-video-@GST_API_VERSION@-uninstalled.pc
|
||||
gstreamer-bad-audio-@GST_API_VERSION@-uninstalled.pc
|
||||
|
||||
all-local: $(pcverfiles) $(pcverfiles_uninstalled)
|
||||
|
||||
|
@ -36,7 +34,6 @@ cp_verbose_0 = @echo " CP $@";
|
|||
### rather than hardcoding it in the file directly.
|
||||
$(AM_V_GEN) sed \
|
||||
-e "s|[@]audiolibdir[@]|$(abs_top_builddir)/gst-libs/gst/audio/.libs|" \
|
||||
-e "s|[@]videolibdir[@]|$(abs_top_builddir)/gst-libs/gst/video/.libs|" \
|
||||
-e "s|[@]codecparserslibdir[@]|$(abs_top_builddir)/gst-libs/gst/codecparsers/.libs|" \
|
||||
-e "s|[@]insertbinlibdir[@]|$(abs_top_builddir)/gst-libs/gst/insertbin/.libs|" \
|
||||
-e "s|[@]mpegtslibdir[@]|$(abs_top_builddir)/gst-libs/gst/mpegts/.libs|" \
|
||||
|
@ -59,7 +56,6 @@ pcinfiles = \
|
|||
gstreamer-player.pc.in gstreamer-player-uninstalled.pc.in \
|
||||
gstreamer-webrtc.pc.in gstreamer-webrtc-uninstalled.pc.in \
|
||||
gstreamer-bad-audio.pc.in gstreamer-bad-audio-uninstalled.pc.in \
|
||||
gstreamer-bad-video.pc.in gstreamer-bad-video-uninstalled.pc.in \
|
||||
gstreamer-sctp.pc.in gstreamer-sctp-uninstalled.pc.in
|
||||
|
||||
DISTCLEANFILES = $(pcinfiles:.in=)
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
prefix=
|
||||
exec_prefix=
|
||||
libdir=@videolibdir@
|
||||
includedir=@abs_top_builddir@/gst-libs
|
||||
girdir=@abs_top_builddir@/gst-libs/gst/video
|
||||
typelibdir=@abs_top_builddir@/gst-libs/gst/video
|
||||
|
||||
Name: GStreamer bad video library, uninstalled
|
||||
Description: Bad video library for GStreamer elements, Not Installed
|
||||
Version: @VERSION@
|
||||
Requires: gstreamer-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@
|
||||
|
||||
Libs: -L${libdir} -lgstbadvideo-@GST_API_VERSION@
|
||||
Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
|
|
@ -1,16 +0,0 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@/gstreamer-@GST_API_VERSION@
|
||||
datarootdir=${prefix}/share
|
||||
datadir=${datarootdir}
|
||||
girdir=${datadir}/gir-1.0
|
||||
typelibdir=${libdir}/girepository-1.0
|
||||
|
||||
Name: GStreamer bad video library
|
||||
Description: Bad video library for GStreamer elements
|
||||
Version: @VERSION@
|
||||
Requires: gstreamer-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@
|
||||
|
||||
Libs: -L${libdir} -lgstbadvideo-@GST_API_VERSION@
|
||||
Cflags: -I${includedir}
|
|
@ -11,7 +11,6 @@ pkgconf.set('VERSION', gst_version)
|
|||
pkgconf.set('abs_top_builddir', join_paths(meson.current_build_dir(), '..'))
|
||||
pkgconf.set('abs_top_srcdir', join_paths(meson.current_source_dir(), '..'))
|
||||
pkgconf.set('audiolibdir', join_paths(meson.build_root(), gstbadaudio.outdir()))
|
||||
pkgconf.set('videolibdir', join_paths(meson.build_root(), gstbadvideo.outdir()))
|
||||
pkgconf.set('codecparserslibdir', join_paths(meson.build_root(), gstcodecparsers.outdir()))
|
||||
pkgconf.set('insertbinlibdir', join_paths(meson.build_root(), gstinsertbin.outdir()))
|
||||
pkgconf.set('mpegtslibdir', join_paths(meson.build_root(), gstmpegts.outdir()))
|
||||
|
@ -24,7 +23,6 @@ pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
|
|||
|
||||
pkg_libs = [
|
||||
'bad-audio',
|
||||
'bad-video',
|
||||
'codecparsers',
|
||||
'insertbin',
|
||||
'mpegts',
|
||||
|
|
Loading…
Reference in a new issue