Andoni Morales Alastruey
7c43c2fa06
dvbbasebin: Add TDT to the initial pids filter for dvbsrc. Fixes #635200 .
2010-11-19 18:04:12 +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
Ole André Vadla Ravnås
3a44d4c1f9
qtkitvideosrc: fix up refcounting
...
Should keep a strong reference to the device, but we don't need to manage
the reference count of elements of an NSMutableArray as it takes care of
that for us.
2010-11-04 17:52:04 +01:00
Ole André Vadla Ravnås
b39609b405
qtkitvideosrc: simplify timestamping algorithm
...
Aligning timestamps on duration boundaries, skipping frames and so forth
are clearly things that fall outside the scope of a video source.
2010-11-04 17:52:04 +01:00
Ole André Vadla Ravnås
3ba76f825d
applemedia: add new iOS video source based on AVFoundation
...
This element makes use of the documented AVFoundation framework made
available starting with iOS 4.0, and hence this means we can finally
capture video using a public API.
2010-11-04 14:32:10 +01:00
Ole André Vadla Ravnås
50c6e05924
applemedia: fix stream-format caps used for H.264
...
The stream-format's "avc-sample" member is now called just "avc".
2010-11-04 14:32:09 +01:00
Ole André Vadla Ravnås
b873920eaa
applemedia: update e-mail addresses
2010-11-04 14:32:09 +01:00
Ole André Vadla Ravnås
c6b32b42de
applemedia: switch vtapi to CFTypeRef style typedefs
2010-11-02 23:14:26 +01:00
Ole André Vadla Ravnås
2e349576eb
applemedia: support public version of CoreMedia
...
Also rename the relevant API so we mirror the public API more closely, and
switch to CoreFoundation CFTypeRef style typedefs. We still support the old
private CoreMedia in order to not break OS X support.
This means that vtenc and vtdec are now compatible with iOS 4.x, and in
theory also future versions of OS X, where this API may turn public like
it has on iOS.
2010-11-02 23:14:26 +01:00
Ole André Vadla Ravnås
cc1c6ee9e3
winks: work around shutdown deadlock
...
GetOverlappedResult() might never return with some drivers. Time out
after 1000 ms. We cannot really fix this without either:
1) Controlling the streaming thread so we can do CancelIo() from that
thread.
2) Switch to using IO completion ports.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
a7a04fe601
winks: remove JPEG validation hack
...
This should clearly not be done in a video source.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
35ed06fba2
winks: set PrioritySubClass to KSPRIORITY_NORMAL instead of 1
...
In order to match the reference implementation.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
c1d16c4fee
winks: retry when KsCreatePin fails with ERROR_NOT_READY
...
Turns out that the reference implementation does this, hence we need to
mirror this behaviour. This typically happens with hardware that takes
some time to initialize.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
bb17394e76
winks: improve framerate fraction conversions
...
* For instance 7.5 fps should be represented as 15/2 instead of 7/1.
* Clamp AvgTimePerFrame and dwBitRate to account for rounding errors.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
d282a1d380
winks: improve error-handling
...
Most important part here is special-casing "device busy" so the application
is able to provide better feedback when another application is using the
device.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
cddfa50d92
winks: performance improvements
...
* Make the driver write directly into each GstBuffer to avoid memcpy().
* Don't memset() the buffer before reusing it.
* Recycle memory by keeping two spare buffers. Two because the sink
downstream may keep a ref to the previous buffer.
Note that we align buffers on highest possible byte boundary (4096) so we
don't have to take into account what kind of alignment the driver requires.
2010-10-28 17:08:35 +02:00
Ole André Vadla Ravnås
f2b4d8990d
winks: store priv pointer instead of looking it up
2010-10-28 17:08:35 +02:00
Ole André Vadla Ravnås
00bc7860ff
winks: post error message on flow-unexpected
2010-10-28 17:08:35 +02:00
Andres Colubri
700f70e7a5
winks: add property probing support
2010-10-28 17:08:35 +02:00
Ole André Vadla Ravnås
2cf589b928
winks: sort devices that look like cameras first
2010-10-28 17:08:31 +02:00
Knut Inge Hvidsten
a54972f806
winks: provide guessed pixel-aspect-ratio in caps
2010-10-28 17:08:31 +02:00
Ole André Vadla Ravnås
a5beb0b8ff
winks: only try to change state when actually open
2010-10-28 17:08:31 +02:00
Ole André Vadla Ravnås
1f6a6d2430
winks: ignore unsupported formats
2010-10-28 17:08:27 +02:00
Ole André Vadla Ravnås
b88b25ab9b
winks: adjust a couple of logging severities
...
Should clearly not be considered warnings, as they're quite common.
2010-10-28 16:14:34 +02:00