Commit graph

206 commits

Author SHA1 Message Date
Sebastian Dröge
cba13ef301 atdec: Add some more debug output 2014-03-11 15:33:26 +01:00
Sebastian Dröge
fa8a7d7659 atdec: Implement draining properly 2014-03-11 15:33:26 +01:00
Sebastian Dröge
53ab9c6613 atdec: First dequeue a buffer before enqueueing anything from the queue
Required for offline rendering according to the docs. wtf.
2014-03-11 15:33:26 +01:00
Sebastian Dröge
f331d3159f atdec: Keep track of the current position
It's required to set a valid sample time for decoding on iOS.
2014-03-11 15:33:26 +01:00
Sebastian Dröge
8d8b3c0401 atdec: Always try to pull one decoded frame out of the queue
... instead of doing magic calculations with the buffer duration.
2014-03-11 15:33:25 +01:00
Sebastian Dröge
41b2cca8fc atdec: Handle errors in handle_frame() properly 2014-03-11 15:33:25 +01:00
Sebastian Dröge
dfe476c444 atdec: Call AudioQueueReset() for flushing
AudioQueueFlush() is for draining all remaining data.
2014-03-11 15:33:25 +01:00
Sebastian Dröge
1c13e513c9 atdec: Set correct number of frames for MP3 2014-03-11 15:33:25 +01:00
Sebastian Dröge
2d8b195911 atdec: Initialize the audio description with zeroes 2014-03-11 15:33:25 +01:00
Sebastian Dröge
a43db678c1 atdec: Set the correct layer depending on the MP3 caps 2014-03-11 15:33:25 +01:00
Edward Hervey
72127a85f5 applemedia: Fix libtool usage
--tag=CC is needed for static build
2014-02-06 16:17:39 +01:00
Sebastian Dröge
0d794993fb applemedia: Actually the enc/decbins are not used anywhere currently
Code is commented out.
2014-01-20 10:38:16 +01:00
Sebastian Dröge
1107e158f7 applemedia: Fix build on iOS and probably also on OSX
The video toolbox is not available on iOS, and also on OSX
we should probably build all source files that are used for
it.

https://bugzilla.gnome.org/show_bug.cgi?id=722590
2014-01-20 10:34:57 +01:00
Alessandro Decina
cd90748c5b applemedia: vtdec: set the correct stride in the video meta 2013-12-22 17:48:25 +01:00
Alessandro Decina
7a8d918472 applemedia: atdec: fix aac decoding on Mavericks 2013-12-22 17:48:25 +01:00
Alessandro Decina
cf2cf20cc3 applemedia: corevideobuffer: fix for planar formats 2013-12-19 08:59:39 +01:00
Alessandro Decina
a75ddf446b applemedia: vtdec: remove silly stride requirement
This is legacy from the 0.10 times, and it isn't clear how it was useful back
then also.'
2013-12-19 08:59:39 +01:00
Davide Bertola
72e989f2da applemedia: vtdec: Enable hardware accelerated decoding on 10.9 2013-12-18 10:28:17 +01:00
Alessandro Decina
d5eccb2285 applemedia: vtdec: handle level 3 in get_dpb_max_mb_s_from_level. oops. 2013-12-14 19:18:41 +01:00
Alessandro Decina
44e62613db applemedia: atdec: fix mp3 caps 2013-12-14 19:18:41 +01:00
Alessandro Decina
f387bd0342 applemedia: always include <Foundation/Foundation.h>
Fixes compilation with newest xcode.
2013-12-14 13:30:01 +01:00
Alessandro Decina
de60453a33 applemedia: vtdec: fix compiler warning (uninitialized variable) 2013-12-11 18:52:53 +01:00
Alessandro Decina
00392a6d16 applemedia: vtdec: rename reorder_queue_frame_delay to reorder_queue_length 2013-12-11 08:12:37 +01:00
Alessandro Decina
596aa8e05a applemedia: vtdec: report latency 2013-12-11 08:12:36 +01:00
Alessandro Decina
733a780e9d applemedia: vtdec: set reorder queue length to the max DPB length
Set reorder_queue_frame_delay from the DPB size (in frames). Still not optimal,
as the DPB size is larger than the max bframe forward prediction length, but I
don't know how to compute the latter without parsing every group of pictures.
2013-12-11 08:12:36 +01:00
Alessandro Decina
7dffa2e1f2 applemedia: vtdec: set the correct video format in the video meta
Fixes all kinds of weird bugs when videoconvert is used with the decoder.
2013-12-10 11:12:56 +01:00
Alessandro Decina
ffeb719d4c applemedia: corevideobuffer: set the correct stride for packed formats 2013-12-08 16:46:58 +01:00
Alessandro Decina
839970e07c applemedia: vtdec: fix mpeg2 video support 2013-12-08 15:31:09 +01:00
Alessandro Decina
938ce6a23d applemedia: vtdec: make jpeg decoding actually work 2013-12-08 15:25:27 +01:00
Alessandro Decina
1cd62000f5 applemedia: vtdec: fail gracefully when not negotiated 2013-12-08 15:24:58 +01:00
Alessandro Decina
b1a756fda7 applemedia: rewrite VideoToolbox decoder based on GstVideoDecoder 2013-12-08 15:13:26 +01:00
Matthieu Bouron
58be5ce16d avfvideosrc: declare missing instance variables
Fixes build on 32-bit system.

https://bugzilla.gnome.org/show_bug.cgi?id=711844
2013-11-11 14:36:19 +01:00
Andoni Morales Alastruey
31d7c42158 coremediabuffer: keep an extra ref to the image and data buffer 2013-11-07 21:37:29 +01:00
Matthieu Bouron
78f104aa61 applemedia: coremediabuffer: use correct retain/release functions on CMSampleBufferRef buffer
Fixes a crash while releasing the sample buffer after the image
buffer it contains.

Also fixes a minor coding style error.

https://bugzilla.gnome.org/show_bug.cgi?id=711606
2013-11-07 18:47:15 +01:00
Matthieu Bouron
c9a8224553 qtkitvideosrc: lower rank to GST_RANK_SECONDARY
Makes avfvideosrc be prefered over qtkitvideosrc since it is deprecated
with OS X 10.9.

https://bugzilla.gnome.org/show_bug.cgi?id=711614
2013-11-07 18:44:39 +01:00
Matthieu Bouron
314e01e83f avfvideosrc: set rank to GST_RANK_PRIMARY
Makes avfvideosrc to be used with autodetection.

https://bugzilla.gnome.org/show_bug.cgi?id=711614
2013-11-07 18:44:27 +01:00
Andoni Morales Alastruey
7e195cdcdc avfvideosrc: fix compiler warning in iOS 2013-11-07 15:24:29 +01:00
Andoni Morales Alastruey
98e849a092 avfvideosrc: fix build in iOS with isEqualTo doesn't exists 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
a2b90eeb8c avfvideosrc: fix build with older SDK not supporting AVDeviceFormat
AVDeviceFormat and AVFrameRateRange are available in iOS since 7.0
so we need a more dynamic approach to support compilation with older
SDK's. We use a NSObject to avoid referencing those types and key-value
coding or preformSelector to access properties.
2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
46a61ea036 avfvideosrc: fix checks for HAVE_IOS 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
81cb13be64 avfvideosrc: include config.h 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
ef7f6e4654 avfvideosrc: add more debug 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
606a50e550 avfvideosrc: fix compilation with gcc
The synthesize block needs to be moved to fix a compiler error
2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
94d77829a4 avfvideosrc: sort caps with the highest resolution first
When started without any caps filter we prefer the highest
supported resolution.
2013-11-07 15:24:28 +01:00
Matthieu Bouron
66334591cc avfvideosrc: support screen capture on OSX
https://bugzilla.gnome.org/show_bug.cgi?id=711432
2013-11-07 15:24:28 +01:00
Matthieu Bouron
88b5ff76f6 avfvideosrc: minor cosmetic 2013-11-07 15:24:28 +01:00
Matthieu Bouron
752d74b31f avfvideosrc: use input device formats to set/get caps if available
https://bugzilla.gnome.org/show_bug.cgi?id=711211
2013-11-07 15:24:28 +01:00
Matthieu Bouron
35587efdc9 avfvideosrc: update caps if frame size has changed
On OSX, setting the pixel format on the output reset the capture device
to its native resolution, so we need to update the caps if the output
frame size has changed before a proper solution is found.
2013-11-07 15:24:28 +01:00
Matthieu Bouron
fae79751ad avfvideosrc: check if low preset is available 2013-11-07 15:24:28 +01:00
Matthieu Bouron
7f807270fa avfvideosrc: use a dedicated queue for AVFoundation calls
Replace the main queue with a dedicated queue for AVFoundation calls
so the execution on this queue won't block if the main queue
is not running.
2013-11-07 15:24:28 +01:00
Matthieu Bouron
5d612768a4 avfvideosrc: remove trailing space 2013-11-07 15:24:28 +01:00
Matthieu Bouron
19844fab47 avfvideosrc: dispatch AVFoundation calls synchronously in the main queue 2013-11-07 15:24:27 +01:00
Matthieu Bouron
0d74dc802a applemedia: enable avfvideosrc if AVFoundation is present 2013-11-07 15:24:27 +01:00
Matthieu Bouron
b6925d5c56 avfvideosrc: only enable 1920x1080 preset on iOS 2013-11-07 15:24:27 +01:00
Matthieu Bouron
06d59e7829 applemedia: port avfvideosrc to 1.0 2013-11-07 15:24:27 +01:00
Sebastian Dröge
831c67c07b applemedia: Link with gmodule for g_module_open() and others 2013-11-04 10:05:40 +01:00
Matthieu Bouron
1b2b879bf4 vtenc: use proper release callback type in CVPixelBufferCreateWithPlanarBytes
https://bugzilla.gnome.org/show_bug.cgi?id=711140
2013-10-30 16:27:58 +00:00
Matthieu Bouron
22eaf39c1a avfvideosrc: fix truncated line
https://bugzilla.gnome.org/show_bug.cgi?id=710657
2013-10-30 16:27:58 +00:00
Dominik Röttsches
b002490ab2 vtenc: Add support for I420
https://bugzilla.gnome.org/show_bug.cgi?id=709241
2013-10-02 13:18:04 +02:00
Dominik Röttsches
24c79af394 vtenc: Use correct strides, etc from the GstVideoFrame
https://bugzilla.gnome.org/show_bug.cgi?id=706211
2013-10-02 13:14:32 +02:00
Sebastian Dröge
4bed01aff9 iosassetsrc: Port to 1.0 and fix some bugs on the way 2013-09-28 20:36:21 +02:00
Andoni Morales Alastruey
e5d5faa67e iosassetsrc: Add new element from the GStreamer SDK project 2013-09-28 20:36:21 +02:00
Sebastian Dröge
dd19715961 applemedia: avfvideosrc is not ported to 1.0 yet 2013-09-28 20:36:21 +02:00
Alessandro Decina
95d5a8055b applemedia: atdec: destroy the queue if set_format fails 2013-07-24 09:18:43 +02:00
Alessandro Decina
10d02e381b applemedia: atdec: remove c++ style comments 2013-07-24 09:15:49 +02:00
Alessandro Decina
d71aaec486 applemedia: atdec: 1st round of fixes 2013-07-24 09:11:59 +02:00
Alessandro Decina
92bcdd9c4b applemedia: add AudioToolbox based audio decoder 2013-07-23 10:36:47 +02:00
Andoni Morales Alastruey
bab2bf3f11 applemedia: fix release of null pointer 2013-06-18 13:33:14 +02:00
Thiago Santos
eecc951070 applemedia: coremediabuffer: fix leaking of apple media structs
remember to release the apple's api buffers to avoid huge leaking
2013-06-18 13:17:52 +02:00
Andoni Morales Alastruey
22be93cd04 applemedia: move defines to CPPFLAGS for obj-c files 2013-06-18 13:02:42 +02:00
Andoni Morales Alastruey
0690238c59 applemedia: fix duplicated symbols with applemedia 2013-05-24 09:39:10 +02:00
Andoni Morales Alastruey
5f4ac8c58f vtdec: simplify caps setting 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
2f36ffb7d0 applemedia: fix H264 streams with b-frames
The decoder output frames in DTS order, even with the flag
kVTDecodeFrame_EnableTemporalProcessing. We store a internal
queue of the decoded frames and push them PTS order.
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
3b249f6761 applemedia: fix segfault with dropped frames 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
d9db0c2d4a applemedia: improve usage of the VT API
Add timing information to CV samples and pass the GstBuffer
as extra data in the decode function
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
db49a77682 applemedia: add support for MPEG-1 too 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
9645d1df2d applemedia: add support for MPEG-2 decoding 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
5e09d61638 applemedia: use the best colorformat on each platform
This saves a colorspace conversion before the sink in OS X
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
c69f41d299 applemedia: replace private function with its public variant
FigVideoFormatDescriptionCreateWithSampleDescriptionExtensionAtom
is an un-documented private function which might change its signature
as it already did in the past. Replace it with
CMVideoFormatDescriptionCreate and the also un-documented Extensions
dictionary.
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
9b168e6b4d applemedia: remove the unneeded buffer factory 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
97bb1edf6c applemedia: don't use the dynamic API for public frameworks
Public frameworks don't need to build the API dynamically, we instead
use the framework directly.
The exception is for VideoToolbox which went public in the 10.8 SDK,
but it's still private in older version of the SDK and iOS. This allow
building the plugin against SDK's where it's not a public framework.
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
57b97beb6d applemedia: move plugins using private frameworks to applemedia-nonpublic 2013-05-20 13:31:02 +02:00
Sebastian Dröge
e51cd4fe2f gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Andoni Morales Alastruey
27c546ad1e avfvideosrc: fix deadlock draining queue from the same thread 2013-04-15 09:02:37 +02:00
Thiago Santos
23b2b46993 applemedia: fix build for objc
The obj-c api version option is required to get applemedia to
build for ios, otherwise it won't find some symbols during linking
2013-03-25 12:56:55 -03:00
Josep Torra
1870a4d58b applemedia: suppress warnings for deprecated glib API 2013-03-10 22:06:31 +01:00
Ole André Vadla Ravnås
519cefdeee applemedia: update contact information 2013-02-16 02:51:52 +01:00
Ole André Vadla Ravnås
ad2d6be695 applemedia: fix gst_buffer_get_core_media_meta macro 2013-02-16 02:51:52 +01:00
Ole André Vadla Ravnås
73bcf51f9f applemedia: port vtenc to 1.0 2013-02-16 02:51:51 +01:00
Ole André Vadla Ravnås
bace18bacc applemedia: replace usage of deprecated gst_pad_set_caps() in vtdec 2013-02-16 02:51:51 +01:00
Ole André Vadla Ravnås
af6df7292c applemedia: port vtapi to run on OS X 10.8 2013-02-16 02:51:51 +01:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Olivier Crête
9a328a8f71 avfvideosrc: Negotiate format, also support more resolutions
This should enable supprt for old and new iPhones with the same code.
2012-10-30 19:32:59 +01:00
Michael Smith
0c2159a220 meta info: register thread-safely. 2012-10-03 11:05:06 -07:00
Mark Nauwelaerts
9cb0cc216d applemedia: init videoinfo 2012-09-18 13:19:37 +02:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Sebastian Dröge
30617d23a3 applemedia: Put the right flags into the right variable 2012-05-30 13:54:11 +02:00
Sebastian Dröge
df5f39658f configure: Add OBJC specific compiler flags
See bug #643939.
2012-05-30 11:28:53 +02:00
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