Tim-Philipp Müller
9afeb9652b
flvdemux: un-break duration querying
...
Commit 2b9493b5
broke this in two ways: a) we should only
pass duration queries in TIME format upstream (or at least
not those in DEFAULT or BYTE format), and b) we mustn't
overwrite the default value of 'res' from TRUE to FALSE
and not set it again later. This led to bogus durations
being reported for FLV playback from file, because TIME
queries would fail (as 'res' had been set to FALSE) and
parsers then do a BYTE query as fallback and try to
guesstimate something in return, which of course goes
horribly wrong since the BYTE size returned is for the
muxed file.
2014-08-13 11:59:39 +01:00
Sebastian Dröge
0911307d7d
videobalance: Allow any raw caps in passthrough mode, not just the ones we handle
2014-08-13 13:25:36 +03:00
Sebastian Dröge
a9eda81978
videobalance: Allow ANY capsfeatures, but only in passthrough mode
...
When changing the properties to not be in passthrough mode anymore,
we will only accept caps we can process ourselves, potentially causing
a not-negotiated error.
https://bugzilla.gnome.org/show_bug.cgi?id=720345
2014-08-13 13:24:38 +03:00
George Kiagiadakis
9dd48c503c
qtdemux: forward DISCONT from upstream to the output streams
...
This makes sense in DASH reverse playback, where the upstream dashdemux
will download DASH segments in reverse order, but push their buffers
forward to qtdemux and mark each segment start as DISCONT. This needs
to be forwarded downstream to the parser/decoder, otherwise it won't work.
https://bugzilla.gnome.org/show_bug.cgi?id=734443
2014-08-11 10:28:14 +02:00
Sebastian Rasmussen
70a43758bb
shapewipe: Unref caps and element after usage
...
https://bugzilla.gnome.org/show_bug.cgi?id=734478
2014-08-10 11:09:09 +01:00
Tim-Philipp Müller
e8321af983
qtdemux: improve debug logging of fourccs
...
If we can't show ASCII, at least show them
in big endian order.
2014-08-09 20:50:01 +01:00
Tim-Philipp Müller
f41d03cd4d
qtdemux: add support for 'wma ' mapping as found in some ismv files
...
e.g. To_The_Limit_720_2962.ismv
2014-08-09 20:49:53 +01:00
Tim-Philipp Müller
6183f83190
qtdemux: add support for 'vc-1' mapping as found in some ismv files
...
e.g. To_The_Limit_720_2962.ismv
2014-08-09 20:49:49 +01:00
Sebastian Rasmussen
276269d956
rtph263ppay: Unref pad template caps after use
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734435
2014-08-08 16:02:24 -03:00
Sebastian Rasmussen
1fa61632fe
videomixer: Unref allowed caps after usage
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734474
2014-08-08 15:59:36 -03:00
Sebastian Rasmussen
c85ae43a6e
imagefreeze: Unref pad template caps after usage
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734475
2014-08-08 15:54:39 -03:00
Sebastian Rasmussen
edf8728016
navseek: Unref peer pad after usage
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734476
2014-08-08 15:50:55 -03:00
Sebastian Rasmussen
1a35bf9647
rtpmux: Unref pad template caps after usage
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734473
2014-08-08 15:38:32 -03:00
Srimanta Panda
421b00cd17
rtph264pay: append packetization mode parameter to SDP
...
Append packetization-mode parameter to SDP description.
Packetization mode signals the properties of an RTP payload type.
https://bugzilla.gnome.org/show_bug.cgi?id=733556
2014-08-08 13:41:36 +01:00
Jan Schmidt
d9e1aa4959
isomp4/qtmux: Write correct file duration when gaps exist.
...
When writing out a trak with an edit list, make sure the
overall file duration is also updated to reflect the
lengthening of the stream.
Add some more debug to qtdemux to warn about streams that
are longer than the file and get truncated.
2014-08-08 04:01:19 +10:00
Sebastian Dröge
add40de469
rtspsrc: Push the correct segment in TCP mode when seeking
2014-08-05 16:28:04 +02:00
Mark Nauwelaerts
d5d28055c1
rtph264pay: unbreak au aligned byte-stream payloading
2014-08-03 14:42:45 +02:00
Srimanta Panda
dd9f716892
rtph264pay: append profile-level-id to SDP
...
Append profile-level-id to SDP if available.
https://bugzilla.gnome.org/show_bug.cgi?id=733539
2014-08-01 16:01:07 +01:00
Philippe Normand
b8b5704445
interleave: set output caps layout to interleaved
...
Set output caps layout independently from input caps layout which can
be either non-interleaved or interleaved.
https://bugzilla.gnome.org/show_bug.cgi?id=733866
2014-07-29 11:49:32 +02:00
Tim-Philipp Müller
5122410f11
qtdemux: fix language code parsing for 3-letter codes starting with 'a'
...
And handle special value for 'unspecified' explicitly.
https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap4/qtff4.html
2014-07-21 18:21:50 +01:00
Sebastian Dröge
b1f7681555
videobox: Don't overwrite the first component with the alpha value for BGRx
...
Instead leave the x component unset when filling the borders.
https://bugzilla.gnome.org/show_bug.cgi?id=733380
2014-07-19 11:31:45 +02:00
Sebastian Dröge
638a700463
aacparse: Properly report in the CAPS query that we can convert ADTS<->RAW
...
https://bugzilla.gnome.org/show_bug.cgi?id=733190
2014-07-16 17:27:57 +02:00
Sebastian Rasmussen
f45657f604
rgvolume: Avoid taking unnecessary refs
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733122
2014-07-16 16:45:43 +02:00
Sebastian Rasmussen
ca22ad8da9
rtpdtmfmux: Avoid taking an unnecessary ref
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733122
2014-07-16 16:45:31 +02:00
Tim-Philipp Müller
c2614e5253
rtspsrc: fix query leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=733003
2014-07-10 17:19:42 +01:00
Sebastian Dröge
dd5144fd4e
wavenc: Return not-negotiated if we got no caps or caps negotiation failed
...
And do it always, not inside a g_return_val_if_fail().
See https://bugzilla.gnome.org/show_bug.cgi?id=732939
2014-07-10 14:37:31 +02:00
Tim-Philipp Müller
deeef84d2c
videomixer: fix double unlock in segment seek segment code path
...
We only want to unlock if we push an event downstream and
jump to done_unlock label afterwards. We would also unlock
in case of a segment seek and then unlock again later, and
nothing good can come of that.
(This code looks a bit dodgy anyway though, shouldn't it
also bail out with FLOW_EOS here in case of a segment seek
scenario, just without the event?)
2014-07-04 20:26:46 +01:00
Sebastian Rasmussen
d33d8cf026
avidemux, wavparse: Print invalid fourcc in hex
...
Previously this was printed as characters which caused later processing
of the error message to sometimes warn about non-UTF-8 characters.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732714
2014-07-04 09:21:07 +01:00
Wim Taymans
db1d9444d6
rtspsrc: fix for mikey api change
2014-07-02 16:01:47 +02:00
Vincent Penquerc'h
bbb1a8de1f
videomixer: reset QoS on segment event
...
https://bugzilla.gnome.org/show_bug.cgi?id=732540
2014-07-01 16:35:05 +01:00
Vincent Penquerc'h
5653b1a25a
matroskademux: send gap events instead of segment tricks
...
This fixes missing frames from being time skipped.
https://bugzilla.gnome.org/show_bug.cgi?id=732372
2014-07-01 15:14:34 +01:00
Sebastian Dröge
2f47105129
rtpbin: Don't leak caps
2014-06-29 23:55:19 +02:00
Sebastian Dröge
bbca040336
rtpssrcdemux: Fix compiler warning when compiling with G_DISABLE_ASSERT
2014-06-29 19:59:53 +02:00
Sebastian Dröge
5500dd4a20
matroskamux: Fix compiler warnings when compiling with G_DISABLE_ASSERT
2014-06-29 19:57:57 +02:00
Sebastian Dröge
b03a4d9155
deinterlace: Fix compiler warnings when compiling with G_DISABLE_ASSERT
2014-06-29 19:54:44 +02:00
Tim-Philipp Müller
155a3fec93
matroskaparse: don't error out if there's not enough data in the adapter
...
gst_matroska_parse_take() would return FLOW_ERROR instead of
FLOW_EOS in case there's less data in the adapter than requested,
because buffer is NULL in that case which triggers the error
code path. This made the unit test fail (occasionally at least,
because of a bug in the unit test there's a race and it would
happen only sporadically).
2014-06-28 17:39:36 +01:00
Sebastian Dröge
c0f5644b80
videomixer: Update dist generated ORC files
2014-06-28 16:56:18 +02:00
Sebastian Dröge
db43a39bbf
videomixer: Update videoconvert code from -base
...
And also rename the remaining symbols to prevent conflicts
during static linking.
https://bugzilla.gnome.org/show_bug.cgi?id=728443
2014-06-28 16:56:18 +02:00
Tim-Philipp Müller
8b7f0ae3fe
autovideosrc: use videotestsrc as fallback element instead of fakesrc
...
fakesrc doesn't announce video caps, so most video pipelines will
just error out with not-negotiated if a fallback element is created.
2014-06-28 14:25:25 +01:00
Tim-Philipp Müller
7dcc3ffe5a
autoaudiosrc: use audiotestsrc as fallback element instead of fakesrc
...
fakesrc doesn't announce audio caps, so most audio pipelines will
just error out with not-negotiated if a fallback element is created.
2014-06-28 14:25:25 +01:00
Thibault Saunier
45b9ef1825
videomixer: Declare as Compositor in 'klass'
2014-06-26 17:49:23 +02:00
Tim-Philipp Müller
e9f2d63011
flvdemux: fix speex caps
...
Decoder complains about "notification: Invalid mode encountered.
The stream is corrupted" though, even if it works, so there's
probably something wrong with the generated codec headers.
2014-06-26 13:50:19 +01:00
Tim-Philipp Müller
d98b996523
flvmux: fix speex in FLV
...
Speex in FLV is always mono @ 16kHz, see
http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf
section E.4.2.1: "If the SoundFormat indicates Speex, the audio is
compressed mono sampled at 16 kHz, the SoundRate shall be 0, the
SoundSize shall be 1, and the SoundType shall be 0"
Also see https://bugzilla.gnome.org/show_bug.cgi?id=683622
2014-06-26 13:43:33 +01:00
Jan Schmidt
8da6ee0312
isomp4: Add object type id and fourcc for DTS/DTS-HD
...
Enables playback for files with DTS audio tracks.
Also add an extra AC-3 variant fourcc from Nero
2014-06-26 19:57:41 +10:00
David Fernandez
4ed74d3ab0
videomixer2: Solve segmentation fault when src caps are configured
...
Change function pointers to NULL while holding the lock to avoid
race conditions
https://bugzilla.gnome.org/show_bug.cgi?id=701110
2014-06-25 16:44:38 +02:00
Wim Taymans
ca9cfd40dd
jitterbuffer: improve SR packet handling
...
Implement 3 different cases for handling the SR:
1) we don't have enough timing information to handle the SR packet and
we need to wait a little for more RTP packets. In that case we keep
the SR packet around and retry when we get an RTP packet in the
chain function.
2) the SR packet has a too old timestamp and should be discarded. It is
labeled invalid and the last_sr is cleared.
3) the SR packet is ok and there is enough timing information, proceed
with processing the SR packet.
Before this patch, case 2) and 1) were handled in the same way,
resulting that SR packets with too old timestamps were checked over and
over again for each RTP packet.
2014-06-25 16:14:46 +02:00
Olivier Crête
64f28e2552
avimux: Add UYVY format
2014-06-23 19:55:29 -04:00
Miguel París Díaz
b22aed9bbc
gstrtpssrcdemux: manage ssrc of RTCP RR packets
...
https://bugzilla.gnome.org/show_bug.cgi?id=731324
2014-06-23 16:23:00 -04:00
Sebastian Dröge
efaf996b1a
wavparse: Update offset after parsing adtl chunk
...
Otherwise we will parse it over and over again without ever
getting past it.
https://bugzilla.gnome.org/show_bug.cgi?id=731533
2014-06-23 20:53:50 +02:00
Sebastian Dröge
daf25482ed
matroskademux: Don't call GST_DEBUG_OBJECT() and other macros with non-GObject objects
...
It will crash with latest GLib GIT and was never supposed to work before
either.
2014-06-22 19:26:03 +02:00
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
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
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