summaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
...
* opensles: Explicitly specify layout=interleaved in capsArun Raghavan2015-04-082-2/+4
| | | | | | This is fine to hard-code. Section 9.1.8 of the OpenSL ES 1.1 specification, it is expected that multi-channel audio is always interleaved.
* avfvideosrc: fix setting of buffer offset endIlya Konstantinov2015-04-071-1/+1
| | | | | | Don't set offset end to random values off the stack. https://bugzilla.gnome.org/show_bug.cgi?id=747352
* shmsink: add an shm-area-name propertyGuillaume Emont2015-04-023-4/+32
| | | | | | | | The shm-area-property tells the name of the shm area used by the element. This is useful for cases where shmsink is not able to clean up (calling shm_unlink()), e.g. if it is in a sandbox. https://bugzilla.gnome.org/show_bug.cgi?id=675134
* directsoundsrc: Implement volume and muteVictor Toso2015-03-313-3/+276
| | | | | | | Using the MixerAPI as IDirectSoundCaptureBuffer doesn't implement volume control. https://bugzilla.gnome.org/show_bug.cgi?id=744383
* androidmedia: Add helpers for calling static methodsSebastian Dröge2015-03-152-1/+65
|
* androidmedia: Fix indentionSebastian Dröge2015-03-152-25/+25
|
* androidmedia: Add more JNI helper functionsMatthieu Bouron2015-03-153-1/+312
|
* androidmedia: Split jni code to gstjniutils.cMatthieu Bouron2015-03-154-583/+676
|
* Remove unported and useless osxvideosrc elementTim-Philipp Müller2015-03-145-1541/+2
| | | | There are other elements for this now.
* Restricted activeVideoMaxFrameDuration to fix frame rateijsf2015-03-131-1/+2
|
* Remove a bunch of silly ';;' typos at the end of linesJan Schmidt2015-03-122-2/+2
|
* androidmedia: Remove unused label/variableEdward Hervey2015-03-111-2/+0
|
* vtdec: Register a hardware-only vtdec_hw on OSX and give it a higher rankSebastian Dröge2015-03-073-4/+61
| | | | | | | | while having the default vtdec at secondary rank. This allows decodebin/playbin to prefer the hardware based decoders, and if that fails to initialize because hardware resources are busy to fall back to e.g. the libav based h264 decoder instead of the software based vtdec (which is slower), and only fall back to the software based vtdec if there is no higher ranked decoder available.
* avfvideosrc: allow "capture-screen" mode to select which screen to capture ↵Florian Zwoch2015-03-061-8/+34
| | | | | | via the "device-index" option https://bugzilla.gnome.org/show_bug.cgi?id=745161
* decklinkaudiosrc: Calculate the duration more accurately from the capture ↵Sebastian Dröge2015-03-041-4/+7
| | | | | | time and numbers of samples This should prevent any accumulating rounding errors with the duration.
* decklinkaudiosrc: Fix the timestamp and offset calculations even moreSebastian Dröge2015-03-041-6/+3
|
* decklinkaudiosrc: Don't subtract the duration from the capture timeSebastian Dröge2015-03-041-6/+3
| | | | | We already have the real capture time, not the time when we received the end of the packet.
* applemedia/avsamplesink: utilise a pull based approach of displaying video ↵Matthew Waters2015-03-042-41/+118
| | | | | | | | | frames Using requestMediaDataWhenReadyOnQueue the layer will execute a block when it would like more frames. Using this we can provide the current frame and avoid needlessly filling the layer's buffer queue causing older frames to be displayed when under resource pressure.
* decklink: Reset the clock calibration when unsetting the master clockSebastian Dröge2015-03-022-0/+4
| | | | | Otherwise the old calibration will stick around for the next time we use it, potentially giving us completely wrong times.
* decklink{audio,video}src: Add some more debug outputSebastian Dröge2015-03-022-0/+14
|
* decklink: Incorrect frame rate for interlaced modesDanielD102015-03-021-3/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=744386
* decklinkvideosrc: Fix scaling with rate of internal/external clockSebastian Dröge2015-02-271-2/+2
|
* d3dvideosink: release existing D3D swap chain on initRoman Nowicki2015-02-251-0/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=745159
* vtdec: only attempt use of the texture cache with GLMemory caps featuresMatthew Waters2015-02-251-10/+19
| | | | Otherwise we send rectangle textures to glimagesink
* d3dvideosink: Don't initialize the render window swap chain while the device ↵Sebastian Dröge2015-02-241-1/+6
| | | | | | is lost and we're waiting for reset https://bugzilla.gnome.org/show_bug.cgi?id=744615
* d3dvideosink: Deactivate the fallback buffer pool when replacing it during ↵Sebastian Dröge2015-02-241-1/+3
| | | | | | caps changes https://bugzilla.gnome.org/show_bug.cgi?id=744615
* applemedia: new AVSampleBufferLayerSinkMatthew Waters2015-02-244-1/+845
| | | | | Renders buffers using the CALayer subclass AVSampleBufferDisplayLayer which can be placed inside a Core Animation render tree.
* avfvideosrc: Only set latency if we already know our capsSebastian Dröge2015-02-191-1/+4
| | | | | | | | Otherwise we might set bogus values or GST_CLOCK_TIME_NONE. Also make sure to reset the caps field to NULL after unreffing the caps to prevent accidential use afterwards, and unref any old caps before we remember new caps.
* d3dvideosink: Deactivate the fallback pool and unref the fallback buffer ↵Sebastian Dröge2015-02-181-0/+4
| | | | | | | | | when resetting Otherwise we will still have a reference to the surface left, which would prevent activating the sink again later. E.g. after we lost the device. Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=744615
* vtenc: Check if VTSessionCopyProperty() succeeds before using the resultSebastian Dröge2015-02-161-0/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=744585
* opensles: Make debug category naming a bit more consistentArun Raghavan2015-02-132-4/+4
|
* applemedia: avfvideosrc: fix crash when non-GL memory is usedAlessandro Decina2015-02-131-3/+8
|
* avfvideosrc: Only use the duration of the sample if it is validSebastian Dröge2015-02-121-2/+4
|
* openslesringbuffer: Only allocate at most half the number of internal ↵Sebastian Dröge2015-02-101-1/+5
| | | | | | | buffers as external audioringbuffer ones Otherwise we might end up reading too much from the audioringbuffer, which would result in reading silence.
* decklinkvideosrc: Apply the diff between element and pipeline "base" time in ↵Sebastian Dröge2015-02-101-12/+13
| | | | | | | all cases Even if both clocks have the same rate, we need to apply this diff. Only when it's the same clock we don't, as it's our clock then.
* decklinkvideosrc: Add the diff between the pipeline base time and when we ↵Sebastian Dröge2015-02-101-0/+12
| | | | | | | | | start to play Add the diff between the external time when we went to playing and the external time when the pipeline went to playing. Otherwise we will always start outputting from 0 instead of the current running time.
* decklinkvideosink: Actually include the change mentioned in the last commitSebastian Dröge2015-02-101-0/+12
|
* decklinkvideo{src,sink}: Sample the internal clock immediately after ↵Sebastian Dröge2015-02-101-9/+10
| | | | | | | starting the device Otherwise we might stay at 0.0s for too long because we will take the first timestamp we ever see as 0.0... which will be after we started the device.
* decklink: Fix compiler warning with gccSebastian Dröge2015-02-091-2/+2
| | | | | | | | | | gstdecklink.cpp: In member function 'virtual HRESULT GStreamerDecklinkInputCallback::VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*)': gstdecklink.cpp:498:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (capture_time > m_input->clock_start_time) ^ gstdecklink.cpp:503:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if (capture_time > m_input->clock_offset) ^
* decklink{audio,video}src: Implement clock slaving if the pipeline clock is ↵Sebastian Dröge2015-02-095-55/+161
| | | | not the decklink clock
* decklinkaudio{src,sink}: Only start streams / scheduled playback if there is ↵Sebastian Dröge2015-02-092-4/+4
| | | | a videosrc at this point
* decklinkaudiosrc: Don't provide a clockSebastian Dröge2015-02-091-20/+0
| | | | | The audio source only works together with the video source, and the video source is already providing a clock.
* decklinkaudiosink: Throttle reading from the ringbufferSebastian Dröge2015-02-091-0/+60
| | | | | | | | | | | | | The driver has an internal buffer of unspecified and unconfigurable size, and it will pull data from our ring buffer as fast as it can until that is full. Unfortunately that means that we pull silence from the ringbuffer unless its size is by conincidence larger than the driver's internal ringbuffer. The good news is that it's not required to completely fill the buffer for proper playback. So we now throttle reading from the ringbuffer whenever the driver has buffered more than half of our ringbuffer size by waiting on the clock for the amount of time until it has buffered less than that again.
* decklinkaudiosink: Start scheduled playback when going to PLAYINGSebastian Dröge2015-02-091-6/+35
| | | | | | The ringbuffer's acquire() is too early, and ringbuffer's start() will only be called after the clock has advanced a bit... which it won't unless we start scheduled playback.
* vtdec: fix texture sharing on iOSAlessandro Decina2015-02-092-45/+101
| | | | | Move GLES calls to the context thread. Fix CVOpenGLESTextureCacheCreateTextureFromImage usage on iOS.
* decklink{audio,video}src: Take the capture times from the pipeline clockSebastian Dröge2015-02-084-43/+61
| | | | | | | Not from the decklink clock. Both will return exactly the same time once the decklink clock got slaved to the pipeline clock and received the first observation, but until then it will return bogus values. But as both return exactly the same values, we can as well use the pipeline clock directly.
* openslesringbuffer: Only pre-roll a single bufferSebastian Dröge2015-02-051-5/+2
| | | | | | | | | | | There is no reason to pre-roll more buffers here as we have our own ringbuffer with more segments around it, and we can immediately provide more buffers to OpenSL ES when it requests that from the callback. Pre-rolling a single buffer before starting is necessary though, as otherwise we will only output silence. Lowers latency a bit, depending on latency-time and buffer-time settings.
* openslesringbuffer: Allocate at most 4 internal buffersSebastian Dröge2015-02-051-3/+5
| | | | | | | | | 4 is the "typical" number of buffers defined by Android's OpenSL ES implementation, and its code is optimized for this. Also because we have our own ringbuffer around this, we will always have enough buffering on our side already. Allows for more efficient processing.
* openslessink/src: Lower default buffer time to 200ms like alsasinkSebastian Dröge2015-02-052-2/+2
|
* ksvideosrc: Fix missing brace warningNicolas Dufresne2015-02-031-7/+7
| | | | | There is more but it's from ks.h GUID initializer, which is shipped this way with mingw.