Commit graph

14495 commits

Author SHA1 Message Date
Tim-Philipp Müller
41c895de4d multiudpsink: optimisation: avoid unnecessary memory ref/unrefs
We know the buffer will stay valid and we will also not
modify the buffer, we just want to send out the data.
2014-06-20 12:21:05 +01:00
Tim-Philipp Müller
3512ad3be0 multiudpsink: avoid some unnecessary run-time type checks 2014-06-20 12:06:57 +01:00
Wim Taymans
98a4ee0f92 rtspsrc: pass the stream id when asking for crypto params
This way the app can choose different parameters for each stream.
2014-06-19 16:17:23 +02:00
Aleix Conchillo Flaqué
7ce0ea3946 rtspsrc: add support for key length parameters
This patch adds supports for the incoming key management parameters for
encryption and authentication key lengths.

It also adds a new signal request-rtcp-key that allows the user to
provide the crypto parameters and key for the RTCP stream.

https://bugzilla.gnome.org/show_bug.cgi?id=730473
2014-06-19 16:11:19 +02:00
Wim Taymans
8a78fa1ff5 vp8depay: fix header size checking
Use a different variable name to make it clear that we are calculating
the header size.
Correctly check that we have enough bytes to read the header bits. We
were checking if there were 5 bytes available in the header while we
only needed 3, causing the packet to be discarded as too small.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723595
2014-06-19 15:29:46 +02:00
Guillaume Desmottes
f00c2b7155 rtph264pay: propagate the GST_BUFFER_FLAG_DISCONT flag
Similarly to what we did with the DELTA_UNIT flag, this patch
propagates the DISCONT flag to the first RTP packet being used to transfer a
DISCONT buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-19 12:22:49 +02:00
Guillaume Desmottes
4be99ec7d5 rtph264pay: propagate the GST_BUFFER_FLAG_DELTA_UNIT flag
Downstream elements may be interested knowing if a RTP packet is the start
of a key frame (to implement a RTP extension as defined in the
ONVIF Streaming Spec for example).

We do this by checking the GST_BUFFER_FLAG_DELTA_UNIT flag we receive from
upstream and propagate it to the *first* RTP packet outputted to transfer this
buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-19 12:22:38 +02:00
Guillaume Desmottes
42ff642372 gstrtpmp4gpay: propagate the GST_BUFFER_FLAG_DISCONT flag
Propagate the DISCONT flag to the first RTP packet being used to transfer
a DISCONT buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-18 16:25:07 +02:00
Guillaume Desmottes
9a7479fb0d rtpjpegpay: propagate the GST_BUFFER_FLAG_DISCONT flag
Propagate the DISCONT flag to the first RTP packet being used to transfer
a DISCONT buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-18 16:25:07 +02:00
Tim-Philipp Müller
460ab3dd76 avidemux: don't leak flow combiner 2014-06-18 15:03:25 +01:00
Tim-Philipp Müller
6347ec522d rtpjp2kpay: pre-allocate buffer-list of the right size 2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
ccb7380689 rtpjpegpay: pre-allocate buffer list of the right size 2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
70bfc35756 rtpmp4vpay: pre-allocate buffer list of the right size 2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
4b1f771e4d rtpvp8pay: allocate bitreader on the stack 2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
725b8f272b rtpvp8pay: post error message on bus on error and don't use g_message() 2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
f4db7443ae rtpvp8pay: couple of minor optimisations
Pre-allocate buffer list of the right size to avoid re-allocs.
Avoid plenty of double runtime cast checks and re-doing the
same calculation over and over again in rtp_vp8_calc_payload_len().
Only call gst_buffer_get_size() once.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
6c9e2194d2 rtpgstpay: pre-allocate buffer list of the right size
To avoid re-allocs.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
01ee993d8d rtph264pay: pre-allocate bufferlist of the right size
To avoid unnecessary re-allocs.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
c7c72c00b1 rtph264pay: push single buffer directly, no need to wrap it in a bufferlist
No point in a buffer list if we just have one single
buffer to push. Fix up unit test to handle that case
as well.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
0f5da64de3 rtpvrawpay: make chunks per frame configurable
Bit of a misnomer because it's really chunks per field
and not per frame, but we're going to ignore that for
the time being.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
2cf13b603f rtpvrawpay: remove unused variables 2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
a09e237b85 rtpvrawpay: pre-allocate buffer lists of sufficient size
Avoids unnecessary reallocs when appending buffers
to the bufferlist.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
15a33ccc65 rtpvrawpay: micro-optimise variable access in inner loop
Store some values that don't change during the execution
of the inner loops locally, so the compiler knows that too.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
fdf95fecbd rtpvrawpay: use buffer lists
Collect buffers to send out in buffer lists instead of
pushing out single buffers one at a time. For HD video
each frame might easily add up to a couple of thousand
packets, multiply that by the frame rate and that's a
lot of push() and sendmsg() calls per second.

A good reason to push out buffers as early as possible is
latency, so we don't accumulate the whole frame in a single
buffer list, but instead push it out in a few chunks, which
is hopefully a reasonable compromise.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
884d1af074 udp: improve element descriptions for dynudpsink and multiudpsink 2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
6c1231eed3 udp: remove suppression of compiler warnings for deprecated GLib API
Not needed any more.
2014-06-18 14:54:58 +01:00
Ravi Kiran K N
3c4c130c5e videobox: Fix caps negotiation issue
Make sure that if AYUV is received it will detect that it can produce
both RGB and YUV formats

Signed-off-by: Ravi Kiran K N <ravi.kiran@samsung.com>

https://bugzilla.gnome.org/show_bug.cgi?id=725248
2014-06-17 09:27:45 -03:00
Tim-Philipp Müller
054f774455 rtptheoradepay: fix double frees
Fix double-frees introduced to fix another coverity report.

CID 1223053
2014-06-16 12:03:38 +01:00
Tim-Philipp Müller
bb51ec5842 dynudpsink: return FLUSHING when sendto got canceled, not an error 2014-06-13 10:12:07 +01:00
Tim-Philipp Müller
d5b344ba74 oss: simplify probed caps before returning them
Exposes all formats in the first structure if the
rest is the same for all of them.
2014-06-13 09:52:03 +01:00
Tim-Philipp Müller
ffcb884551 oss: make sure 16-bit formats are before 8-bit formats in probed caps
Probe supported formats in order of desirability rather than in
what order they may happen to be in the formats bitmask. Fixes
accidentally exposure of 8-bit formats in caps before 16-bit formats
(in case where U16 was not supported S8 might be listed before S16).

https://bugzilla.gnome.org/show_bug.cgi?id=706884
2014-06-13 09:49:38 +01:00
Nicolas Dufresne
0fb59dbdba v4l2bufferpool: Cleanly handle v4l2_allocator_new failure 2014-06-12 16:41:09 -04:00
Vincent Penquerc'h
25c26a4c4c rtptheordepay: fix leaks
Coverity 1212163
2014-06-12 11:24:15 +01:00
Vincent Penquerc'h
8e80478cf7 rtpg729pay: leak fixes
Coverity 1212159
2014-06-12 11:16:08 +01:00
Vincent Penquerc'h
fe4c5b92b1 rtph263pay: fix leak
Coverity 1212157
2014-06-12 11:11:38 +01:00
Vincent Penquerc'h
6ef26e4a8a rtph263pay: fix leaks
Coverity 1212149
2014-06-12 10:43:53 +01:00
Vincent Penquerc'h
c58a2d9bbb rtpdvpay: catch failures to map buffer
Coverity 1139741
2014-06-12 10:31:47 +01:00
Vincent Penquerc'h
7e278e6b22 multipartdemux: guard against having no MIME type
The code would previously crash trying to insert a NULL string
into a hash table.
It does seem a little broken that indexing is done by MIME type
and not by index though, unless the spec says there cannot be
two parts with the same MIME type.

https://bugzilla.gnome.org/show_bug.cgi?id=659573
2014-06-11 17:44:56 +01:00
Nicolas Dufresne
9966fdfa75 multipartdemux: Send stream-start event
This event was not sent. Send it before caps, this requires the pad to
be parented. This removes warning like: "Got data flow before
stream-start event".

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731475
2014-06-10 15:43:21 -04:00
Thiago Santos
9fda7b107f qtdemux: avoid looping indefinitely in broken svq3 files
Abort if an atom with size 0 is read from within the svq3 stsd
atoms

https://bugzilla.gnome.org/show_bug.cgi?id=726512
2014-06-10 15:33:33 -03:00
Vincent Penquerc'h
592c34336e flacdec: add const where appropriate 2014-06-10 12:15:15 +01:00
Edward Hervey
9843b08e53 speexenc: add missing va_end in variadic function
Coverity 1139944
2014-06-09 10:39:20 +02:00
Edward Hervey
f7fc8d74c9 flvdemux: Attempt upstream seek first
If we have an upstream element that can handle the seek (such as
rtmpsrc), try to do that first before attempting it ourself.
2014-06-09 10:04:38 +02:00
Vincent Penquerc'h
40ae581ef2 wavparse: do not include codec_data on raw audio caps
If the wav header contains an extended chunk, we want to keep
the codec_data field, but not for raw audio.

This fixes some elements (such as adder) from failing to intersect
raw audio caps which would otherwise be intersectable.
2014-06-05 10:34:49 +01:00
Edward Hervey
2b9493b5f0 flvdemux: Query duration upstream first
Upstream elements (like rtmpsrc) might be able to provide the duration
more accurately than flvdemux. Especially with index-less vod files
2014-06-05 09:38:29 +02:00
Nicolas Dufresne
1648e46f86 v4l2bufferpool: Cleanup poll method and retry on EINTR/EAGAIN
https://bugzilla.gnome.org/show_bug.cgi?id=731015
2014-06-04 15:15:56 -04:00
Jan Alexander Steffens (heftig)
303883752e flvdemux: set RESYNC buffer flag when bridging large PTS gaps
So downstream gets notified when this happens.

https://bugzilla.gnome.org/show_bug.cgi?id=725903
2014-06-04 10:28:47 -04:00
Olivier Crête
4377dfeadd rtprtx: Reset state on each iteration
Otherwise it didn't wait for the test to finish before checking the results.

https://bugzilla.gnome.org/show_bug.cgi?id=728501
2014-06-03 17:59:32 -04:00
Tim-Philipp Müller
341b691b18 matroskademux: don't leak doctype string in error code path
CID 1212145.
2014-06-02 09:57:42 +02:00
Edward Hervey
eb30edae9f vp9enc: Don't dereference NULL checks
CID #1197703
2014-06-02 09:47:34 +02:00