summaryrefslogtreecommitdiff
path: root/sys/decklink/gstdecklinkaudiosink.cpp
Commit message (Collapse)AuthorAgeFilesLines
* decklinkaudio{src,sink}: Only start streams / scheduled playback if there is ↵Sebastian Dröge2015-02-091-2/+2
| | | | a videosrc at this point
* 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.
* decklink{audio,video}sink: Only start scheduled playback once both sources ↵Sebastian Dröge2015-01-281-0/+4
| | | | | | | | | | are ready and we are in PLAYING Otherwise we might start the scheduled playback before the audio or video streams are actually enabled, and then error out later because they are enabled to late. We enable the streams when getting the caps, which might be *after* we were set to PLAYING state.
* decklink: Make sure our clock never returns NONE, always advances and does ↵Sebastian Dröge2015-01-281-2/+10
| | | | | | not jump when going from PAUSED to PLAYING It basically behaves the same as the audio clocks.
* decklink: Fix indention once againSebastian Dröge2015-01-131-2/+1
|
* decklink: Initialize refcount of our C++ classes in the constructorSebastian Dröge2015-01-121-0/+2
| | | | | | CID 1262288 CID 1262287 CID 1262289
* decklink: Remove in-same-pipeline detection code for audio/video elements of ↵Sebastian Dröge2014-12-191-1/+7
| | | | | | the same device This causes deadlocks sometimes for some reason.
* decklink: Implement latency query in sources and remember selected modeSebastian Dröge2014-12-191-1/+4
|
* decklink: Add initial version of audio and video sourcesSebastian Dröge2014-12-191-2/+0
|
* decklink: Initial version of the audio/video sink rewriteSebastian Dröge2014-12-191-0/+561