Commit graph

15985 commits

Author SHA1 Message Date
Sebastian Dröge
7c1a32e28b tagdemux: Fix crash when shutting down element during getrange()
Ensure that nothing is in any of the streaming thread functions
anymore when going from PAUSED to READY. While the parent's state change
function has deactivated all pads, there is nothing preventing
downstream from activating our srcpad again and calling the getrange()
function. Although we're in READY!

https://bugzilla.gnome.org/show_bug.cgi?id=775687
2016-12-06 16:29:23 +02:00
Tim-Philipp Müller
f14a307638 rawvideoparse: fix typos in property description 2016-12-05 18:17:30 +00:00
Edward Hervey
9fd90258e6 Automatic update of common submodule
From f980fd9 to 39ac2f5
2016-12-03 08:19:15 +01:00
Reynaldo H. Verdejo Pinochet
13a491fb6c typefind: add another test to itc typefinder
Report certainty after every test passes.

Additionally:

 - Remove self-explanatory comment.
2016-12-02 16:13:24 -08:00
Sebastian Dröge
d452ad0eca ssaparse: Free initialization section before storing the next one
If getting multiple caps events.

https://bugzilla.gnome.org/show_bug.cgi?id=775480
2016-12-01 19:57:47 +02:00
Sebastian Dröge
732ecf0925 oggdemux: Don't end up ignoring caps just because there are no headers for this stream
https://bugzilla.gnome.org/show_bug.cgi?id=775459
2016-12-01 15:12:59 +02:00
Sebastian Dröge
52d7441942 audioconvert: Error out if mapping input/output buffer failed 2016-11-30 10:55:16 +02:00
Sebastian Dröge
1e64800278 audioconvert: Don't map the input buffer in in-place mode
Input and output buffer are the same, let's not do unnecessary work.

https://bugzilla.gnome.org/show_bug.cgi?id=775369
2016-11-30 10:49:58 +02:00
Sebastian Dröge
71e819ae7d audio-converter: In passthrough, also don't copy if in and out block are the same
In and out array are usually different, they are stack allocated arrays.
However the blocks inside them still can be the same.

https://bugzilla.gnome.org/show_bug.cgi?id=775369
2016-11-30 10:43:50 +02:00
Sebastian Dröge
1631a38640 audioconvert: Don't call transform_ip() in passthrough mode
https://bugzilla.gnome.org/show_bug.cgi?id=775369
2016-11-30 10:36:14 +02:00
Jan Alexander Steffens (heftig)
58be309344 multihandlesink: Fix buffers-queued being off by one
max_buffer_usage is the index of the oldest buffer in the queue,
starting at zero, not the number of buffers queued.

find_limits returns the index of the oldest buffer that satisfies the
limits in its min_idx parameter, not the number of buffers needed. Fix
this use too in order to keep passing the tests that read
buffers-queued.

https://bugzilla.gnome.org/show_bug.cgi?id=775351
2016-11-29 19:14:10 +02:00
Jan Alexander Steffens (heftig)
9bdf7ff6d0 multifdsink: Add a test involving a slow client
https://bugzilla.gnome.org/show_bug.cgi?id=774908
2016-11-29 19:13:00 +02:00
Jan Alexander Steffens (heftig)
8b9ebd8f88 multihandlesink: Update bufpos in a separate pass
If a client gets dropped and the iteration gets restarted, bufpos is
incremented again for all clients that preceded the dropped one, causing
havoc.

Adjust the bufpos for all clients first before trying to drop any.

https://bugzilla.gnome.org/show_bug.cgi?id=774908
2016-11-29 19:13:00 +02:00
Garima Gaur
6c5381eda6 playbin: Fix caps memory leak in usage of gst_static_caps_get() API
https://bugzilla.gnome.org/show_bug.cgi?id=775310
2016-11-29 13:42:28 +02:00
Tim-Philipp Müller
88469fdb76 win32: update .def file for new audioconverter API
Fixes distcheck.
2016-11-28 20:25:54 +00:00
Scott D Phillips
56c1b41c6a meson: Add headers and libm to has_function checks
The functions from math.h may be implemented in libm.

https://bugzilla.gnome.org/show_bug.cgi?id=774876
2016-11-29 00:28:08 +05:30
Sebastian Dröge
7e24acc67f discoverer: Handle NULL/ANY/EMPTY caps without crashing 2016-11-28 19:46:10 +02:00
Edward Hervey
647b183adb check/videorate: Avoid leaking extra buffers 2016-11-28 16:54:55 +01:00
Edward Hervey
216ee52090 video-info: Properly initialize/set extra fields
The flags and field order weren't properly initialized in the
gst_video_info_init().

Furthermore in gst_video_info_from_caps() we might set unitiliazed
values previously, this only sets them if valid.
2016-11-28 16:53:10 +01:00
Edward Hervey
e3216d1648 sdp: Fix attribute leak
We need to free the strdup'd string (to_free) in all cases
2016-11-28 16:51:43 +01:00
Edward Hervey
fb4856c839 rtsp: Don't leak authorization string 2016-11-28 16:51:23 +01:00
Petr Kulhavy
010b9547d3 audio-converter: optimize endian conversion
Optimize LE<->BE conversion by adding a dedicated fast path instead of
using the generic converter. Implement transform_ip function in order to do the
endian swap in place.

This saves buffer allocation for the intermediate format, can be done in place
and also performs the conversion in one step instead of unpack-convert-pack.

For all bit widths the naive algorithm is implemented, which provides the best
performance when compiled with -O3. ORC was considered but eventually removed
as it requires a dedicated function for in-place conversion (due to the
"restrict" parameters).

A more complex algorithm for the 24-bit conversion with unrolled loop and
32-bit processing is implemented in the #if 0 section. It performs better if
compiled with -O2. With -O3 however the naive algorithm performs better.

https://bugzilla.gnome.org/show_bug.cgi?id=773073
2016-11-28 17:24:17 +02:00
Petr Kulhavy
640c54d8f8 audio-convert: simplify the chain free process
It is not needed to store a pointer to every single chain element to free it.
Instead walk the channel list backwards and free the chain elements one by one.

Rename GstAudioConverter->chain_pack to chain_end.

https://bugzilla.gnome.org/show_bug.cgi?id=773073
2016-11-28 17:24:13 +02:00
Sebastian Dröge
da981c85a1 rawparse: Whitespace cleanup 2016-11-28 14:26:17 +02:00
Garima Gaur
b2b8e77566 subtitleoverlay: Fix caps memory leak when failing to get sinkpad from subtitle renderer
https://bugzilla.gnome.org/show_bug.cgi?id=775224
2016-11-28 13:56:33 +02:00
Sebastian Dröge
4efc15dffb discoverer: Extract video information from caps manually without GstVideoInfo
The caps might not be fixated (which is required by GstVideoInfo) and we
would assert otherwise. However the caps often contain useful
information in the already-fixed parts that we can use here.
2016-11-28 10:12:49 +02:00
Sebastian Dröge
bd74b102fa discoverer: Also stop waiting for subtitles if we get EOS
We're not going to get a buffer or GAP event anymore after EOS and would
wait forever otherwise.
2016-11-28 10:04:38 +02:00
Sebastian Dröge
a4f1d4a265 rawbaseparse: Fix output buffer size trimming
For frame->buffer, baseparse is doing that automatically for us. For
frame->output_buffer it doesn't and assumes that the subclass is already
doing that. Consistency!
2016-11-27 12:40:53 +02:00
Sebastian Dröge
0c79a06dd1 rawparse: Properly align raw audio/video output buffers
That is, aligned to the basic type for audio and to 32 bytes for video.
Fixes crashes if the raw buffers are passed to SIMD processing functions.

https://bugzilla.gnome.org/show_bug.cgi?id=774428
2016-11-27 11:45:33 +02:00
Sebastian Dröge
0846eb5b27 riff-media: Check if caps are NULL before using them for the first time, not afterwards
Otherwise we'll get a g_critical() before erroring out cleanly on
https://samples.mplayerhq.hu/A-codecs/ATRAC3/SND0.AT3
2016-11-26 13:54:41 +02:00
Tim-Philipp Müller
69c1e0d7a9 common: use https protocol for common submodule
https://bugzilla.gnome.org/show_bug.cgi?id=775110
2016-11-26 11:22:46 +00:00
Miguel Paris
036bdf5d2d rtpbuffer: Fix ensure_buffers() if whole packet is in one GstMemory
When gst_rtp_buffer_add_extension_onebyte_header() is used over a
GstRtpBuffer that only contains a memory for the whole packet,
ensure_buffers function crashes at the next point:

mem = gst_memory_copy (rtp->map[i].memory, offset, rtp->size[i]);

when i==2 because the payload is not mapped.

In addition the offset is calculated subtracting in the wrong direction.

https://bugzilla.gnome.org/show_bug.cgi?id=774959
2016-11-25 13:15:24 +02:00
Sebastian Dröge
47fdb15074 video-info: Add unit test for overflow checks
And also prevent overflows caused by allowing uint width/height in
gst_video_info_set_format() but storing them as (signed!) ints.
2016-11-24 15:40:22 +02:00
Sebastian Dröge
3d7a566640 video-info: And change the overflow check to not actually overflow itself 2016-11-24 15:12:40 +02:00
Sebastian Dröge
681d97aed7 video: Handle errors in gst_video_info_set_format() / gst_video_info_align()
https://bugzilla.gnome.org/show_bug.cgi?id=774588
2016-11-24 15:06:39 +02:00
Sebastian Dröge
17cdd369e6 video-info: Sanity check the frame size to prevent overflows
https://bugzilla.gnome.org/show_bug.cgi?id=774588
2016-11-24 15:06:39 +02:00
Ulf Olsson
a4c1dfe4cd mikey: Generate the correct SRTP policy
https://bugzilla.gnome.org/show_bug.cgi?id=774911
2016-11-23 17:44:29 +01:00
Sebastian Dröge
7e4697ec98 rtspdefs: Assert on the excepted MD5 digest string length
CID 1394494.
2016-11-23 18:26:29 +02:00
Matthew Waters
2fdccfd64f typefind: bounds check windows ico detection
Fixes out of bounds read

https://bugzilla.gnome.org/show_bug.cgi?id=774902
2016-11-23 21:37:27 +11:00
Scott D Phillips
c2dd0149c9 tag: fix some warnings in mklicensestables
https://bugzilla.gnome.org/show_bug.cgi?id=774878
2016-11-23 10:20:04 +02:00
Julien Isorce
b68d9bbe43 gstfdmemory: log with GST_INFO instead of GST_ERROR on permission denied
For example mmap can fail with EACCES if the the fd has been open
with read only mode. And mapping the memory might be the only way
to check that. So no need to print out an error.

Ex: ioctl(dev, DRM_IOCTL_PRIME_HANDLE_TO_FD, flags & ~DRM_RDWR)

https://bugzilla.gnome.org/show_bug.cgi?id=765600
2016-11-21 21:22:47 +00:00
Reynaldo H. Verdejo Pinochet
7e14875458 typefind: add typefinder for Apple/iTunes itc artwork files
Avoids audio/mpeg false-positive described at:

https://bugzilla.gnome.org/show_bug.cgi?id=773172
2016-11-21 10:53:13 -08:00
Sebastian Dröge
90b24d34b3 rtsp: Add gst_rtsp_message_parse_auth_credentials() to parse authentication credentials
https://bugzilla.gnome.org/show_bug.cgi?id=774416
2016-11-21 09:39:21 +02:00
Sebastian Dröge
828c8604dd rtsp: Add gst_rtsp_generate_digest_auth_response() to calculate digest auth response
https://bugzilla.gnome.org/show_bug.cgi?id=774416
2016-11-21 09:39:21 +02:00
Tim-Philipp Müller
5b4010c7b5 win32: remove copies of generated headers 2016-11-20 15:43:42 +00:00
Nicolas Dufresne
a1a2a33315 dmabuf-allocator: Add missing padding in the class
This class was made subclassable, though for future growth of the code,
it's better if we have some room for add class members. Using the small
padding since this is unlikely.
2016-11-18 14:56:20 -05:00
Sebastian Dröge
d34e326425 textoverlay: Mark pad as needing reconfiguration again if it failed
And return FLUSHING instead of NOT_NEGOTIATED on flushing pads.

https://bugzilla.gnome.org/show_bug.cgi?id=774623
2016-11-18 12:04:27 +02:00
Sebastian Dröge
b9f59fd999 rtpbasepayload: Ensure to set the RECONFIGURE flag again if reconfiguration failed
https://bugzilla.gnome.org/show_bug.cgi?id=774623
2016-11-18 12:04:27 +02:00
Scott D Phillips
abf1f23d54 meson: add_global_arguments -> add_project_arguments
https://bugzilla.gnome.org/show_bug.cgi?id=774656
2016-11-18 09:31:43 +00:00
Sebastian Dröge
2c87618bf3 videotimecode: Add test for the calculations of distance from the daily jam
https://bugzilla.gnome.org/show_bug.cgi?id=774585
2016-11-17 10:17:01 +02:00