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-09-19 14:47:04 +0300
commitbee1477f08952e25ea5dafb2ae11f7c1de333d22 (patch)
tree45f4cef6b1a41baf5dab1637428db8ed7dfd1fa4
parent6d67b5263f505a8d23b2d4b92f05384baead4a22 (diff)
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;
}