-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Several updates/fixes, including generic audio/video source selection #1
Conversation
Not specifying an output path or specifying an invalid container format caused a segfault, which this commit is supposed to fix.
For now, this only applies to bmdcapture and bmdplay; genlock needs to set timing offset options which is different. As genlock is not my primary focus, it hasn't been changed yet. All behavior should be unchanged for recent SDKs, the code may only behave different for sdk-7.3 where it did not work at all previously. It has been tested on 7.3 though, so it should be fine.
(whitespace, tabs -> spaces)
Unifying brackets; always use explicit brackets
(in bmdcapture only, for now) The previous code only allowed for specifying certain pre-configured audio + video combinations. The new code allows choosing audio and video individually. Mapping of old to new command line options: * -I 1 (Composite + Analog) -V 1 -A 1 * -I 2 (Components + Analog) -V 2 -A 1 * -I 3 (HDMI + embedded audio) -V 3 -A 2 * -I 4 (SDI + embedded audio) -V 4 -A 2
Missed one occurence of missing brackets.
Reasoning: In some circumstances, the queue starts growing larger and larger over time (several hours). Although a memory limit certainly makes sense to avoid crashing the entire system, it is useful for some cases to be able to fully use the available RAM so that the unwanted capture termination will happen as late as possible.
The verbose option enables regular (every 25fps) status information, not only when no signal is detected but even in the normal case. It also reports the current queue size in MB to allow for detection of a growing queue.
Yet another occurence of strange whitespace or missing explicit brackets.
... to refer to avconv instead of ffmpeg and to use the new -A/-V syntax instead of -I.
On 06/03/12 14:51, Christian Hoffmann wrote:
Thank you, I'm a bit busy today but hopefully tonight or tomorrow I'll lu Luca Barbato |
Several updates/fixes, including generic audio/video source selection
Hi Luca,
once again it's the time of the year where I have to establish some live streaming setup. Similar to last year, I will be once again using your decklink-ffmpeg project, which has already helped a lot. So, thanks once again. :)
The most important fixes/additions include segfault fixes, generic video/audio source selection and SDK-7.3 compatibility. The latter is required because we have a strange video source (a Mac Pro) which is only detected by driver version 7.3, any newer driver is unable to detect a valid signal. We are in contact with Blackmagic regarding this behavior. The specific change should not break anything (at least hopefully).
The other changes are mostly maintainance- or setup-specific, but reworked in a way which should be generic enough to include them anyway.
Most of the changes only affect bmdcapture and not bmdplay or genlock, but they should be rather easy to copy around if someone needs it (especially the source selection stuff).
Regarding coding style, I have mainly tried to eliminate tabs (as most of the code used spaces, although not consistently) and I have tried to unify bracket usage. To be honest, I don't care which formatting you'd prefer, I'd take/implement anything, I'd just want it consistent.
Other than that, the comments/commit messages should help explain my changes.
If you have any questions, feel free to ask back. I'd be happy to get most (if not all) changes merged so that I don't have to backport any improvements on your side to my repo. Besides that, others can take advantage from my changes, I hope.
Best regards,
Christian