Commit graph

58 commits

Author SHA1 Message Date
Wim Taymans 1cbd31e3ee fix for video api update 2012-04-19 14:24:45 +02:00
Sebastian Dröge 7ff3293a44 video: Update for libgstvideo API changes 2012-04-19 12:31:39 +02:00
Matej Knopp 156d80d74b applemedia: do not link gstinterfaces 2012-04-16 11:19:17 +02:00
Sebastian Dröge cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Alessandro Decina d36fe4593d applemedia: update corevideobuffer after buffer meta API change 2012-04-05 09:08:35 +02:00
Alessandro Decina 13334dfa8f applemedia: update coremediabuffer after buffer meta API change 2012-04-05 09:08:24 +02:00
Alessandro Decina 10387bd629 qtkitvideosrc: update after BaseSrc::fixate API change 2012-04-05 09:08:14 +02:00
Sebastian Dröge 1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Wim Taymans 48ba9063b0 update for buffer api change 2012-03-30 18:15:36 +02:00
Alessandro Decina 8546458617 applemedia: port vtdec 2012-03-03 19:04:36 +01:00
Alessandro Decina b45250e9d2 applemedia: update signature of CMSampleBufferCreate and CMBlockBufferCreateWithMemoryBlock
Change data type for counters passed on the stack from UInt32 to size_t. Fixes
64bit builds.
2012-03-03 19:04:36 +01:00
Alessandro Decina 42dd6a145a applemedia: update format description helper signature
Update the FigVideoFormatDescriptionCreateWithSampleDescriptionExtensionAtom
signature to match the implementation on OSX Lion.
2012-03-03 19:04:36 +01:00
Alessandro Decina 7a4a3833c3 applemedia: port qtkitvideosrc 2012-02-28 08:14:00 +01:00
Wim Taymans de1f89bf07 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:37:13 +01:00
Alessandro Decina b6747292e0 qtkitvideosrc: get the framerate from caps
...and configure QTKit accordingly. Hardcoding to 30fps was pretty -bad.
2011-08-15 02:10:26 +02:00
Alessandro Decina e21e8ddd4e applemedia: bump the rank of qtkitvideosrc to PRIMARY 2011-05-15 10:04:50 +02:00
Leo Singer 369f41913c applemedia: fix compiler warning: redundant declaration of 'parent_class'
GST_BOILERPLATE_FULL declares parent_class as well.

https://bugzilla.gnome.org/show_bug.cgi?id=637532
2010-12-18 21:32:36 +00:00
Ole André Vadla Ravnås f3d8e3920d applemedia: only enqueue buffers in the VideoToolbox callbacks
These callbacks may fire from any thread, hence we should only enqueue
buffers and let the streaming thread take care of the rest as soon as
the blocking encode or decode operation has finished.
2010-12-10 04:07:05 +01:00
Ole André Vadla Ravnås f7e5878c9e applemedia: bring back Leopard compatibility
At least as far as miovideosrc is concerned. Turns out that CoreVideo's
CVPixelBufferGetIOSurface is not present in Leopard's version of CoreVideo.
We solve this by making it possible for symbols to be marked as optional.
2010-12-10 04:06:59 +01:00
Alessandro Decina 0b6e0b7b13 qtkitvideosrc: reset the queue condition to NO_FRAMES in unlockStop.
Fixes a segfault in create: when going PLAYING -> PAUSED -> PLAYING.
2010-12-09 12:04:10 +01:00
Alessandro Decina ec6c307334 qtkitvideosrc: run the mainRunLoop for a while if not running.
QTCaptureSession::addInput and QTCaptureSession::addOutput call
NSObject::performSelectorOnMainThread internally so they need the mainRunLoop to
run at least for a while to complete.
2010-12-09 11:55:57 +01:00
Alessandro Decina 536a30f2df applemedia: don't use the deprecated g_strcasecmp function.
Replace g_strcasecmp with g_ascii_strcasecmp.
2010-12-01 23:21:33 +01:00
Alessandro Decina aae72680bd Fix compiler warnings with gcc 4.2.1 on OSX. 2010-12-01 23:20:36 +01:00
Ole André Vadla Ravnås abdb30c567 celvideosrc: fix nasty deadlock
We cannot call any CMBufferQueue functions while holding the lock that
our callback also depends on. So now we make use of CMBufferQueue's
trigger API in order to get notified when the queue has data.
2010-11-12 00:44:42 +01:00
Ole André Vadla Ravnås de76e9fdb6 cmapi: cover CMBufferQueue's trigger API 2010-11-12 00:44:42 +01:00
Ole André Vadla Ravnås e4db4257d5 celvideosrc: unlock should also notify
Otherwise we depend on being woken up by the CoreMedia queue getting
its next buffer.
2010-11-12 00:44:42 +01:00
Ole André Vadla Ravnås ebd2a6d6e9 applemedia: don't push synchronously from callback
The codec that called us might be holding locks to shared resources, so
we should never push downstream from within its buffer callback.

Note that a GstBufferList is not used here because we need to preserve
the buffer metadata held by our GstBuffer subclasses.
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås 6b63954f63 vtenc: bump H.264 level from 1.3 to 3.0
This should be turned into a property.
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås 6e909dc474 celvideosrc: add basic device selection support 2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås 2382f10b98 cvapi: add wrapper for IO surface access
To be used in a future video sink for zero-copy rendering.
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås 420943972c celapi: add capture port type constants 2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås d10e029f51 applemedia: biplanar is actually NV12, not I420
D'oh!
2010-11-08 23:58:25 +01:00
Ole André Vadla Ravnås d865feca82 vtenc: remove keyframe enforcement workaround
Was only needed for old iOS where the H.264 encoder didn't support
kVTEncodeFrameOptionKey_ForceKeyFrame.
2010-11-08 23:58:25 +01:00
Ole André Vadla Ravnås abba3a4126 cvapi: add a few extra bits of wrapping 2010-11-08 23:58:25 +01:00
Ole André Vadla Ravnås b4654f537f applemedia: lock CVPixelBuffer read-only
As per Apple's docs, this may improve performance by avoiding redundant
invalidations of existing caches of the buffer contents.
2010-11-08 23:58:24 +01:00
Ole André Vadla Ravnås 6428d306ea celvideosrc: put planar first in template caps 2010-11-08 14:02:50 +01:00
Ole André Vadla Ravnås c2672f71cd applemedia: improve vtenc/vtdec performance
Profiling of H.264 encode and decode revealed that conversions
between packed and planar were happening behind the scenes.

Hence we now choose I420 instead of YUY2.
2010-11-08 14:02:50 +01:00
Ole André Vadla Ravnås 1eb9190ad9 celvideosrc: measure fps when statistics is enabled
Also refactor timestamping slightly.
2010-11-05 16:52:58 +01:00
Ole André Vadla Ravnås b7368c34fd celvideosrc: update to new Celestial and MediaToolbox APIs
This means celvideosrc is no longer compatible with iOS 3.x.
2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås bf095e891f celvideosrc: fix debug category description 2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås 517f3a75c2 celapi: update to reflect new API on iOS 4.x
Also add remaining property constants for device and stream.
2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås da5da05540 mtapi: update to reflect new API on iOS 4.x
Also add remaining property constants for device and stream.
2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås 8402211bac applemedia: make video source element details consistent
Inspired by the v4l2src element details.
2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås 445d7502c4 applemedia: consistently use gst_element_class_set_details_simple 2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås 5d71ad0d52 celvideosrc: update e-mail address 2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås 44df8abea8 applemedia: rename iphonecamerasrc to celvideosrc
This is in order to improve consistency with the other three sources.
2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås 8b22f855ec avfvideosrc: don't explicitly empty the buffer queue
We're holding the only reference to it so there's no need to explicitly
empty it right before letting go of our reference.
2010-11-04 17:58:59 +01:00
Ole André Vadla Ravnås 89e5b60130 avfvideosrc: make buffer offset start from zero 2010-11-04 17:52:05 +01:00
Ole André Vadla Ravnås 86e2539816 qtkitvideosrc: implement zero-copy by using buffer-factory
This means we'll wrap each CoreVideo buffer inside a GstBuffer instead of
making a copy.
2010-11-04 17:52:05 +01:00
Ole André Vadla Ravnås 835b2988b6 bufferfactory: add support for wrapping CVBuffer 2010-11-04 17:52:05 +01:00