mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
936b2fdfbc
Implement a new memory type wrapping CVPixelBuffer. There are two immediate advantages: a) Make the GstMemory itself retain the CVPixelBuffer. Previously, the containing GstBuffer was solely responsible for the lifetime of the backing CVPixelBuffer. With this change, we remove the GST_MEMORY_FLAG_NO_SHARE so that GstMemory objects be referenced by multiple GstBuffers (doing away with the need to copy.) b) Delay locking CVPixelBuffer into CPU memory until it's actually mapped -- possibly never. The CVPixelBuffer object is shared among references, shares and (in planar formats) planes, so a wrapper GstAppleCoreVideoPixelBuffer structure was introduced to manage locking. https://bugzilla.gnome.org/show_bug.cgi?id=747216
119 lines
2.9 KiB
Makefile
119 lines
2.9 KiB
Makefile
plugin_LTLIBRARIES = libgstapplemedia.la
|
|
|
|
libgstapplemedia_la_SOURCES = \
|
|
plugin.m \
|
|
vtutil.c \
|
|
corevideomemory.c \
|
|
corevideobuffer.c \
|
|
coremediabuffer.c \
|
|
videotexturecache.m \
|
|
atdec.c
|
|
|
|
libgstapplemedia_la_CPPFLAGS = \
|
|
-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new \
|
|
-Dgst_core_media_buffer_get_type=gst_core_media_buffer_priv_get_type \
|
|
-Dgst_core_media_buffer_get_pixel_buffer=gst_core_media_buffer_priv_get_pixel_buffer\
|
|
-Dgst_core_video_buffer_new=gst_core_video_buffer_priv_new \
|
|
-Dgst_core_video_buffer_get_type=gst_core_video_buffer_priv_get_type
|
|
|
|
libgstapplemedia_la_CFLAGS = \
|
|
-I$(top_srcdir)/gst-libs \
|
|
-I$(top_builddir)/gst-libs \
|
|
$(GST_CFLAGS) \
|
|
$(GST_BASE_CFLAGS) \
|
|
$(GST_PLUGINS_BASE_CFLAGS)
|
|
|
|
if HAVE_IOS
|
|
GST_OBJCFLAGS_WITH_VERSION = $(GST_OBJCFLAGS)
|
|
else
|
|
# Add min version in front so the user or cerbero can override it since it
|
|
# always picks the last occurence when passing several -mmacosx-version-min.
|
|
GST_OBJCFLAGS_WITH_VERSION = -mmacosx-version-min=10.8 $(GST_OBJCFLAGS)
|
|
endif
|
|
|
|
libgstapplemedia_la_OBJCFLAGS = \
|
|
-I$(top_srcdir)/gst-libs \
|
|
-I$(top_builddir)/gst-libs \
|
|
$(GST_OBJCFLAGS_WITH_VERSION) \
|
|
$(GST_BASE_CFLAGS) \
|
|
$(GST_PLUGINS_BASE_CFLAGS)
|
|
|
|
if HAVE_IOS
|
|
libgstapplemedia_la_OBJCFLAGS += -fobjc-abi-version=2 -fobjc-legacy-dispatch
|
|
endif
|
|
|
|
libgstapplemedia_la_LIBADD = \
|
|
$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
|
|
$(GST_BASE_LIBS) \
|
|
$(GST_PLUGINS_BASE_LIBS) \
|
|
-lgstvideo-$(GST_API_VERSION) \
|
|
-lgstaudio-$(GST_API_VERSION) \
|
|
-lgstpbutils-$(GST_API_VERSION) \
|
|
$(GMODULE_NO_EXPORT_LIBS)
|
|
|
|
libgstapplemedia_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) --tag=CC
|
|
|
|
libgstapplemedia_la_LDFLAGS = \
|
|
$(GST_PLUGIN_LDFLAGS) \
|
|
$(GST_BASE_LDFLAGS) \
|
|
$(GST_PLUGINS_BASE_LDFLAGS) \
|
|
-Wl,-framework -Wl,CoreFoundation \
|
|
-Wl,-framework -Wl,CoreMedia \
|
|
-Wl,-framework -Wl,CoreVideo \
|
|
-Wl,-framework -Wl,AudioToolbox
|
|
|
|
noinst_HEADERS = \
|
|
qtkitvideosrc.h \
|
|
avfvideosrc.h \
|
|
avsamplevideosink.h \
|
|
vtenc.h \
|
|
vtdec.h \
|
|
vtutil.h \
|
|
corevideobuffer.h \
|
|
coremediabuffer.h \
|
|
videotexturecache.h \
|
|
atdec.h \
|
|
iosassetsrc.h \
|
|
avfassetsrc.h
|
|
|
|
if HAVE_IOS
|
|
|
|
libgstapplemedia_la_SOURCES += \
|
|
iosassetsrc.m
|
|
|
|
libgstapplemedia_la_LDFLAGS += \
|
|
-Wl,-framework -Wl,Foundation \
|
|
-Wl,-framework -Wl,AssetsLibrary
|
|
|
|
else
|
|
|
|
libgstapplemedia_la_SOURCES += \
|
|
qtkitvideosrc.m \
|
|
iosurfacememory.c
|
|
|
|
libgstapplemedia_la_LDFLAGS += \
|
|
-Wl,-framework -Wl,Cocoa \
|
|
-Wl,-framework -Wl,QTKit \
|
|
-Wl,-framework -Wl,IOSurface
|
|
|
|
endif
|
|
|
|
if HAVE_AVFOUNDATION
|
|
|
|
libgstapplemedia_la_SOURCES += \
|
|
avfvideosrc.m \
|
|
avfassetsrc.m \
|
|
avsamplevideosink.m
|
|
|
|
libgstapplemedia_la_LDFLAGS += \
|
|
-Wl,-framework -Wl,AVFoundation
|
|
|
|
endif
|
|
|
|
if HAVE_VIDEOTOOLBOX
|
|
libgstapplemedia_la_SOURCES += \
|
|
vtenc.c \
|
|
vtdec.c
|
|
|
|
libgstapplemedia_la_LDFLAGS += -Wl,-weak_framework -Wl,VideoToolbox
|
|
endif
|