gstreamer/sys/applemedia/Makefile.am
Ilya Konstantinov 936b2fdfbc applemedia: implement GstAppleCoreVideoMemory
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
2016-01-19 12:58:43 +11:00

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