summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Decina <alessandro.decina@collabora.co.uk>2010-12-09 11:54:17 +0100
committerAlessandro Decina <alessandro.d@gmail.com>2010-12-09 12:04:10 +0100
commit0b6e0b7b1397834c7e0e563f115bd4402b43173b (patch)
treebb9146a2c04a46029f53b3d76dfbe6b0f7284656
parentec6c307334938dc036a3cb2e24fbbb2dddc359d6 (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.m6
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];