Skip to content
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

Merged
merged 11 commits into from
Mar 7, 2012

Conversation

hoffie
Copy link
Contributor

@hoffie hoffie commented Mar 6, 2012

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

hoffie added 11 commits March 6, 2012 21:04
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.
@lu-zero
Copy link
Owner

lu-zero commented Mar 6, 2012

On 06/03/12 14:51, Christian Hoffmann wrote:

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. :)

Thank you, I'm a bit busy today but hopefully tonight or tomorrow I'll
try to merge all them back =)

lu

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero

lu-zero added a commit that referenced this pull request Mar 7, 2012
Several updates/fixes, including generic audio/video source selection
@lu-zero lu-zero merged commit c614f8b into lu-zero:master Mar 7, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants