Commit graph

1967 commits

Author SHA1 Message Date
Sebastian Dröge
568da160cb vtenc: Instead of crashing if no corresponding frame is found, ignore this
... and hope that everything will be fine. This shouldn't really happen but
previously happened during shutdown. It should be fixed in videoencoder now,
but better be on the safe side here.
2014-12-22 11:49:08 +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
Alessandro Decina
0156725480 avfvideosrc: improve timestamping and latency reporting
Use AVF provided timings to timestamp output buffers. Use the running time at
the time the first buffer is produced to base timestamps on. Report 1-frame
latency based on the negotiated framerate instead of hardcoding 4ms latency.
2014-12-17 12:24:05 +11:00
Raimo Järvi
96ea75d75a dshowdecwrapper: Remove dependency on ATL
This fixes compiling with Visual C++ Express
that doesn't include ATL.

https://bugzilla.gnome.org/show_bug.cgi?id=677223
2014-12-16 23:17:35 +00:00
Matthew Bader
0fc55436b3 dshowsrcwrapper: Added support for image/jpeg and h264
https://bugzilla.gnome.org/show_bug.cgi?id=741188
2014-12-16 23:17:25 +00:00
Wim Taymans
87f5574e39 rectangle: clear rectangle struct before use 2014-12-16 13:35:14 +01:00
Nick Stoughton
a344b99c98 bluez: support compile-time distinction between bluez4 and bluez5
Signed-off-by: Nick Stoughton <nstoughton@aether.com>

https://bugzilla.gnome.org/show_bug.cgi?id=738626
2014-12-11 09:08:47 +05:30
Alessandro Decina
4d89d7116b vtenc: bump rank to PRIMARY 2014-12-11 00:02:26 +11:00
Alessandro Decina
21f8c96d75 vtenc: negotiate profile and level with downstream 2014-12-10 22:36:53 +11:00
Alessandro Decina
8166487a00 vtenc: report latency 2014-12-10 19:44:51 +11:00
Sebastian Dröge
b88e4304f1 vtenc: Add properties to specify the maximum keyframe interval in frames and seconds 2014-12-05 16:33:54 +01:00
Sebastian Dröge
1a2362eb2b vtenc: Fix conversion of the bitrate property and our internal bitrate storage
The property is in kbit/s and we store it in bit/s, so just multiply and
divide by 1000. No need to put a factor of 8 in there.

kVTCompressionPropertyKey_AverageBitRate is also in bit/s according to
its documentation.
2014-12-05 16:17:16 +01:00
Chun-wei Fan
788297fec3 dshowvideosink: Port to 1.0 and new GLib threading API
This updates the dshowvideosink to work with the GStreamer 1.0.x APIs, and
avoids the use of deprecated GLib threading API that are now used since
GLib 2.32+

https://bugzilla.gnome.org/show_bug.cgi?id=699364
2014-12-05 08:02:02 +00:00
Matthew Bader
54a7bdc0be dshowdecwrapper: Port to 1.x
https://bugzilla.gnome.org/show_bug.cgi?id=740945
2014-12-04 22:09:29 +01:00
Reynaldo H. Verdejo Pinochet
89eb1e9a03 vcdsrc: port to 1.
https://bugzilla.gnome.org/show_bug.cgi?id=547661
2014-12-04 17:00:52 -03:00
Matthew Bader
d627f4b93b dshowsrcwrapper: Fixed null caps comparison
https://bugzilla.gnome.org/show_bug.cgi?id=741086
2014-12-04 18:04:11 +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
Alessandro Decina
d25813c9bc vtenc: add quality property 2014-11-27 18:41:21 +01:00
Alessandro Decina
6a4270d5cc vtenc: set profile and level in caps 2014-11-27 18:41:21 +01:00
Tim-Philipp Müller
a964491735 Remove unported and obsolete qtwrapper plugin code
QuickTime is deprecated, we want new plugins based
on avfoundation (osx) or dxva/mediafoundation (windows).
2014-11-26 14:43:21 +00:00
Tim-Philipp Müller
99a17503a4 winks: fix debug message format issues
And print last bits of GUID properly instead
of printing nonsense.

https://bugzilla.gnome.org/show_bug.cgi?id=733055
2014-11-25 16:31:50 +00: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
Alessandro Decina
d45a2f0480 vtenc: let VT pick the bitrate by default 2014-11-21 15:48:08 +01:00
Alessandro Decina
d800ac023b vtenc: set H264_Baseline_AutoLevel on OSX as well 2014-11-20 16:06:46 +01:00
Alessandro Decina
d0ce9a6f7c vtdec: disable the reorder queue for baseline streams 2014-11-20 16:06:46 +01:00