GNOME Bugzilla – Bug 701494
decklinksrc: signal autodetection, eos fixing
Last modified: 2018-05-06 13:02:51 UTC
Created attachment 245895 [details] TAR GZ with the plugin's code This is my own implementation of the decklink plugin for GStreamer 1.0. It is based on the one of GStreamer 0.10 and has some advantages ( autodetection, signal to be able to detect if there is a camera plugged in or not...), as well as I've fixed the problem with the EOS event. It has only the source part. I've only tested it on Linux. In fact, I've deleted the code for Windows for clarity. If someone wants to add it, it's welcome.
For this to be merged in, the relevant changes (autodetection and EOS fix) will have to be made to the latest code (master branch of gst-plugins-bad, as decklinksrc and decklinksink have already been ported to 1.0), and a patch supplied. If you're able to do this, the patch will likely be accepted quickly. Otherwise, it will have to wait until someone has the interest and time to do this, which could be a very long time. Thanks for sharing your changes.
What was the bug with the eos handling? I think I may have fixed that already when I ported it to 1.0
Seems like you did fix it, but I haven't tested it myself, see bug #680700 (https://bugzilla.gnome.org/show_bug.cgi?id=680700).
Seems like there's already a bug for the no-signal issue, bug #667724. As for autodetection, I'd suggest instead of adding another property, just add another entry to the mode enum, like GST_DECKLINK_MODE_AUTO, and then error out if it turns out autodetection isn't supported by the particular card.
Hi, the EOS bug was the one caused when sending the EOS event. At least in version 0.10 it wasn't properly sent, so when creating for example an MP4 file the headers were not written. I managed it properly to allow it. There was also another bug regarding with the file duration in 0.10. The video and the audio had strange durations. I've also modified the way of calculating the duration of each buffer and now it works. The last significant bug was about the video caps. I can assure now that they are correctly detected. This is also related with the auto-detection part. Yes, I could have included the auto-detection as another entry to that enum. If I have some time I'll do it. I'll try to merge it with the main branch when I have some time. Thanks
The plugin was more or less rewritten since this. Please update your patch against the new version, and especially please attach a patch instead of the full source code.
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks!