diff options
author | Alessandro Decina <alessandro.decina@collabora.co.uk> | 2010-12-09 11:54:17 +0100 |
---|---|---|
committer | Alessandro Decina <alessandro.d@gmail.com> | 2010-12-09 12:04:10 +0100 |
commit | 0b6e0b7b1397834c7e0e563f115bd4402b43173b (patch) | |
tree | bb9146a2c04a46029f53b3d76dfbe6b0f7284656 | |
parent | ec6c307334938dc036a3cb2e24fbbb2dddc359d6 (diff) |
qtkitvideosrc: reset the queue condition to NO_FRAMES in unlockStop.
Fixes a segfault in create: when going PLAYING -> PAUSED -> PLAYING.
-rw-r--r-- | sys/applemedia/qtkitvideosrc.m | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/applemedia/qtkitvideosrc.m b/sys/applemedia/qtkitvideosrc.m index 2f9d0b20b..8e80cae8d 100644 --- a/sys/applemedia/qtkitvideosrc.m +++ b/sys/applemedia/qtkitvideosrc.m @@ -245,6 +245,8 @@ openFailed: g_assert (device != nil); + GST_INFO ("setting up session"); + s = gst_caps_get_structure (caps, 0); gst_structure_get_int (s, "width", &width); gst_structure_get_int (s, "height", &height); @@ -351,7 +353,7 @@ openFailed: { [queueLock lock]; stopRequest = NO; - [queueLock unlock]; + [queueLock unlockWithCondition:NO_FRAMES]; return YES; } @@ -385,6 +387,8 @@ openFailed: return; } + GST_INFO ("got new frame"); + if ([queue count] == FRAME_QUEUE_SIZE) [queue removeLastObject]; |