summaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* winscreencap: Properly timestamp buffers with the current clock running time ↵Sebastian Dröge2015-08-034-108/+182
| | | | | | | | instead of doing magic Also implement framerate handling correctly by borrowing the code from ximagesrc. GstBaseSrc::get_times() can't be used for that, we have to implement proper waiting ourselves.
* applemedia/avsample: Fix racy cleanup of CA layerHeinrich Fink2015-07-311-2/+3
| | | | | | | | | | | | The block that is dispatched async to the main thread assumed the wrapping GstAvSampleVideoSink to be alive. However, at the time of the block execution the GstObject instance that is deferenced to access the CA layer might already be freed, which caused occasional crashes. Instead, we now only pass the CoreAnimation layer that needs to be released to the block. We use __block to make sure the block is not increasing the refcount of the CA layer again on its own. https://bugzilla.gnome.org/show_bug.cgi?id=753081
* amcvideoenc: Always set i-frame-interval settingSebastian Dröge2015-07-291-3/+2
| | | | Most encoders fail to initialize if we don't set it at all.
* bluez: Add built sources to CLEANFILESNicolas Dufresne2015-07-251-0/+2
|
* vtdec: handle non-consecutive GstBuffer input without copyingIlya Konstantinov2015-07-131-27/+79
| | | | | | | | | | | | | | | | | | | | | | | | CMBlockBuffer offers a model similar to GstBuffer, as it can consist of multiple non-consecutive memory blocks. Prior to this change, what we were doing was: 1) Incorrect: CMBlockBufferCreateWithMemoryBlock does not copy the data, but we gst_buffer_unmap'd right away. 2) Inefficient: If the GstBuffer consisted of non-contiguous memory blocks, gst_buffer_map resulted in malloc / memcpy. With this change, we construct a CMBlockBuffer out of individual mapped GstMemory objects. CMBlockBuffer is made to retain the GstMemory objects (through the use of CMBlockBufferCustomBlockSource), so the original GstBuffer can be unref'd. https://bugzilla.gnome.org/show_bug.cgi?id=751241
* applemedia/avsample: fix unconditional use of OSX 10.10 APIMatthew Waters2015-07-131-0/+2
| | | | | | We can just not use the error/status properties https://bugzilla.gnome.org/show_bug.cgi?id=746631
* bluez: Fix make dist while bluez >= 5 is not availableRico Tzschichholz2015-07-101-3/+4
|
* bluez: Include new file in dist'ed filesEdward Hervey2015-07-091-0/+2
| | | | Fixes make distcheck and tarball generation
* bluez: remove unnecessary gotoLuis de Bethencourt2015-07-081-10/+4
| | | | | | | | All goto fail happen before ret is set. ret must be NULL, and the only thing the fail statement block does is return NULL. Replacing the jumps to do this return directly. CID #1311329
* androidmedia: Add support for H265/HEVCSebastian Dröge2015-07-085-3/+215
|
* vtdec: fix refcount error in error handlingIlya Konstantinov2015-07-071-3/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=751641
* bluez: refactor to use glib and add connection state trackingNick Stoughton2015-07-036-196/+151
|
* amc: fix check whether we managed to acquire a bufferVineeth TM2015-07-021-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=751821
* androidmedia: Call initialize_classes() also when we got the Java VM from ↵Sebastian Dröge2015-06-291-1/+1
| | | | | | the app https://bugzilla.gnome.org/show_bug.cgi?id=751664
* docs: decodebin2 -> decodebinLuis de Bethencourt2015-06-251-1/+1
|
* applemedia: enable sharing of CMBlockBuffer dataIlya Konstantinov2015-06-251-2/+3
| | | | | | | Instead of wrapping with GST_MEMORY_FLAG_NO_SHARE, we make the GstMemory object retain the underlying CMBlockBuffer. https://bugzilla.gnome.org/show_bug.cgi?id=751072
* applemedia: CMBlockBuffer can be non-contiguousIlya Konstantinov2015-06-251-10/+15
| | | | | | | | CMBlockBufferGetDataLength would return the entire data length, while size of individual blocks can be smaller. Iterate over the block buffer and add the individual (possibly non-contiguous) memory blocks. https://bugzilla.gnome.org/show_bug.cgi?id=751071
* avfvideosrc: add frame rate range to capsIlya Konstantinov2015-06-221-9/+29
| | | | | | | | When AVFoundation indicates a supported frame rate range, add it to the caps. This is important for devices such as the iPhone 6, which indicate a single AVFrameRateRange of 2fps - 60fps. https://bugzilla.gnome.org/show_bug.cgi?id=751048
* uvch264src: fix small leak in caps query handlerTim-Philipp Müller2015-06-221-4/+8
| | | | gst_query_set_caps_result() does not take ownership of the caps.
* uvch264_src: add missing break in caps query handlerVineeth TM2015-06-221-0/+1
| | | | | | | | There is a missing break statement in switch, which will result in executing default case as well resulting in wrong behavior https://bugzilla.gnome.org/show_bug.cgi?id=751305
* androidmedia: Allow the application to provide the Java VMSebastian Dröge2015-06-182-0/+15
| | | | | | | | | | | In JNI_OnLoad() we will already get the Java VM passed and could just directly use that. gstreamer_android-1.0.c will now provide this to us. Reason for this is that apparently not all Android system are providing the JNI functions to get the currently running Java VMs, so we would fail to get. With this we will always be able to get the Java VM on such systems.
* androidmedia: Prefer software codecs over hardware codecs for audioSebastian Dröge2015-06-181-2/+4
| | | | | Hardware codecs don't make sense for audio and are generally less reliable on Android than the software codecs.
* androidmedia: Failing to detach a thread is not that much of a problemSebastian Dröge2015-06-181-1/+1
| | | | | Someone else might have detached it before us, so make this just normal debug output instead of a GST_ERROR()
* androidmedia: Don't fail if JNI_CreateJavaVM can't be foundSebastian Dröge2015-06-181-3/+9
| | | | | | | | | We only need that if no Java VM is running yet, and all usual cases, i.e. when calling GStreamer from an actual Android app, there will already be a Java VM we can just use. It seems like some phones come without that symbol, let's hope they come with the other symbol but for now don't make a missing JNI_CreateJavaVM fatal.
* androidmedia: Move variables into the scope where they are neededSebastian Dröge2015-06-151-3/+2
|
* androidmedia: Don't query supported color formats for non-video codecsSebastian Dröge2015-06-151-36/+37
|
* opensles: Fix build with Android API level < 14Arun Raghavan2015-06-132-0/+7
| | | | | | Headers were broken on older Android versions, apparently. https://bugzilla.gnome.org/show_bug.cgi?id=744459
* openslessink: Allow setting the stream type via a propertyArun Raghavan2015-06-136-3/+130
|
* openslessrc: Implement recording presetsArun Raghavan2015-06-137-5/+212
| | | | | | This allows us to signal what kind of audio we are expecting to record, which should tell the system to apply filters (such as echo cancellation, noise suppression, etc.) if required.
* decklinkvideosink: Remove late frame-dropping workaround for basesink bugSebastian Dröge2015-06-132-44/+0
| | | | | This was fixed by https://bugzilla.gnome.org/show_bug.cgi?id=749258 in basesink, and is not necessary to duplicate here anymore.
* decklinkvideosink: Don't require the same framerate in the input as the ↵Sebastian Dröge2015-06-121-0/+17
| | | | | | mode's framerate We only really care about the timestamps for the sink.
* vtenc: always enqueue frames, even on errorIlya Konstantinov2015-06-101-24/+37
| | | | | | | | | | | | Even when we fail to encode frame, we should still enqueue it so it could be passed into handle_frame (with output_buffer == NULL). Otherwise, we risk GstVideoEncoder's queue of frames growing unbounded. Note: We're slightly changing the renegotiation code to accommodate for frames without output buffers, but this commit takes no ownership over the way negotiation is being done. https://bugzilla.gnome.org/show_bug.cgi?id=750669
* d3dvideosink: Avoid frame rendering while the window is completely hiddenFabio Cetrini2015-06-101-0/+44
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=749856
* vtenc: free input buffer ASAPIlya Konstantinov2015-06-101-0/+4
| | | | | | | | | VTCompressionSessionEncodeFrame retains the CVPixelBuffer during encoding, and will release it as soon as it can (e.g. before it even calls our callback). This means we can safely release input buffer at this point, possibly allowing the system to reuse it sooner. https://bugzilla.gnome.org/show_bug.cgi?id=750671
* vtenc: Add missing gst_vtenc_frame_free() in error pathIlya Konstantinov2015-06-101-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=750668
* vtenc: add alignment=au to sink capsIlya Konstantinov2015-06-101-1/+2
| | | | | | | VT compression callback gets a CMSampleBuffer per frame, so vtenc_h264 should set 'alignment=au' in sink caps to indicate this. https://bugzilla.gnome.org/show_bug.cgi?id=750635
* uvch264src: fix compiler warningsChris Clayton2015-06-091-15/+18
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=750601
* avfassetsrc: fix huge memory leakIlya Konstantinov2015-06-091-0/+4
| | | | | | CMSampleBuffers were retained -> huge memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=750638
* vtenc: no need for queue_length with try_popIlya Konstantinov2015-06-091-6/+4
|
* vtdec: don't copy meta from input to outputIlya Konstantinov2015-06-091-2/+0
| | | | | | | | | Copying arbitrary metas is going to cause problems and this should really be handled by the base class. It overrides most other things already anyway, including timestamp and duration. Those are just set here now so we can insert the frame sorted into the queue. https://bugzilla.gnome.org/show_bug.cgi?id=748922
* Fix a common typo: retreive -> retrieveThiago Santos2015-06-051-1/+1
| | | | Seems to have been copy pasted around a few places
* ksvideosrc: fix logic and timestamp non-muxed streams againTim-Philipp Müller2015-06-041-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=750381
* amc: Only lower ranks of OMX.Exynos. audio codecs, the video codecs are ↵Sebastian Dröge2015-06-011-2/+3
| | | | actually working
* amc: Give marginal rank to codecs that start with OMX.Exynos.Sebastian Dröge2015-06-011-0/+10
| | | | | | | | | | OMX.Exynos. codecs are existing on some devices like the Galaxy S5 mini, and cause random crashes (of the device, not the app!) and generally misbehave. That specific device has other codecs that work with a different name, but let's just give them marginal rank in case there are devices that have no other codecs and these are actually the only working ones
* androidmedia: Give lower ranks to codecs not starting with OMX.Sebastian Dröge2015-06-011-3/+16
| | | | | | | | | | | | | On some devices there are codecs that don't start with OMX., while there are also some that do. And on some of these devices the ones that don't start with OMX. just crash during initialization while the others work. To make things even more complicated other devices have codecs with the same name that work and no alternatives. So just give a lower rank to these non-OMX codecs and hope that there's an alternative with a higher rank. Also stagefright gives codecs starting with OMX. a higher rank too and considers other codecs that don't start with OMX. as software codecs.
* vtdec: Require width and height field for H264Nicolas Dufresne2015-06-011-1/+2
| | | | | | | | This decoder does not work if width and height field are not set in the sinkpad caps. Let's make this explicit by adding them to the template caps. https://bugzilla.gnome.org/show_bug.cgi?id=749655
* vtenc: fix keyframe request race conditionIlya Konstantinov2015-06-012-28/+24
| | | | | | | | | | | It is incorrect to modify the frame properties after passing them, since VTCompressionSessionEncodeFrame takes reference and we have no control over when it's being used. In fact, the code can be simplified. We just preallocate the frame properties for keyframe requests, and pass NULL otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=748467
* androidmedia: Conditionally use get_{input,output}_buffer() Android 21 APIsSebastian Dröge2015-05-3110-319/+626
| | | | | Also properly set limit/position on byte buffer, some codecs prefer to have correct values there.
* wasapi: Fix flags order for uninstalled buildJan Schmidt2015-05-211-3/+3
|
* amcaudiodec: Add an output adapter for chunking the output into codec framesSebastian Dröge2015-05-192-10/+46
| | | | | Otherwise the base class will be confused. See https://bugzilla.gnome.org/show_bug.cgi?id=685730