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
Aleix Conchillo Flaqué
a62b280873
rtpbin: update rtp encoder/decoder docs
...
Use %u in RTP encoder/decoder pads to match other rtpbin pads.
https://bugzilla.gnome.org/show_bug.cgi?id=730146
2014-05-15 15:48:21 +02:00
George Kiagiadakis
7e2138794f
rtpsession: remove unused if branch
...
1) sources that have sent BYE in the past cannot be senders, since
they would have timed out to being receivers in the meantime...
2) sources that have sent BYE are now being removed earlier inside
this function
2014-05-14 16:01:50 +02:00
George Kiagiadakis
85d4c031d4
rtpsession: cleanup sources that have sent BYE
2014-05-14 16:01:50 +02:00
George Kiagiadakis
7d7840cc4a
rtpsession: unify nested if clauses
2014-05-14 16:01:50 +02:00
George Kiagiadakis
0e6a31411b
rtpsession: timeout internal sources that are inactive for a long time and send BYE
2014-05-14 16:01:50 +02:00
Aleix Conchillo Flaqué
bcd469ff31
rtpjitterbuffer: don't stop looping if event found in the queue
...
If we are inserting a packet into the jitter queue we need to keep
looping through the items until the right position is found. Currently,
the code stops as soon as an event is found in the queue.
Regarding events, we should only move packets before an event if there
is another packet before the event that has a larger seqnum.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730078
2014-05-14 10:23:28 +02:00
Adrien SCH
8ac30d4c26
matroskamux: fix the memory leak of language attribute
...
https://bugzilla.gnome.org/show_bug.cgi?id=728418
2014-05-13 19:55:21 -03:00
Edward Hervey
420661bd95
qtdemux: Fix leak of palette_data in error cases
...
CID #1212151
2014-05-12 16:56:35 +02:00
Edward Hervey
112d948b7e
qtmux: Free node_header in error cases
...
CID #1212134
2014-05-12 16:53:32 +02:00
Edward Hervey
6c4882996f
flvdemux: Don't use WARNING for not-linked flow return
...
Pollutes debug logs for no reason. It's only an error if all pads
return not-linked
2014-05-12 13:46:01 +02:00
Edward Hervey
c09b14c931
flvdemux: Skip unknown tags in push-mode
...
We add a new mode (SKIP) in push-mode to skip tags that we don't known about
Partially fixes https://bugzilla.gnome.org/show_bug.cgi?id=670712
2014-05-12 13:45:06 +02:00
Wim Taymans
b2e1598e4a
rtpjitterbuffer: increment accepted packets after loss
...
When we detect a lost packet, expect packets with higher
seqnum on the input.
Also update the unit test.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729524
2014-05-09 18:10:32 +02:00
Jason Litzinger
9068e1bb8e
Add new test case.
2014-05-09 18:10:32 +02:00
Eric Trousset
bd51aa7aa8
qtdemux: don't respond to a position query in BYTE format with a TIME position
...
https://bugzilla.gnome.org/show_bug.cgi?id=729553
2014-05-09 16:12:45 +01:00
Tim-Philipp Müller
9872c19491
matroskademux: don't leak doctype string in error code path
...
CID 1212145.
2014-05-09 14:22:42 +01:00
Tim-Philipp Müller
615f6e55c1
flacparse: skip PICTURE headers without any image data
...
Fixes warning if the image length is 0.
2014-05-07 00:58:15 +01:00
Guillaume Desmottes
d089f99a39
rtp/README: update pipelines to work with 1.0
...
- Use gst-libav encoders/decoders instead of gst-ffmpeg
- gstrtpjitterbuffer -> rtpjitterbuffer
- gst-launch-0.10 -> gst-launch-1.0
- Add 'videoconvert' element
- xvimagesink -> autovideosink
https://bugzilla.gnome.org/show_bug.cgi?id=729247
2014-05-05 20:23:56 -04:00
Vincent Penquerc'h
ec38c62563
matroska: rejig test to avoid undefined shift behavior
...
Coverity 1195121, 1195120
2014-05-05 14:44:57 +01:00
Vincent Penquerc'h
9589c43516
matroskamux: ensure we don't dereference a NULL pointer
...
while working out the codec ID.
Coverity 1195148
2014-05-05 14:32:06 +01:00
Olivier Crête
b2a52035bf
rtprtxreceive: Wait until timeout to clear association requests
...
If two streams request a retranmission for the same SSRC, ignore the second
one if the first oen is less than one second old, otherwise time out the first
one and ignore the second.
2014-05-04 22:36:59 -04:00
Olivier Crête
0742a5a257
rtpmux: Always let upstream chose the ssrc if it wishes
2014-05-04 19:11:03 -04:00
Mark Nauwelaerts
6c584bc833
rtpjitterbuffer: avoid stall by corrupted seqnum accounting
2014-05-04 13:38:26 +02:00
Olivier Crête
2e54d38dd0
rtpsession: Keep local conflicting addresses in the session
...
As we now replace the local RTPSource on a conflict, it's no longer possible
to keep local conflicts in the RTPSource, so they instead need to be kept
in the RTPSession.
Also fix the rtpcollision test to generate multiple collisions instead of
one by change the address, as otherwise we detected that it was a single one.
2014-05-03 18:30:20 -04:00
Sebastian Dröge
1d4404d883
Release 1.3.1
2014-05-03 18:02:23 +02:00
Sebastian Dröge
859c751a5d
imagefreeze: Set segment position to the stop position of the buffer
2014-05-02 17:14:29 +02:00
Sebastian Dröge
4282d75597
imagefreeze: Properly report errors before stopping the srcpad task
2014-05-02 17:14:29 +02:00
Sebastian Dröge
4933394d35
imagefreeze: Error out if we have no caps yet
2014-05-02 17:14:29 +02:00
Vincent Penquerc'h
218294b9f3
wavparse: avoid dividing by a 0 blockalign
...
This can be 0. In that case, do not try to cut off the last few
bytes from the last buffer.
Coverity 1146971
2014-05-02 14:49:27 +01:00
Vincent Penquerc'h
590e20cbc9
matroskamux: do not use uinitialized clut on error
...
If we're missing part of the clut, do not try to use it. It seems
very likely the break was meant to break out of the switch rather
than from the loop.
Coverity 1139878
2014-05-02 14:25:01 +01:00
Vincent Penquerc'h
d917c94037
flxdec: fix integer overflow
...
Coverity 1139859
2014-05-02 14:18:08 +01:00
Vincent Penquerc'h
60ba2d7aee
rtpqdmdepay: remove pointless check
...
Besides, the pointer was dereferenced earlier anyway.
Coverity 1139853
2014-05-02 14:09:02 +01:00
Vincent Penquerc'h
a846e84349
rtspsrc: remove duplicate test
...
item was dereference previously.
While there, reorder some test for faster early out.
Coverity 1139844
2014-05-02 14:06:25 +01:00
Vincent Penquerc'h
5c22bcf6e9
matroska: blindly fix writing variable length negative values
...
Spotted while fixing something else in the area.
Nothing calls this with a negative value.
2014-05-02 13:33:02 +01:00
Vincent Penquerc'h
5b9fa4e63a
matroska: do not lose the top bits when writing a > 32 bit value
...
Coverity 1139806
2014-05-02 13:29:33 +01:00
Vincent Penquerc'h
10663decd9
videoflip: add missing break in switch
...
Coverity 1139755
2014-05-02 12:10:26 +01:00
Vincent Penquerc'h
a0bc24558e
matroska: do not try to call gst_pad_query_default on a NULL pad
...
gst_matroska_parse_query can be called explicitely with a NULL pad.
If we reach this point with a NULL pad, fail the query.
Coverity 1139715
2014-05-02 11:39:39 +01:00
Vincent Penquerc'h
3915884017
matroska: do not return GST_FLOW_OK if we did not get a buffer
...
Coverity 1139714 (which will likely come back in another guise,
as the _read_init call can have a failing _map)
2014-05-02 11:28:01 +01:00
Vincent Penquerc'h
f5a9f5e221
matroska: catch failure to map buffer
...
Avoids dereferencing NULL.
Coverity 1139712
2014-05-02 11:20:33 +01:00
Vincent Penquerc'h
94720fd3a1
avimux: refuse caps with invalid framerate
...
Coverity 1139701
2014-05-02 10:53:00 +01:00
Vincent Penquerc'h
1be86ebb2a
qtmux: handle 0 size packets without dividing by 0
...
Coverity 1139691
2014-05-02 10:21:09 +01:00
Vincent Penquerc'h
b692539b55
qtdemux: guard against invalid frame size to avoid division by 0
...
Coverity 1139690
2014-05-02 09:49:32 +01:00
Vincent Penquerc'h
436c8c11a0
qtdemux: trivial typo fix
2014-05-02 09:49:17 +01:00
Vincent Penquerc'h
0253db6d36
mpegaudioparse: remove dead code
...
A stricer check is already done earlier, and integer overflows
do not seem possible here.
Coverity 1139675
2014-04-30 17:48:53 +01:00
Vincent Penquerc'h
a55b8e9c00
rtpvrawpay: guard against pathological "no space" condition
...
Even if one woul hope one pixel can fit in a MTU, ensure we do not
overwrite a buffer if this is not the case.
Spotted while looking at Coverity 1208786
2014-04-30 14:50:44 +01:00
Vincent Penquerc'h
dfa2df1c88
rtpjpegdepay: sanity check for NULL qtable
...
Can happen (at least in crafted stream)
Coverity 1208778
2014-04-30 11:52:10 +01:00
Tim-Philipp Müller
b1473491cf
wavparse: pass on tags from upstream if there are any
...
Don't just ignore upstream tags from e.g. an ID3 tag before
the .wav data, pass them on downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=729223
2014-04-30 01:08:41 +01:00
Wim Taymans
eba3bba524
rtpjitterbuffer: optimize timer update
...
When we are not doing retransmission, we just need to find the current
seqnum so we can stop when we found it.
2014-04-29 16:26:53 +02:00
Wim Taymans
b2c9646acb
rtpjitterbuffer: small optimizations
...
Small optimizations where we can.
Add some more debug.
2014-04-29 16:21:44 +02:00
Wim Taymans
df04fcbb5d
rtpjitterbuffer: signal when next_seqnum changed
...
Signal the pushing thread when the next_seqnum changed and we might be
able to push a buffer now.
2014-04-29 16:16:17 +02:00
Wim Taymans
3cd0e8ae88
rtpjitterbuffer: only signal event when head changed
...
After adding a buffer, only signal the pushing thread when the head
buffer changed or else we cause a useless wakeup.
2014-04-29 16:12:29 +02:00
Wim Taymans
18b69419fd
rtpjitterbuffer: rework packet insert
...
Rework the packet queue so that the most common action (insert a packet
at the tail of the queue) goes very fast.
Report if a packet was inserted at the head instead of the tail so that
we can know when to retry _pop or _peek.
2014-04-29 16:02:37 +02:00
Wim Taymans
9994ff2c6c
rtpvraw: use plane pointers when needed
...
Pack/unpack planar formats to/from the first plane.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729058
2014-04-28 14:45:57 +02:00
Nicolas Dufresne
d87cc7bacf
goom: Remove french comment saying to prefix functions
...
All non-static function in this file are already prefixed with goom_.
2014-04-27 21:57:38 -04:00
Tim-Philipp Müller
02436f52c6
goom: fix compilation on ios-arm7-10.9 and osx-x86_64
...
uint is not a standard type, and the rest of the code uses
Uint which is locally typedefed to unsigned int.
https://bugzilla.gnome.org/show_bug.cgi?id=729067
2014-04-28 00:24:16 +01:00
Luis de Bethencourt
3943c3ec08
goom: fix undefined behaviour of left-shift
...
Don't left-shift into the sign bit, the result is undefined and potentially
an overflow could flip the sign.
2014-04-27 18:31:48 -04:00
Luis de Bethencourt
5dc2e6bef1
qtdemux: check return from qt_demux_video_caps
...
Now qtdemux_video_caps() can return NULL. We need to check this return before
using it's value.
https://bugzilla.gnome.org/show_bug.cgi?id=728987
2014-04-26 20:51:36 -04:00
Tim-Philipp Müller
c9597298f9
docs: remove outdated and pointless 'Last reviewed' lines from docs
...
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:35:17 +01:00
Luis de Bethencourt
c073a6c779
qtdemux: initialize caps pointer to null
...
Make sure the caps pointer returns initialized when using it in
qtdemux_parse_tree ().
https://bugzilla.gnome.org/show_bug.cgi?id=728987
2014-04-25 18:23:23 -04:00
Jan Schmidt
f2d0ddf113
rtpjitterbuffer: Clear last_pt on flush-stop.
...
Otherwise, we don't recheck the buffer caps for clock-rate
properly on the next chain.
2014-04-23 18:54:16 +10:00
Sebastian Dröge
25ed0a30a4
deinterlace: Fix compiler warning
...
gstdeinterlace.c: In function 'gst_deinterlace_output_frame':
gstdeinterlace.c:1537:57: error: 'pattern.length' may be used uninitialized in this function [-Werror=maybe-uninitialized]
This actually is always initialized before it is used there, but
let's just silence gcc here.
2014-04-22 17:29:02 +02:00
Vincent Penquerc'h
f10c3f1a76
rtpmux: fix buffer list drop check
...
While porting to 0.11, the check was mistakenly made constant,
instead of testing for the return value of process_buffer_locked.
Coverity 1139663
2014-04-21 17:21:20 +01:00
Vincent Penquerc'h
d9eb5f7fde
matroska: fix content encoding scope validity check
...
It's 3 bits, and http://matroska.org/technical/specs/index.html
says it can't be 0.
Coverity 1139660
2014-04-21 17:21:20 +01:00
Vincent Penquerc'h
54c5710adb
matroskamux: fix PAR fraction sanity check
...
It was checking par_num twice, and never par_denum.
Coverity 1139634
2014-04-21 17:21:20 +01:00
Vincent Penquerc'h
25fa88f8aa
multiidpsink: warn when setsockopt fails
...
This doesn't seem to be fatal, but it's good to let the user know
in the logs.
Coverity 1139630
2014-04-21 17:21:20 +01:00
Vincent Penquerc'h
e526412afa
interlace: catch failure to create audio info from caps
...
Coverity 1139627, 1139628
2014-04-21 17:21:20 +01:00
Göran Jönsson
80967c7638
gstrtph264pay: Reset sps pps variable when state change.
...
Reset last_spspps and sps/pps arrays when state transition
GST_STATE_CHANGE_PAUSED_TO_READY.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726015
2014-04-21 12:07:20 +02:00
Wim Taymans
3e11ce43b9
jitterbuffer: improve EOS handling
...
Make a new method to disable the jitterbuffer buffering.
Rework the update_estimated_eos() method. Calculate how much time
there is left to play. If we have less than the delay of the
jitterbuffer, we disabled buffering because we might never be able to
fill the complete jitterbuffer again.
If we receive an EOS event, disable buffering. We will drain the
buffer and eventually push the EOS event out.
When we reach the estimated NPT timeout and we didn't receive an EOS
event, make one and queue it so that it can be pushed.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728017
2014-04-18 14:07:31 +02:00
Wim Taymans
38a486b374
rtpsession: send reconfigure when internal-ssrc changes
...
When the internal-ssrc property changes, we want to send a reconfigure
upstream to make payloaders use the new suggested ssrc.
Using the internal-ssrc property to change the SSRC of a stream is not a
good idea and doesn't work when there are multiple senders, we want to
set the SSRC directly on the payloaders. Therefore, deprecate this
property.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725361
2014-04-18 10:21:27 +02:00
Wim Taymans
42cfedde7f
jitterbuffer: assume a full buffer when eos
...
Rework the logic to make buffering messages a little, make sure we
don't make the same message multiple times.
Consider the buffer full when EOS was received.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728017
2014-04-18 04:27:39 +02:00
Sebastian Dröge
27cf71e209
rtprtxsend: Require clock-rate in the caps and handle no ssrc in the caps properly
2014-04-17 17:58:58 +02:00
Sebastian Dröge
897c02cace
rtpjitterbuffer: Unref clock id when waiting for the clock is interrupted
2014-04-17 17:00:37 +02:00
Tim-Philipp Müller
77badda6b9
videomixer: name collectpads object based on videomixer name
...
Makes it easier to track things in debug logs when there
are multiple mixers and muxers.
2014-04-16 21:40:45 +01:00
Tim-Philipp Müller
f8d15b1e56
videomixer: better logging of incoming events
...
The pad and parent names are already logged as part of logging
the object. Instead log the full event details.
2014-04-16 21:38:35 +01:00
Sebastian Dröge
b21b46a07a
level: Use the correct number of samples to iterate over the input array
...
Fixes invalid memory accesses and accesses to uninitialised data.
2014-04-16 18:50:50 +02:00
Sebastian Dröge
bd65c36cbb
icydemux: Unref dropped events
2014-04-16 18:50:50 +02:00
Vincent Penquerc'h
457712b933
matroska: fix check for amount of data to read
...
History shows length==0 should set data to NULL and return,
so we do that too instead of trying to read nothing.
Coverity 206205
2014-04-16 17:44:51 +01:00
Vincent Penquerc'h
46a39bdd4f
deinterlace: fix sign comparison
...
history_count is unsigned, so the whole comparison will be made
as unsigned, and fail to reject what it was meant to.
Coverity 206204
2014-04-16 17:44:51 +01:00
Vincent Penquerc'h
c6acd6368b
avidemux: remove dead code
...
sub may not be NULL in this switch, there is a bail out just
before it if so.
Coverity 206098
2014-04-16 17:44:51 +01:00
Vincent Penquerc'h
937269d02e
flacparse: remove dead code
...
The block_size == 0 was shortcut earlier, and the variable is not
modified in the meantime.
Coverity 206097
2014-04-16 17:44:50 +01:00
Vincent Penquerc'h
2e120c9440
videomixer: remove dead code
...
While it seems to keep a compile time selection, I traced it
to some code copied from videoconvert, where it was removed,
with the following comment:
Also remove the high-quality I420 to BGRA fast-path as it needs
the same fix, which causes an additional instruction, which causes
orc to emit more than 96 variables, which then just crashes.
This can only be fixed in orc by breaking ABI and allowing more
variables.
Thus, I remove it here as well.
Coverity 206064
2014-04-16 17:44:50 +01:00
Vincent Penquerc'h
595a9cb5c5
isomp4: fix incorrect masking for multiple tags
...
Coverity 206058
2014-04-16 17:44:50 +01:00
Vincent Penquerc'h
a5b7c12e35
isomp4: fix wrong atom flags set when adding samples
...
Coverity 206057
2014-04-16 17:44:50 +01:00
Vincent Penquerc'h
d2b682c271
audiofx: fix comparison of delta time to a threshold
...
Coverity 206055
2014-04-16 17:44:50 +01:00
Vincent Penquerc'h
7ebfdbeaf8
wavparse: do not rely on call failure keeping return data unmodified
...
This is clearer this way too.
Coverity 206029
2014-04-16 17:44:50 +01:00
Vincent Penquerc'h
b344b29ff2
isomp4: catch fseek error
...
Coverity 206028
2014-04-16 17:44:50 +01:00
Vincent Penquerc'h
88eccee88c
isomp4: report failures to caller
...
Coverity 206027
2014-04-16 17:44:50 +01:00
Wim Taymans
783b4ba2c4
rtpjitterbuffer: refuse serialied query when buffering
...
When we are buffering, we can't block and wait for the serialized query
to complete because the jitterbuffer will not try to forward the query
while buffering. Instead, just refuse the query.
2014-04-16 18:16:33 +02:00
Wim Taymans
233e9e64b8
rtpjitterbuffer: don't free the serialized query
...
We should never free a serialized query in the queue, it is the upstream
caller that will free it.
2014-04-16 18:16:32 +02:00
Sebastian Dröge
74c23f0f4f
videomixer: Create hashtable only when we actually use it
...
In error cases we previously returned without freeing it.
2014-04-16 17:33:46 +02:00
Sebastian Dröge
d3a2b3c73a
videomixer: Chain up to the parent class' dispose function
2014-04-16 17:30:59 +02:00