summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-09-19 14:32:46 +0300
committerSebastian Dröge <sebastian@centricular.com>2014-10-14 09:57:47 +0200
commit4fec5c5686f608486fdd5f11a2b4b01565f02713 (patch)
treeeecf0d957676ce087670dbc8aa66f29834e57405
parentd96723463aae904d82ea1c6ada371735858ab3fe (diff)
downloadgstreamer-plugins-bad-4fec5c5686f608486fdd5f11a2b4b01565f02713.tar.gz
applemedia: We need to map the coremedia buffers in non-readonly mode
Our buffers claim to be writable so other elements expect to be able to write there without losing their changes.
-rw-r--r--sys/applemedia/coremediabuffer.c6
-rw-r--r--sys/applemedia/corevideobuffer.c5
2 files changed, 4 insertions, 7 deletions
diff --git a/sys/applemedia/coremediabuffer.c b/sys/applemedia/coremediabuffer.c
index 73995f0dd..548f858fb 100644
--- a/sys/applemedia/coremediabuffer.c
+++ b/sys/applemedia/coremediabuffer.c
@@ -25,8 +25,7 @@ static void
gst_core_media_meta_free (GstCoreMediaMeta * meta, GstBuffer * buf)
{
if (meta->image_buf != NULL) {
- CVPixelBufferUnlockBaseAddress (meta->image_buf,
- kCVPixelBufferLock_ReadOnly);
+ CVPixelBufferUnlockBaseAddress (meta->image_buf, 0);
CVBufferRelease (meta->image_buf);
}
if (meta->block_buf != NULL) {
@@ -93,8 +92,7 @@ gst_core_media_buffer_wrap_pixel_buffer (GstBuffer * buf, GstVideoInfo * info,
GstVideoMeta *video_meta;
UInt32 size;
- if (CVPixelBufferLockBaseAddress (pixel_buf,
- kCVPixelBufferLock_ReadOnly) != kCVReturnSuccess) {
+ if (CVPixelBufferLockBaseAddress (pixel_buf, 0) != kCVReturnSuccess) {
GST_ERROR ("Could not lock pixel buffer base address");
return FALSE;
}
diff --git a/sys/applemedia/corevideobuffer.c b/sys/applemedia/corevideobuffer.c
index 0e08398c2..b1da334cb 100644
--- a/sys/applemedia/corevideobuffer.c
+++ b/sys/applemedia/corevideobuffer.c
@@ -23,7 +23,7 @@ static void
gst_core_video_meta_free (GstCoreVideoMeta * meta, GstBuffer * buf)
{
if (meta->pixbuf != NULL) {
- CVPixelBufferUnlockBaseAddress (meta->pixbuf, kCVPixelBufferLock_ReadOnly);
+ CVPixelBufferUnlockBaseAddress (meta->pixbuf, 0);
}
CVBufferRelease (meta->cvbuf);
@@ -74,8 +74,7 @@ gst_core_video_buffer_new (CVBufferRef cvbuf, GstVideoInfo * vinfo)
pixbuf = (CVPixelBufferRef) cvbuf;
- if (CVPixelBufferLockBaseAddress (pixbuf,
- kCVPixelBufferLock_ReadOnly) != kCVReturnSuccess) {
+ if (CVPixelBufferLockBaseAddress (pixbuf, 0) != kCVReturnSuccess) {
goto error;
}