summaryrefslogtreecommitdiff
path: root/sys/applemedia
Commit message (Collapse)AuthorAgeFilesLines
* applemedia: fix build after gl move to -baseTim-Philipp Müller2017-12-191-1/+3
|
* gl: update plugins to use GstGL from -baseTim-Philipp Müller2017-12-191-6/+6
|
* vtenc: fix a warning when building in MacOS 10.12Josep Torra2017-12-121-1/+1
| | | | | vtenc.c:564:20: error: incompatible pointer types passing 'GstVTEnc *' (aka 'struct _GstVTEnc *') to parameter of type 'GstVideoEncoder *' (aka 'struct _GstVideoEncoder *')
* vtdec: destroy and create the GL context on start()/stop()Matthew Waters2017-10-301-2/+11
| | | | Removes a reference count loop
* vtdec: flush decoder on stopNicola Murino2017-10-301-0/+2
| | | | | | fix a memory leak if the decoder shut down before EOS https://bugzilla.gnome.org/show_bug.cgi?id=787311
* vtenc: flush encoder on stopNicola Murino2017-10-301-0/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=787311
* vtenc: fix memory leakNicola Murino2017-10-201-22/+55
| | | | | | | finish encoding and clean buffers queue on flush. This avoid a memory leak if the element shuts down before EOS https://bugzilla.gnome.org/show_bug.cgi?id=787311
* Request minimum buffer even if need_pool is FALSENicolas Dufresne2017-09-061-9/+9
| | | | | | | When tee is used, it will not request a pool, but still it wants to know how many buffers are required. https://bugzilla.gnome.org/show_bug.cgi?id=730758
* gl: fix build for ios/win32/android after 2fd84a6cMatthew Waters2017-08-283-2/+2
| | | | Some missing GL includes.
* applemedia: fix build after commit 2fd84a6cPhilippe Normand2017-08-221-0/+1
|
* vtenc: assume 25 fps for unknown framerateNicola Murino2017-08-091-2/+9
| | | | | | | This is better than reporting no latency at all and then later failing in live pipelines. https://bugzilla.gnome.org/show_bug.cgi?id=786036
* Fix up package name and origin in some pluginsTim-Philipp Müller2017-05-181-1/+1
|
* gst: Clear floating flag in constructor of all GstObject subclasses that are ↵Sebastian Dröge2017-05-173-0/+3
| | | | | | not owned by any parent https://bugzilla.gnome.org/show_bug.cgi?id=743062
* Remove plugin specific static build optionNicolas Dufresne2017-05-161-1/+1
| | | | | Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
* qtkit: drop the qtkitvideosrc elementJosep Torra2017-05-034-818/+0
| | | | | | | | The QTKit framework had been deprecated for long in favour of AVFundation framework and we already have avfvideosrc that provides the same functionality. https://bugzilla.gnome.org/show_bug.cgi?id=782078
* docs: Port all docstring to gtk-doc markdownThibault Saunier2017-04-122-8/+8
|
* applemedia/iosurfacememory: Fix missing variable name changeMatthew Waters2017-03-141-1/+1
| | | | | 956c4d0bde4d6707ccae2b4ae6dfba8500e55217 missed a variable name change. Fix that.
* gl/format: use our own GL format enum's instead of gstvideo'sMatthew Waters2017-03-136-26/+21
| | | | They can describe in more detail (such as component sizes) the requested format.
* avfvideosrc: Use AVCaptureDeviceTypeBuiltInDuoCamera instead of DualCamera ↵Sebastian Dröge2017-03-091-1/+1
| | | | | | for now The former is deprecated in 10.2 but we don't require that SDK yet.
* applemedia/gl: Fix compile issues for OSXNick Kallen2017-03-081-0/+10
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=778333
* applemedia: avfvideosrc supports position, device-type, and orientationNick Kallen2017-03-072-14/+215
| | | | | | | | | | Avfvideosrc represents an iphone camera or, on mac, a screencapture session. The old API allowed you to select an input device by device index only. The new API adds the ability to select the position (front or back facing) and device-type (wide angle, telephoto, etc.). Furthermore, you can now specify the orientation (portrait, landscape, etc.) of the videostream. https://bugzilla.gnome.org/show_bug.cgi?id=778333
* applemedia/gl: Update code to use ARCNick Kallen2017-03-0711-204/+126
| | | | | | | | | | | | All code interacting with Objective-C objects should now use Automated Reference Counting rather than manual memory management or Garbage Collection. Because ARC prohibits C-structs from containing references to Objective-C objects, all such fields are now typed 'gpointer'. Setting and gettings Objective-C fields on such a struct now uses explicit __bridge_* calls to tell ARC about object lifetimes. https://bugzilla.gnome.org/show_bug.cgi?id=777847
* applemedia: Fix video texture cache build issue on MacOSNick Kallen2017-03-041-0/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=779247
* applemedia: ensure all textures are released before texturecache is releasedNick Kallen2017-03-041-15/+29
| | | | | | | | It was previously possible for videotexturecache to be finalized before all of its textures. Finalizing outstanding textures in this circumstance leads to a crash. This patch ensure resources are freed in the proper order. https://bugzilla.gnome.org/show_bug.cgi?id=779247
* Builds for MacOSNick Kallen2017-02-143-9/+14
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=778434
* applemedia: free videotexturecache texture in gl threadNick Kallen2017-02-143-10/+10
| | | | | | | | The cached texture was treated as user_data passed to GstGLBaseMemory and freed with a GDestroyNotify function. However, this data must be treated specially: it must be destroyed in the GL thread. https://bugzilla.gnome.org/show_bug.cgi?id=778434
* applemedia: Fix some compiler warnings on iOSSebastian Dröge2017-01-272-1/+3
|
* applemedia: Fail cleanly instead of crashing if obtaining a GL display failedSebastian Dröge2017-01-261-0/+11
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=777742
* gl: update sys dependants for function removalsMatthew Waters2017-01-131-24/+2
| | | | | 4315a4b54d9 forgot to change the androidmedia/videotoolbox/caopengllayer sources as required.
* Fix some caps leaks in pad template creation codeGarima Gaur2017-01-031-0/+1
| | | | | | | | gst_pad_template_new() does not take ownership of the caps passed to it, so we need to unref the caps. https://bugzilla.gnome.org/show_bug.cgi?id=776790 https://bugzilla.gnome.org/show_bug.cgi?id=776787
* vtdec: Mark pad as needing reconfiguration again if it failedSebastian Dröge2016-11-181-1/+8
| | | | | | And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. https://bugzilla.gnome.org/show_bug.cgi?id=774623
* applemedia: error out if the uri property is not setMatthew Waters2016-11-171-0/+6
| | | | | | | | Fixes: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSString stringWithUTF8String:]: NULL cString in the state change test.
* gl: GST_GL_TYPE -> GST_TYPE_GLMatthew Waters2016-11-031-2/+2
| | | | Some deprecated symbols are kept for backwards compatibility
* applemedia: Conditionally compile qtkitvideosrcSebastian Dröge2016-08-312-3/+12
| | | | | | | The API was deprecated in 10.9 and apparently does not exist in the SDK for macOS Sierra anymore. https://bugzilla.gnome.org/show_bug.cgi?id=770587
* Use the new API to post flow ERROR messages on the busThibault Saunier2016-08-261-2/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=770158
* applemedia: fix compiler warningAlessandro Decina2016-08-261-1/+1
|
* applemedia: changes to make GL memory mappable on CPU on iOSAlessandro Decina2016-08-2618-178/+472
| | | | | | | | | This commit introduces IOSGLMemory which is a GLMemory that falls back to GstAppleCoreVideoMemory for CPU access. This is a temporary solution until IOSurface gets exposed as a public framework on iOS and so we can use IOSurfaceMemory on both MacOS and iOS. https://bugzilla.gnome.org/show_bug.cgi?id=769210
* vtdec: fix MPEG-2 video capsMatej Knopp2016-08-221-1/+2
| | | | | | | | | Add systemstream=false to caps, otherwise the decoder may be picked for MPEG-PS files. Also parsed=true, as video toolbox expects entire frame in VTDecompressionSessionDecodeFrame. https://bugzilla.gnome.org/show_bug.cgi?id=770049
* avfvideosrc: account for retina displays when capturing screensFlorian Zwoch2016-08-191-2/+18
| | | | Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=770030
* avfassetsrc: Don't escape the URI another time in another location tooSergei Saveliev2016-08-161-5/+2
| | | | | | One location was forgotten in a913a0b9679dd58945ad105d240db45595fdaba6 https://bugzilla.gnome.org/show_bug.cgi?id=767492
* vtdec: use L/LA textures on GLES2 as wellMatthew Waters2016-06-291-15/+3
|
* vtdec: add support for zerocopy decoding with GLES 3.xMatthew Waters2016-06-291-3/+15
| | | | | It seems that Red/RG textures aren't supported anymore for zerocopy decoding with GLES 3.x. Instead use Luminance/Luminance Alpha textures which are.
* glmemory: add the texture type to allocate to parametersMatthew Waters2016-06-293-8/+14
| | | | | | Rather than assuming something. e.g. zerocopy on iOS with GLES3 requires the use of Luminance/Luminance Alpha formats and does not work with Red/RG textures.
* vtdec: minimize renegotiation to make hw decoding more reliableAlessandro Decina2016-06-231-11/+23
| | | | | | | | | | The hardware decoder can become (temporarily) unavailable across VTDecompressionSessionCreate/Destroy calls. During negotiation if the currently configured caps are still accepted by downstream we keep using them so we don't have to destroy and recreate the decoding session. This indirectly fixes https://bugzilla.gnome.org/show_bug.cgi?id=767429, by making vtdec stick to GLMemory.
* avfassetsrc: Don't escape the URI before passing it to NSURLSebastian Dröge2016-06-131-5/+2
| | | | | | | | | | | | The URI must already be escaped by the caller, we don't support passing around invalid (unescaped) URIs via the GstURIHandler interface. Also it will escape too much of the URI in this case, e.g. ipod-library://item/item.m4a?id=3143338395173862951 becomes ipod-library://item/item.m4a%3Fid%3D3143338395173862951 https://bugzilla.gnome.org/show_bug.cgi?id=767492
* iosassetsrc: Print the correct URI if it was rejectedSebastian Dröge2016-06-131-2/+2
| | | | We were printing the previously set URI instead of the new one.
* vtdec: always drain in ::negotiateAlessandro Decina2016-06-071-6/+3
| | | | | Move calling gst_vtdec_push_frames_if_needed from ::set_format to ::negotiate so that we always drain even when renegotiation is triggered by downstream.
* vtdec: try to preserve downstream caps orderAlessandro Decina2016-06-071-4/+5
| | | | | | | | | | | | vtdec specifies sysmem; GLMemory as template caps. When negotiating, we used to call gst_pad_peer_query_caps (..., filter) with our template caps as filter. The query does gst_caps_intersect (filter, peercaps) internally which gives precedence to the order of the filter caps. While we want to output sysmem by default, when negotiating with glimagesink which returns GLMemory; sysmem; we do want to do GL, so we now query using a NULL filter and intersect the result with our template caps giving precedence to downstream's caps. tl;dr: make sure we end up negotiating GLMemory with glimagesink
* applemedia: Only use the OpenGL framework on OSXEdward Hervey2016-06-031-1/+1
| | | | | | It's not available on ios (uses OpenGLES already) https://bugzilla.gnome.org/show_bug.cgi?id=766973
* applemedia: CGLTexImageIOSurface2D needs the OpenGL framework on OSXHavard Graff2016-06-021-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=766973