Sebastian Dröge
55721c62e6
decklinksink: Drop too late frames and start scheduled playback at the correct time
2014-11-28 17:32:29 +01:00
Sebastian Dröge
c180012d02
decklinksrc: For the source, unsetting the callback already deletes it
2014-11-28 15:06:42 +01:00
Sebastian Dröge
820894a871
decklinksink: Wait for the pipeline clock instead of the decklink clock
...
Otherwise we're going to starve other elements if the decklink clock
is slower than the pipeline clock, or starts much later.
Of course this will still cause problems if the decklink clock and ours are
completely out of sync, or running at a very different rate. But this at least
works better now.
2014-11-28 14:58:41 +01:00
Sebastian Dröge
d191fb4476
decklinksink: Schedule video frames according to their timestamps, not according to a frame counter
2014-11-28 14:58:41 +01:00
Sebastian Dröge
b4695f60e5
decklinksink: Add some FIXME comments about synchronization
2014-11-28 14:58:41 +01:00
Sebastian Dröge
50c4ea54f6
decklinksrc: Sample the pipeline clock for the timestamps instead of coming up with our own
...
If we just count the frames and calculate timestamps from that, all frames
will arrive late in the sink as we have a live source here. Instead take
the pipeline clock at capture time as reference.
2014-11-28 14:56:19 +01:00
Sebastian Dröge
ee8766b342
decklinksrc: Handle callback/delegate object the same way as in the sink
...
Potentially fixes crashes.
2014-11-28 14:51:53 +01:00
Sebastian Dröge
2a0123d79a
decklinksink: Don't crash when going to READY another time
...
We have to handle the callback object a bit different:
a) it needs a virtual destructor
b) we need to set the callback to NULL when we're done with the output
c) create a new one every time
https://bugzilla.gnome.org/show_bug.cgi?id=740616
2014-11-28 14:51:52 +01:00
Sebastian Dröge
11485e32ab
decklink: Add support for 2k modes
2014-11-24 14:11:04 +01:00
Sebastian Dröge
104f39dfe8
decklink: HD1080i50 is 50 frames per second
2014-11-24 13:56:56 +01:00
Sebastian Dröge
bdfac8a6d4
decklink: Fix indention
2014-11-14 10:41:59 +01:00
Sebastian Dröge
e47dbaed07
decklinksink: Check the correct variable for failure
...
If we can't get an output, we would otherwise just use it later and crash.
2014-11-11 12:00:30 +01:00
Sebastian Dröge
a680867761
decklinksink: Initialize pixel format to bmdFormat8BitYUV
...
https://bugzilla.gnome.org/show_bug.cgi?id=725871
2014-08-01 18:02:10 +02:00
Sebastian Dröge
fd793e9498
decklinksink: Catch errors during data flow and error out properly
...
Otherwise we will just deadlock the thread if e.g. scheduling a video
frame fails for whatever reason.
2014-08-01 16:59:42 +02:00
Sebastian Dröge
a8f94fe1e1
decklink: 59.94fps is 60000/1001, not 30000/1001
...
And also change 30/1 to 60/1 for one 60fps mode.
2014-08-01 12:39:47 +02:00
Nicolas Dufresne
4e9036690c
decklink: Don't fail if HW does not have all interfaces
...
This patch completes 1c1cc73a3b
. These
changes where accidentally pushed as a separate patch with wrong commit
message.
https://bugzilla.gnome.org/show_bug.cgi?id=7273
2014-04-27 09:34:39 -04:00
Tim-Philipp Müller
d5a0ace347
Revert "y4mdec: check for VIDEO meta instead of CROP meta"
...
This reverts commit 68309bd215
.
Commit message and files changed do not match.
2014-04-27 13:11:03 +01:00
Nicolas Dufresne
1c1cc73a3b
decklink: Fix support for HW without output
...
Devices suitable for decklinksrc may not have any output, hence querying
the input returns NULL. Add support for all cases where
input/output/config may be missing.
https://bugzilla.gnome.org/show_bug.cgi?id=727306
2014-04-23 12:42:44 -04:00
Nicolas Dufresne
68309bd215
y4mdec: check for VIDEO meta instead of CROP meta
...
This element only need stride support, but checks for CROP_META, which
is a bit too much, even though this works as CROP imply having VIDEO
meta.
https://bugzilla.gnome.org/show_bug.cgi?id=726255
2014-04-23 12:42:44 -04:00
Vincent Penquerc'h
c78edf5afc
decklink: initialize priv to NULL
...
While the code that creates the object sets priv to some existing
pointer after new, this ensures any future new not doing this will
hit the various priv!=NULL asserts in the code.
Coverity 1139935
2014-04-09 11:43:23 +01:00
Sebastian Dröge
46b62c72d8
decklinksink: Give preference to the order of the filter caps when querying caps
2013-12-17 10:23:15 +01:00
Sebastian Dröge
007807d149
decklinksink: Only intersect with the filter caps if there actually is a filter
2013-12-17 10:21:26 +01:00
Todd Agulnick
44b9429516
decklinksrc: Process EOS even when there are no incoming video frames.
...
https://bugzilla.gnome.org/show_bug.cgi?id=680700
2013-12-15 10:15:31 +01:00
Sebastian Dröge
234f3c73dc
decklinksrc: Set GST_ELEMENT_FLAG_SOURCE on the source
...
As it does not inherit from basesrc, this flag is not automatically set
and e.g. gst_bin_iterate_sources() and other code does not consider this
element a source.
https://bugzilla.gnome.org/show_bug.cgi?id=680700
2013-12-14 18:43:03 +01:00
Tim-Philipp Müller
fb9fbc8fba
decklinksrc: send caps event before segment
2013-09-05 19:10:31 +01:00
Sebastian Dröge
60c2c123be
decklink: Add support for group-id in the stream-start event
2013-07-23 10:33:31 +02:00
Youri Westerman
136aa4614e
decklink: actually enable decklinksink
...
https://bugzilla.gnome.org/show_bug.cgi?id=704505
2013-07-22 14:29:35 +01:00
Youri Westerman
f9898e42f6
decklink: add "device-number" to select from multiple devices
...
https://bugzilla.gnome.org/show_bug.cgi?id=704505
2013-07-22 14:19:25 +01:00
Sebastian Dröge
e51cd4fe2f
gst: Add better support for static plugins
2013-04-15 15:59:22 +02:00
Tim-Philipp Müller
d84ef611f0
decklinksink: fix some compiler warnings
2013-03-20 10:49:04 +00:00
Mark Nauwelaerts
52908193b0
decklinksink: obtain class from object
2013-03-18 21:19:15 +01:00
Tim-Philipp Müller
a2f446fabc
decklinksrc: set discont flag on first audio buffer too
2013-03-16 23:32:12 +00:00
Tim-Philipp Müller
929b0bc3e2
decklinksrc: aggregate audio and video flow returns
...
And pause task in some more cases where we should
pause the task.
2013-03-16 23:30:24 +00:00
Tim-Philipp Müller
5dfc7c4bce
decklinksrc: add send_event handler so application can inject EOS event
...
This is needed to shut down a recording pipeline cleanly.
https://bugzilla.gnome.org/show_bug.cgi?id=680700
2013-03-16 23:17:24 +00:00
Tim-Philipp Müller
5eb8188e55
decklinksrc: pause streaming thread and send EOS event on error
...
Instead of just posting an EOS message and continuing,
actually pause the thread.
2013-03-16 21:34:57 +00:00
Tim-Philipp Müller
74ca4aeefd
decklinksink: port to 1.0
...
Compiles, not tested yet.
2013-02-28 18:54:15 +00:00
Tim-Philipp Müller
c16224a220
decklinksrc: add layout=interleaved to audio caps
2013-02-28 18:53:54 +00:00
Tim-Philipp Müller
126df5a0c2
decklinksrc: port to 1.0
...
Compiles, not tested yet. A great number of superfluous custom
pad functions may have been harmed in the making of this port.
2013-02-27 23:34:34 +00:00
Youness Alaoui
57160c2be7
decklink: remove useless and uninitialized list causing a crash in the device probe
2012-12-26 13:11:50 -05:00
Tim-Philipp Müller
9e1b75fda3
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller
32ba17cd0f
Use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
David Schleef
65a1f79bcb
decklink: change device instance lifecycle
...
The decklink driver eventually crashes after repeated creation/deletion
of device, input, output, and configuration objects. Change to create
these at the outset and keep them around forever.
2012-09-23 21:27:36 +01:00
David Schleef
dd66252f23
decklinksrc: Fix memory leaks
...
Buffers now hold on to a reference for the input, so the input
object doesn't get freed (and carry the buffers with it) before
all the buffers are freed.
2012-09-23 21:27:34 +01:00
Mark Nauwelaerts
5431286b2a
replace _get_caps_reffed with _get_caps
2012-09-14 17:55:05 +02:00
Mark Nauwelaerts
578861abea
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:27:49 +02:00
David Schleef
85471f5ffa
decklinksink: Fix memory leak
2012-09-09 02:07:24 +01:00
David Schleef
71dcbbd52a
decklinksink: Better handling of audio output
...
Conflicts:
sys/decklink/gstdecklinksink.cpp
2012-07-03 09:11:52 +02:00
David Schleef
2a51113351
decklinksrc: Send newsegment events
2012-07-03 09:09:27 +02:00
David Schleef
8199f37f27
decklinksink: Mark element as sink element
2012-07-03 09:09:22 +02:00
David Schleef
70cef922a4
decklink: use GOnce in type registration
2012-07-03 09:09:18 +02:00