Sebastian Dröge
00176a1ddf
decklink: Make sure our clock never returns NONE, always advances and does not jump when going from PAUSED to PLAYING
...
It basically behaves the same as the audio clocks.
2015-01-28 16:13:16 +01:00
Sebastian Dröge
b3a4772834
decklinkvideosink: Handle the clock returning GST_CLOCK_TIME_NONE properly
2015-01-28 16:13:16 +01:00
Sebastian Dröge
8a5d2c561c
decklinkvideo{sink,src}: Make elements more similar to the audio elements by enabling the video input/output only when getting the actual caps
...
This will also make it easier later to support caps changes and support
selecting the mode based on the caps if that should ever be implemented.
2015-01-28 16:13:16 +01:00
Sebastian Dröge
f3ae93e504
decklinkvideosrc: Properly report caps if mode!=auto and handle caps changes properly for mode=auto
2015-01-28 16:13:16 +01:00
Sebastian Dröge
7fb57938c1
decklinkaudiosrc: Don't release input device twice on errors in set_caps()
2015-01-28 16:13:16 +01:00
Sebastian Dröge
c6d5c4c2e1
decklinkaudiosrc: Release the audio input on errors, not the video input
2015-01-26 15:33:45 +01:00
Sebastian Dröge
e734c3cf13
decklinkvideosink: Also consider max-lateness property value before dropping late frames
2015-01-15 12:49:46 +01:00
Sebastian Dröge
5a12b2670e
decklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was running already
...
This fixes handling of flushing seeks, where we will get a PAUSED->PLAYING
state transition after the previous one without actually going to PAUSED
first.
2015-01-14 16:33:53 +01:00
Sebastian Dröge
92fa187d11
decklinkvideosink: Don't schedule too late frames in prepare()
...
Otherwise we will overflow the internal buffer of the hardware
with useless frames and run into an error. This is necessary until
this bug in basesink is fixed:
https://bugzilla.gnome.org/show_bug.cgi?id=742916
2015-01-14 16:02:57 +01:00
Sebastian Dröge
7b979703f8
decklinkvideosink: Keep track of the time when we went to PLAYING for the external clock too
...
Otherwise we're adding an offset of the time the pipeline was in PLAYING
already to the running time when converting it to our internal clock.
2015-01-14 16:00:54 +01:00
Sebastian Dröge
aed66838f3
decklinkvideosink: Enable QoS and set max-lateness to 20ms
2015-01-14 13:33:15 +01:00
Sebastian Dröge
ab9ee34aba
decklink: Use BT2020 colorspace for UltraHD resolutions
2015-01-13 19:56:45 +01:00
Sebastian Dröge
65119ae8b4
decklink: Fix indention once again
2015-01-13 19:56:45 +01:00
Sebastian Dröge
d2e309d341
decklinkvideosink: Get our own "start time" instead of the one of the pipeline
...
decklinkvideosink might be added later to the pipeline, or its state might
be handled separately from the pipeline. In which case the running time when
we (last) went into PLAYING state will be different from the pipeline's.
However we need our own start time to tell the Decklink API, which running
time should be displayed at the moment we go to PLAYING and start scheduled
rendering.
2015-01-13 17:44:17 +01:00
Sebastian Dröge
b79ece392c
decklink: Initialize refcount of our C++ classes in the constructor
...
CID 1262288
CID 1262287
CID 1262289
2015-01-12 15:58:38 +01:00
Sebastian Dröge
4531a341a8
decklinkvideosrc: Post LATENCY message when the mode changes
...
Different modes have different framerates, and thus different latencies. We
might need to reconfigure the latency of the pipeline.
2015-01-08 18:16:12 +01:00
Sebastian Dröge
beede3f27d
decklinkvideosrc: Fix compiler warning
2015-01-08 18:16:12 +01:00
Florian Langlois
9480d91ad4
decklinkvideosrc: Add automatic mode detection
...
https://bugzilla.gnome.org/show_bug.cgi?id=739284
2015-01-08 18:16:12 +01:00
Sebastian Dröge
7e7cabb422
decklink: Add a dummy value to the video connection mapping table for auto
2015-01-08 12:55:51 +01:00
Sebastian Dröge
ed0d4cc653
decklinkaudiosrc: Add property to select the audio input connection
2015-01-08 12:48:22 +01:00
Sebastian Dröge
34de6ad73b
decklink: Add XLR and RCA audio connection enums
2015-01-08 12:23:53 +01:00
Sebastian Dröge
a35d5ae9b9
decklinkvideosrc: Add auto value for the connection property
...
This will use the default/auto connection for video capturing, and can
be set via the Decklink configuration tools.
2015-01-08 12:23:09 +01:00
Sebastian Dröge
478deb4805
decklink: Fix indention once again
2015-01-08 12:13:03 +01:00
Florian Langlois
81c1ef190d
decklink: Add property for configuring the input connection of the video sources
2015-01-08 12:12:50 +01:00
Florian Langlois
e7c6eb6326
decklink: Fix latency values for sources
2015-01-07 16:42:57 +01:00
Sebastian Dröge
196d9c4829
decklink: Add support for 4K / UHD modes
2014-12-29 17:58:37 +01:00
Sebastian Dröge
0122a9d1b6
decklink: Fix indention
2014-12-29 17:58:37 +01:00
Sebastian Dröge
d632a48d6c
decklink: Fix various compiler warnings with gcc
2014-12-19 15:05:58 +01:00
Sebastian Dröge
5e7782ca39
decklink: Re-add the COM initialization code for Windows
...
Untested, and we will never deinitialize COM again.
2014-12-19 14:50:25 +01:00
Sebastian Dröge
f9d16c5913
decklink: Remove in-same-pipeline detection code for audio/video elements of the same device
...
This causes deadlocks sometimes for some reason.
2014-12-19 14:40:40 +01:00
Sebastian Dröge
9c2e09cf39
decklinkvideosink: Implement clock slaving
2014-12-19 14:40:40 +01:00
Sebastian Dröge
b9e17c5605
decklinkvideosink: Add some more debug output for when frames are scheduled
2014-12-19 14:40:40 +01:00
Sebastian Dröge
ec90bbb6f3
decklink: Add property for configuring the buffer size of the sources
2014-12-19 14:40:40 +01:00
Sebastian Dröge
112fdd266a
decklinkaudiosrc: Implement timestamp jitter and discont handling
2014-12-19 14:40:40 +01:00
Sebastian Dröge
7c0fb92f1b
decklink: Our capture time is the end timestamp of the buffer, subtract the duration
2014-12-19 14:40:40 +01:00
Sebastian Dröge
4ef676f109
decklink: Allow for a maximum of 5 packets to be queued up
...
In case downstream is a bit slow with consuming packets at times.
2014-12-19 14:40:40 +01:00
Sebastian Dröge
aac0027ed2
decklink: Implement latency query in sources and remember selected mode
2014-12-19 14:40:40 +01:00
Sebastian Dröge
23d6eaaa10
decklink: Remove obsolete files
2014-12-19 14:40:39 +01:00
Sebastian Dröge
6d931a0c0e
decklink: Add initial version of audio and video sources
2014-12-19 14:40:39 +01:00
Sebastian Dröge
57d46fe9e1
decklink: Initial version of the audio/video sink rewrite
2014-12-19 14:40:39 +01:00
Sebastian Dröge
2d25f2e0b8
decklink: Fix make distcheck
...
And properly dist all headers and source files.
2014-12-04 15:43:20 +01:00
Sebastian Dröge
d0892984bc
decklink: Fix compiler warnings with gcc in the dispatcher
2014-12-03 16:01:32 +01:00
Sebastian Dröge
9aa8bf1705
decklink: Update Windows SDK headers to 10.3.1
...
No idea where the DecklinkAPIDispatch.cpp comes from on Windows,
but this should still work. Will just become a problem once we
use other parts of the API.
2014-12-03 15:16:18 +01:00
Sebastian Dröge
9a8a944d2f
decklink: Update OS X SDK headers to 10.3.1
2014-12-03 14:42:43 +01:00
Sebastian Dröge
5d74b4ba42
decklink: Update Linux SDK headers to 10.3.1
2014-12-03 14:39:13 +01:00
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
Edward Hervey
a6be944da9
decklink: Fix unitialized variable
2012-04-25 10:31:00 +02:00
Sebastian Dröge
cda192b3b7
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 18:02:56 +02:00
Sebastian Dröge
1318a97e0a
gst: Update versioning
2012-04-04 14:44:34 +02:00
Sebastian Dröge
860ccd414d
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
NEWS
RELEASE
common
configure.ac
docs/libs/gst-plugins-bad-libs-sections.txt
docs/plugins/gst-plugins-bad-plugins.args
docs/plugins/gst-plugins-bad-plugins.hierarchy
docs/plugins/gst-plugins-bad-plugins.interfaces
docs/plugins/inspect/plugin-adpcmdec.xml
docs/plugins/inspect/plugin-adpcmenc.xml
docs/plugins/inspect/plugin-assrender.xml
docs/plugins/inspect/plugin-audiovisualizers.xml
docs/plugins/inspect/plugin-autoconvert.xml
docs/plugins/inspect/plugin-bayer.xml
docs/plugins/inspect/plugin-bz2.xml
docs/plugins/inspect/plugin-camerabin2.xml
docs/plugins/inspect/plugin-celt.xml
docs/plugins/inspect/plugin-dataurisrc.xml
docs/plugins/inspect/plugin-debugutilsbad.xml
docs/plugins/inspect/plugin-dtmf.xml
docs/plugins/inspect/plugin-dtsdec.xml
docs/plugins/inspect/plugin-dvbsuboverlay.xml
docs/plugins/inspect/plugin-dvdspu.xml
docs/plugins/inspect/plugin-faac.xml
docs/plugins/inspect/plugin-faad.xml
docs/plugins/inspect/plugin-gsm.xml
docs/plugins/inspect/plugin-h264parse.xml
docs/plugins/inspect/plugin-mms.xml
docs/plugins/inspect/plugin-modplug.xml
docs/plugins/inspect/plugin-mpeg2enc.xml
docs/plugins/inspect/plugin-mpegdemux2.xml
docs/plugins/inspect/plugin-mpegtsdemux.xml
docs/plugins/inspect/plugin-mpegvideoparse.xml
docs/plugins/inspect/plugin-mplex.xml
docs/plugins/inspect/plugin-pcapparse.xml
docs/plugins/inspect/plugin-rawparse.xml
docs/plugins/inspect/plugin-rtpmux.xml
docs/plugins/inspect/plugin-rtpvp8.xml
docs/plugins/inspect/plugin-scaletempo.xml
docs/plugins/inspect/plugin-schro.xml
docs/plugins/inspect/plugin-sdp.xml
docs/plugins/inspect/plugin-segmentclip.xml
docs/plugins/inspect/plugin-shm.xml
docs/plugins/inspect/plugin-videomaxrate.xml
docs/plugins/inspect/plugin-videoparsersbad.xml
docs/plugins/inspect/plugin-vp8.xml
docs/plugins/inspect/plugin-y4mdec.xml
ext/celt/gstceltdec.c
ext/dts/gstdtsdec.c
ext/modplug/gstmodplug.cc
ext/opus/gstopusenc.c
gst-libs/gst/video/gstbasevideocodec.c
gst-libs/gst/video/gstbasevideocodec.h
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideodecoder.h
gst-libs/gst/video/gstbasevideoencoder.c
gst-libs/gst/video/gstbasevideoencoder.h
gst/adpcmdec/Makefile.am
gst/audiovisualizers/gstbaseaudiovisualizer.c
gst/h264parse/gsth264parse.c
gst/mpegdemux/mpegtsparse.c
gst/mpegtsdemux/mpegtsbase.c
gst/mpegtsdemux/mpegtspacketizer.c
gst/mpegtsdemux/mpegtsparse.c
gst/mpegtsdemux/tsdemux.c
gst/mpegtsdemux/tsdemux.h
gst/mxf/mxfdemux.c
gst/rawparse/gstaudioparse.c
gst/videoparsers/gsth263parse.c
gst/videoparsers/gsth264parse.c
sys/d3dvideosink/d3dvideosink.c
sys/decklink/gstdecklinksink.cpp
sys/dvb/gstdvbsrc.c
sys/shm/gstshmsrc.c
sys/vdpau/h264/gstvdph264dec.c
sys/vdpau/mpeg/gstvdpmpegdec.c
tests/examples/opencv/gst_element_print_properties.c
win32/common/config.h
2012-03-29 17:41:53 +02:00
Wim Taymans
a9ec4d62a8
update for buffer changes
2012-03-28 12:53:09 +02:00