Tim-Philipp Müller
d790ba9a06
gdppay: optimise payloading of buffers with multiple memories
...
Add function to calculate a payload CRC across multiple memories
so we don't have to merge buffers with multiple memories just to
calculate the CRC. Also make CRC calculation function static,
since it's not used outside dataprotocol.h and move special-casing
of length = 0 -> CRC = 0 into CRC function (from caller).
Perhaps more importantly, since payload CRC is off by default:
don't map buffer (and possibly merge memories in the process)
if we are not going to use it to calculate a CRC anyway.
2014-12-26 13:44:32 +00:00
Tim-Philipp Müller
3853f8c070
gdppay: dataprotocol: drop bogus const
...
Doesn't really make sense given that we map
it and possibly merge memories and such.
2014-12-26 13:44:29 +00:00
Vijay Jayaraman
68e77265a0
hlsdemux: typefind might fail if first buffer is too short
...
If typefind fails, check to see if the buffer is too short for typefind. If this is the case,
prepend the decrypted buffer to the pending buffer and try again the next time around.
https://bugzilla.gnome.org/show_bug.cgi?id=740458
2014-12-23 10:08:57 -03:00
Thiago Santos
1e9ce11efd
hlsdemux: port to adaptive base class
...
Conflicts:
ext/hls/gsthlsdemux.c
ext/hls/gsthlsdemux.h
2014-12-23 10:08:57 -03:00
Thiago Santos
c65aeedb6f
adaptivedemux: check if element exists before setting it to null
...
Under certain error conditions it might happen that the element
has been freed already and trying to set it to NULL causes an
assertion
2014-12-23 10:08:57 -03:00
Thiago Santos
3dfab51b92
adaptivedemux: make sure task has stopped before freeing it
...
Otherwise the thread will be running and its memory will get freed.
This leads to memory corruption
2014-12-23 10:08:56 -03:00
Thiago Santos
0bef1974e2
adaptivedemux: fix segment start when exposing new streams
...
Segment start needs only to be updated when starting the streams
or after a seek, doing it during bitrate changes will cause the
running time to go discontinuous (jump back to a previous ts)
and QOS will drop buffers
2014-12-23 10:08:56 -03:00
Thiago Santos
73fb0850c9
adaptivedemux: allow subclass to use new pads group when switching bitrate
...
Fix pad groups switching when bitrate changes to allow HLS to use this feature
2014-12-23 10:08:51 -03:00
Sebastian Dröge
be7034d1f7
audiomixer: If getting a timeout before having caps, just advance our position
...
This can happen if this is a live pipeline and no source produced any buffer
and sent no caps until the an output buffer should've been produced according
to the latency.
2014-12-23 12:24:48 +01:00
Sebastian Dröge
0e8604f4ee
audiomixer: Make sure to release the current buffer in reset()
...
If we didn't output the last one in aggregate because we were shutting down
earlier we might otherwise leak it.
2014-12-23 12:15:50 +01:00
Sebastian Dröge
7c575af6df
audiomixer: Change blocksize property to output-buffer-duration in time format
...
This makes the interface of audiomixer independent of the actual caps.
2014-12-23 11:45:50 +01:00
Sebastian Dröge
6771db209d
aggregator: Don't leak flush-start events
2014-12-23 11:45:05 +01:00
Sebastian Dröge
e7867a3586
aggregator: Also change the default latency to 0, not just the minimum
2014-12-23 10:24:27 +01:00
Sebastian Dröge
c04bb6983e
aggregator: Fix docs and default value of the latency property
2014-12-23 09:52:20 +01:00
Sebastian Dröge
800f0ac49b
aggregator: Also include the subclass latency in the result of the latency query
2014-12-22 22:19:52 +01:00
Sebastian Dröge
ad9fe1fe7b
videoaggregator: Use the src query implementation of aggregator as the default case
2014-12-22 22:12:02 +01:00
Sebastian Dröge
8244e78d19
audiomixer: Use the src query implementation of aggregator as the default case
2014-12-22 22:12:02 +01:00
Tim-Philipp Müller
68d4616ac8
bayer2rgb: take into account filter in transform_caps function
...
Fixes criticals when filter caps are passed.
Also fix wrong GST_DEBUG_OBJECT use.
https://bugzilla.gnome.org/show_bug.cgi?id=741863
2014-12-22 16:46:06 +00:00
Sebastian Dröge
5dd1dfdadc
aggregator: Post a latency message if the value of the latency property changes
2014-12-22 15:27:25 +01:00
Sebastian Dröge
a27ff89d42
aggregator: Wake up the src thread after handling a latency query
...
Due to changed latencies or changed live-ness we might have to
adjust if we wait on a deadline at all and how long.
2014-12-22 15:03:59 +01:00
Sebastian Dröge
341e5291c3
aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again
...
This simplifies the code and also makes sure that we don't forget to check all
conditions for waiting.
Also fix a potential deadlock caused by not checking if we're actually still
running before starting to wait.
2014-12-22 15:00:36 +01:00
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
a2d31cc59b
MAINTAINERS: Update my mail address
2014-12-22 11:46:17 +01:00
Stefan Sauer
23da373c63
audiomixer: fix build flag order
...
Have the libraries/inlcudes from plugins-bad first to avoid picking up the installed version.
Fixes the build when the local api changed.
2014-12-21 07:47:25 -05:00
Stefan Sauer
d6d9e91877
freeverb: add a few presets
2014-12-20 12:29:13 -05:00
Nicolas Dufresne
046639ddaa
gltest: Port to new API
...
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 13:19:34 -05:00
Nicolas Dufresne
207308446b
glbufferpool: Always recalculate buffer size
...
Actually we should always recalculate buffer size since our buffer size
even when not-padded is smaller for many sub-sampled formats. This is
because we don't add padding between the planes.
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 12:25:41 -05:00
Nicolas Dufresne
170a49f901
glmemory: No need for padding
...
A memory object cannot be put on stack, so no need for padding.
2014-12-19 12:12:08 -05:00
Nicolas Dufresne
9954de1ccd
gl: Add support for GstVideoAlignment
...
This allow saving a copy with libav video decoders or decoders with
similar padding requirement.
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 12:11:08 -05:00
Nicolas Dufresne
da3ae06cd1
glmemory: Handle upload/download flags from map
...
Problem was that if buffer was mapped READWRITE (state of buffers from
libav right now), mapping it READ/GL will not upload. This is because the
flag is only set when the buffer is unmapped. We can fix this by setting
the flags in map. This result in already mapped buffer that get mapped
to be read in GL will be uploaded. The problem is that if the write
mapper makes modification afterward, the modification will never get
uploaded.
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 11:45:35 -05:00
Nicolas Dufresne
4f3c33af3a
glmemory: Handle custom stride with OPENGL3
...
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2014-12-19 11:45:35 -05: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
f9739870ce
audiomixer: Track discont-time per pad instead of globally
...
We do discont handling per pad, not per element!
2014-12-19 14:40:33 +01:00
Branko Subasic
f00d21aec5
curlsmtpsink: add final boundary to all multipart emails
...
Corrected the final boundary mechanism so that a final boundary is
added to each mail with multipart content that is sent,
not just to the last one.
https://bugzilla.gnome.org/show_bug.cgi?id=741553
2014-12-19 13:16:43 +00:00
Sebastian Dröge
654d201375
audiomixer: We're only EOS if all our pads are actually EOS
...
Having a buffer or not on the pad is irrelevant.
2014-12-18 23:33:58 +01:00
Sebastian Dröge
0d38b2212c
audiomixer: The pad's size is always supposed to be the whole buffer size
...
And the offset the offset into that buffer. Changing the size will
cause all kinds of assumptions to fail and cause crashes.
2014-12-18 22:42:14 +01:00
Sebastian Dröge
30ce523d59
videoaggregator: Don't try to map NULL buffers
2014-12-18 22:04:38 +01:00
Sebastian Dröge
af46a58cae
videoaggregator: Make sure to always update the pad's videoinfo together with buffers
...
Otherwise the videoinfo and the buffer content can go out of sync.
2014-12-18 22:03:04 +01:00