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
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
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
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
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
Thiago Santos
c25d94b7ef
qtdemux: upstream handles seek if fragmented and on time segment
...
Otherwise we can reject seeks on local files that contain fragmented-like
atoms like 'mvex'. Also improve a message log
https://bugzilla.gnome.org/show_bug.cgi?id=730722
2014-05-30 15:01:50 -03:00
Wim Taymans
a5a7649831
h264depay: make sure we call handle_nal for each NAL
...
Call handle_nal for each NAL in the STAP-A RTP packet. This makes
sure we correctly extract the SPS and PPS.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730999
2014-05-30 16:51:37 +02:00
Thiago Santos
fd6b348898
avidemux: remove stream last flow return
...
GstPad already stores that information
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 19:51:13 -03:00
Thiago Santos
2b454bf87f
qtdemux: remove last flow return from stream struct
...
It is already stored on GstPad on core
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 19:51:12 -03:00
Thiago Santos
3b887887be
flvdemux: Use GstFlowCombiner
...
Use the flow combiner to have the standard combination results and avoid
repeating the same code
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 19:51:07 -03:00
Thiago Santos
c7c25071e3
matroskademux: use GstFlowCombiner
...
Use the flow combiner to have the standard combination results and avoid
repeating the same code
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 19:51:02 -03:00
Thiago Santos
da3c031627
avidemux: use GstFlowCombiner
...
Removes flow return combination code to use the newly added GstFlowCombiner
2014-05-26 15:30:12 -03:00
Thiago Santos
4b0ce7dc30
qtdemux: use GstFlowCombiner
...
Removes the common code to combining flow returns to let it be
handled by core gstutils' GstFlowCombiner
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 15:30:12 -03:00
Thiago Santos
d423b9f63e
qtdemux: parse tkhd transformation matrix and add tags if appropriate
...
Handle the transformation matrix cases where there are only simple rotations
(90, 180 or 270 degrees) and use a tag for those cases. This is a common scenario
when recording with mobile devices
https://bugzilla.gnome.org/show_bug.cgi?id=679522
2014-05-24 15:38:54 -04:00
Thiago Santos
f0b99d96a9
qtdemux: add tag mappings for _swr, _mak and _mod tags
...
swr -> Application name
mak -> device manufacturer
mod -> device model
2014-05-23 03:15:42 -03:00
Sebastian Dröge
1cdd3765d6
goom: Use fabs() instead of abs() to calculate the floating point absolute value
...
tentacle3d.c:268:7: error: using integer absolute value function 'abs' when
argument is of floating point type [-Werror,-Wabsolute-value]
if (abs (tmp - fx_data->rot) > abs (tmp - (fx_data->rot + 2.0 * G_PI))) {
^
2014-05-19 11:24:06 +02:00
Sebastian Dröge
97fb3655df
debugutils: Properly calculate the difference with unsigned types
...
tests.c:161:16: error: taking the absolute value of unsigned type
'unsigned long' has no effect [-Werror,-Wabsolute-value]
t->diff += labs (GST_BUFFER_TIMESTAMP (buffer) - t->expected);
2014-05-19 11:21:36 +02:00
Aleix Conchillo Flaqué
782d65cab1
rtspsrc: always use a random ssrc for the internal session
...
Use a random SSRC different than 0 for the internal session SSRC.
https://bugzilla.gnome.org/show_bug.cgi?id=730212
2014-05-16 16:58:44 +02:00
Wim Taymans
d004eda79d
rtpsession: update last_activity when sending RTP
...
Also update last_activity when doing something with the internal
source to make sure don't timeout early.
See https://bugzilla.gnome.org/show_bug.cgi?id=730217
2014-05-16 16:55:17 +02:00