platform/upstream/gst-plugins-base.git
7 years agodecodebin: For adaptive streaming, ensure to put the buffering multiqueue after a...
Sebastian Dröge [Thu, 15 Dec 2016 14:29:02 +0000 (16:29 +0200)]
decodebin: For adaptive streaming, ensure to put the buffering multiqueue after a parser or demuxer

There are cases when there is no demuxer involved that could do the
buffering, e.g. HLS with raw MP3 or AAC. In this case we want to place
the buffering multiqueue after the parser.

Before this change, we've considered the first element after the
adaptive streaming demuxer as a parser. This is not always true, e.g.
id3demux. Instead we now wait until we actually have a parser (or
decoder).

Fixes playback on such HLS streams.

7 years agoRemove generated .spec file
Tim-Philipp Müller [Wed, 14 Dec 2016 09:48:02 +0000 (09:48 +0000)]
Remove generated .spec file

Likely extremely bitrotten, and we should not ship this anyway.

7 years agortsp: add boxed types for new authentication credential API
Tim-Philipp Müller [Tue, 13 Dec 2016 22:45:02 +0000 (22:45 +0000)]
rtsp: add boxed types for new authentication credential API

To make the structs usable in bindings, and fix

gstrtspmessage.c:1188: Warning: GstRtsp:
gst_rtsp_message_parse_auth_credentials: return value: Invalid
non-constant return of bare structure or union; register as
boxed type or (skip)

https://bugzilla.gnome.org/show_bug.cgi?id=774416

7 years agogst: Don't declare variables inside the for loop header
Sebastian Dröge [Tue, 13 Dec 2016 20:26:08 +0000 (22:26 +0200)]
gst: Don't declare variables inside the for loop header

This is a C99 feature.

7 years agoaudioringbuffer: do not require 4 byte multiple for encoded MPEG
Vincent Penquerc'h [Tue, 13 Dec 2016 09:44:09 +0000 (09:44 +0000)]
audioringbuffer: do not require 4 byte multiple for encoded MPEG

Bytes per frame doesn't make sense for encoded audio.

https://bugzilla.gnome.org/show_bug.cgi?id=776038

7 years agoplayback: Add ANY caps features to default text raw caps
Seungha Yang [Mon, 12 Dec 2016 05:50:11 +0000 (14:50 +0900)]
playback: Add ANY caps features to default text raw caps

Raw text caps with any caps features should be also default raw caps

https://bugzilla.gnome.org/show_bug.cgi?id=775967

7 years agomeson: Support building without Gst debug
Thibault Saunier [Fri, 9 Dec 2016 20:08:20 +0000 (17:08 -0300)]
meson: Support building without Gst debug

7 years agoxmptag: Don't leak the namespace string if there are multiple
Sebastian Dröge [Fri, 9 Dec 2016 15:36:47 +0000 (17:36 +0200)]
xmptag: Don't leak the namespace string if there are multiple

https://bugzilla.gnome.org/show_bug.cgi?id=775887

7 years agoid3v2: Clarify id3v2_add_id3v2_frame_blob_to_taglist()
Jan Schmidt [Fri, 9 Dec 2016 06:59:09 +0000 (17:59 +1100)]
id3v2: Clarify id3v2_add_id3v2_frame_blob_to_taglist()

Pass the frame data and size explicitly to
id3v2_add_id3v2_frame_blob_to_taglist() and add a
comment that it's being deliberately / manually
passed the full ID3v2 frame including header.

7 years agoid3v2: Add missing overrun check for frame sizes
Jan Schmidt [Fri, 9 Dec 2016 06:57:52 +0000 (17:57 +1100)]
id3v2: Add missing overrun check for frame sizes

When frames claim to have a footer, ensure they
are large enough to contain one to avoid an invalid
read overrun.

Spotted by Joshua Yabut

7 years agoogg: Fix element factory klass for OGM parsers
Jan Schmidt [Tue, 22 Nov 2016 12:08:09 +0000 (23:08 +1100)]
ogg: Fix element factory klass for OGM parsers

They're parsers, not decoders, so fix the klass info
accordingly.

7 years agodocs: design: remove outdated draft docs (hw-acceleration, va)
Tim-Philipp Müller [Thu, 8 Dec 2016 23:01:28 +0000 (23:01 +0000)]
docs: design: remove outdated draft docs (hw-acceleration, va)

7 years agodocs: design: move most design docs to gst-docs module
Tim-Philipp Müller [Thu, 8 Dec 2016 22:59:58 +0000 (22:59 +0000)]
docs: design: move most design docs to gst-docs module

7 years agodecodebin3: Remove unused variable
Seungha Yang [Sat, 3 Dec 2016 14:01:53 +0000 (23:01 +0900)]
decodebin3: Remove unused variable

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agodecodebin3: More cleanup DecodebinOutputStream and MultiQueueSlot
Seungha Yang [Sat, 3 Dec 2016 13:46:20 +0000 (22:46 +0900)]
decodebin3: More cleanup DecodebinOutputStream and MultiQueueSlot

When removing DecodebinInputStream, cleanup DecodebinOutputStream and
MultiQueueSlot also if they were drained.

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agodecodebin3: Drop duration query during _input_pad_unlink ()
Seungha Yang [Sat, 3 Dec 2016 13:37:55 +0000 (22:37 +0900)]
decodebin3: Drop duration query during _input_pad_unlink ()

Playbin3 takes lock when querying duration and handling
stream-collection message. So,to post stream-collection message,
duration query should be dropped when input pad is being unlinked.

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agodecodebin3: Update stream-collection with _input_pad_unlink()
Seungha Yang [Sat, 3 Dec 2016 13:12:21 +0000 (22:12 +0900)]
decodebin3: Update stream-collection with _input_pad_unlink()

Since parsebin does not post new stream-collection message when
it was being removed, decodebin3 should update it itself.

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agodecodebin3: Cleanup no more used DecodebinInput
Seungha Yang [Sat, 3 Dec 2016 13:28:28 +0000 (22:28 +0900)]
decodebin3: Cleanup no more used DecodebinInput

Remove DecodebinInput using gst_element_call_async() API.

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agodecodebin3: Cleanup no more used MultiQueueSlot
Seungha Yang [Sat, 3 Dec 2016 12:50:47 +0000 (21:50 +0900)]
decodebin3: Cleanup no more used MultiQueueSlot

Since MultiQueueSlot cannot be removed inside of streaming thread,
use gst_element_call_async() API.

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agodecodebin3: Send custom-eos event to notify drained state
Seungha Yang [Sat, 3 Dec 2016 12:42:30 +0000 (21:42 +0900)]
decodebin3: Send custom-eos event to notify drained state

Likewise how urisourcebin is doing, use custom event if other streams
are still alive.

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agoplaybin3: Reconfigure playsink again with pad-removed
Seungha Yang [Sat, 3 Dec 2016 11:44:21 +0000 (20:44 +0900)]
playbin3: Reconfigure playsink again with pad-removed

If selected streams and actived streams are matched,
do reconfigure of playsink again with pad-removed signal

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agoplayback: Remove trailing whitespace
Seungha Yang [Tue, 25 Oct 2016 12:06:40 +0000 (21:06 +0900)]
playback: Remove trailing whitespace

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agourisourcebin: Try to link output slot before cleanup
Seungha Yang [Sun, 23 Oct 2016 13:10:39 +0000 (22:10 +0900)]
urisourcebin: Try to link output slot before cleanup

Before cleaning up output slot, check pending pads first, if available.
Then, cleanup it only if linking was failed.

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agourisourcebin: Cleanup unused output slot
Seungha Yang [Sat, 22 Oct 2016 09:53:17 +0000 (18:53 +0900)]
urisourcebin: Cleanup unused output slot

Since urisourcebin cannot cleanup unused output slot
in streaming thread, it will be handled in thread pool
with gst_element_call_async ().

https://bugzilla.gnome.org/show_bug.cgi?id=773341

7 years agotagdemux: Fix crash when shutting down element during getrange()
Sebastian Dröge [Tue, 6 Dec 2016 14:29:23 +0000 (16:29 +0200)]
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

7 years agoAutomatic update of common submodule
Edward Hervey [Sat, 3 Dec 2016 07:19:15 +0000 (08:19 +0100)]
Automatic update of common submodule

From f980fd9 to 39ac2f5

7 years agotypefind: add another test to itc typefinder
Reynaldo H. Verdejo Pinochet [Fri, 2 Dec 2016 23:12:12 +0000 (15:12 -0800)]
typefind: add another test to itc typefinder

Report certainty after every test passes.

Additionally:

 - Remove self-explanatory comment.

7 years agossaparse: Free initialization section before storing the next one
Sebastian Dröge [Thu, 1 Dec 2016 17:57:47 +0000 (19:57 +0200)]
ssaparse: Free initialization section before storing the next one

If getting multiple caps events.

https://bugzilla.gnome.org/show_bug.cgi?id=775480

7 years agooggdemux: Don't end up ignoring caps just because there are no headers for this stream
Sebastian Dröge [Thu, 1 Dec 2016 13:12:59 +0000 (15:12 +0200)]
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

7 years agoaudioconvert: Error out if mapping input/output buffer failed
Sebastian Dröge [Wed, 30 Nov 2016 08:55:16 +0000 (10:55 +0200)]
audioconvert: Error out if mapping input/output buffer failed

7 years agoaudioconvert: Don't map the input buffer in in-place mode
Sebastian Dröge [Wed, 30 Nov 2016 08:48:40 +0000 (10:48 +0200)]
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

7 years agoaudio-converter: In passthrough, also don't copy if in and out block are the same
Sebastian Dröge [Wed, 30 Nov 2016 08:43:50 +0000 (10:43 +0200)]
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

7 years agoaudioconvert: Don't call transform_ip() in passthrough mode
Sebastian Dröge [Wed, 30 Nov 2016 08:36:14 +0000 (10:36 +0200)]
audioconvert: Don't call transform_ip() in passthrough mode

https://bugzilla.gnome.org/show_bug.cgi?id=775369

7 years agomultihandlesink: Fix buffers-queued being off by one
Jan Alexander Steffens (heftig) [Tue, 29 Nov 2016 14:30:43 +0000 (15:30 +0100)]
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

7 years agomultifdsink: Add a test involving a slow client
Jan Alexander Steffens (heftig) [Tue, 29 Nov 2016 15:26:22 +0000 (16:26 +0100)]
multifdsink: Add a test involving a slow client

https://bugzilla.gnome.org/show_bug.cgi?id=774908

7 years agomultihandlesink: Update bufpos in a separate pass
Jan Alexander Steffens (heftig) [Wed, 23 Nov 2016 13:35:04 +0000 (14:35 +0100)]
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

7 years agoplaybin: Fix caps memory leak in usage of gst_static_caps_get() API
Garima Gaur [Tue, 29 Nov 2016 11:07:50 +0000 (16:37 +0530)]
playbin: Fix caps memory leak in usage of gst_static_caps_get() API

https://bugzilla.gnome.org/show_bug.cgi?id=775310

7 years agowin32: update .def file for new audioconverter API
Tim-Philipp Müller [Mon, 28 Nov 2016 20:25:35 +0000 (20:25 +0000)]
win32: update .def file for new audioconverter API

Fixes distcheck.

7 years agomeson: Add headers and libm to has_function checks
Scott D Phillips [Tue, 29 Nov 2016 02:28:24 +0000 (18:28 -0800)]
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

7 years agodiscoverer: Handle NULL/ANY/EMPTY caps without crashing
Sebastian Dröge [Mon, 28 Nov 2016 17:45:46 +0000 (19:45 +0200)]
discoverer: Handle NULL/ANY/EMPTY caps without crashing

7 years agocheck/videorate: Avoid leaking extra buffers
Edward Hervey [Mon, 28 Nov 2016 15:54:55 +0000 (16:54 +0100)]
check/videorate: Avoid leaking extra buffers

7 years agovideo-info: Properly initialize/set extra fields
Edward Hervey [Mon, 28 Nov 2016 15:53:10 +0000 (16:53 +0100)]
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.

7 years agosdp: Fix attribute leak
Edward Hervey [Mon, 28 Nov 2016 15:51:43 +0000 (16:51 +0100)]
sdp: Fix attribute leak

We need to free the strdup'd string (to_free) in all cases

7 years agortsp: Don't leak authorization string
Edward Hervey [Mon, 28 Nov 2016 15:51:23 +0000 (16:51 +0100)]
rtsp: Don't leak authorization string

7 years agoaudio-converter: optimize endian conversion
Petr Kulhavy [Wed, 19 Oct 2016 10:21:37 +0000 (12:21 +0200)]
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

7 years agoaudio-convert: simplify the chain free process
Petr Kulhavy [Fri, 21 Oct 2016 12:30:31 +0000 (14:30 +0200)]
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

7 years agosubtitleoverlay: Fix caps memory leak when failing to get sinkpad from subtitle renderer
Garima Gaur [Mon, 28 Nov 2016 11:42:26 +0000 (17:12 +0530)]
subtitleoverlay: Fix caps memory leak when failing to get sinkpad from subtitle renderer

https://bugzilla.gnome.org/show_bug.cgi?id=775224

7 years agodiscoverer: Extract video information from caps manually without GstVideoInfo
Sebastian Dröge [Mon, 28 Nov 2016 08:12:49 +0000 (10:12 +0200)]
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.

7 years agodiscoverer: Also stop waiting for subtitles if we get EOS
Sebastian Dröge [Mon, 28 Nov 2016 08:04:38 +0000 (10:04 +0200)]
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.

7 years agoriff-media: Check if caps are NULL before using them for the first time, not afterwards
Sebastian Dröge [Sat, 26 Nov 2016 11:53:49 +0000 (13:53 +0200)]
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

7 years agocommon: use https protocol for common submodule
Tim-Philipp Müller [Sat, 26 Nov 2016 11:20:51 +0000 (11:20 +0000)]
common: use https protocol for common submodule

https://bugzilla.gnome.org/show_bug.cgi?id=775110

7 years agortpbuffer: Fix ensure_buffers() if whole packet is in one GstMemory
Miguel Paris [Fri, 25 Nov 2016 09:48:06 +0000 (10:48 +0100)]
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

7 years agovideo-info: Add unit test for overflow checks
Sebastian Dröge [Thu, 24 Nov 2016 13:40:22 +0000 (15:40 +0200)]
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.

7 years agovideo-info: And change the overflow check to not actually overflow itself
Sebastian Dröge [Thu, 24 Nov 2016 13:12:40 +0000 (15:12 +0200)]
video-info: And change the overflow check to not actually overflow itself

7 years agovideo: Handle errors in gst_video_info_set_format() / gst_video_info_align()
Sebastian Dröge [Wed, 23 Nov 2016 18:10:34 +0000 (20:10 +0200)]
video: Handle errors in gst_video_info_set_format() / gst_video_info_align()

https://bugzilla.gnome.org/show_bug.cgi?id=774588

7 years agovideo-info: Sanity check the frame size to prevent overflows
Sebastian Dröge [Wed, 23 Nov 2016 18:00:19 +0000 (20:00 +0200)]
video-info: Sanity check the frame size to prevent overflows

https://bugzilla.gnome.org/show_bug.cgi?id=774588

7 years agomikey: Generate the correct SRTP policy
Ulf Olsson [Wed, 23 Nov 2016 12:48:06 +0000 (13:48 +0100)]
mikey: Generate the correct SRTP policy

https://bugzilla.gnome.org/show_bug.cgi?id=774911

7 years agortspdefs: Assert on the excepted MD5 digest string length
Sebastian Dröge [Wed, 23 Nov 2016 16:26:29 +0000 (18:26 +0200)]
rtspdefs: Assert on the excepted MD5 digest string length

CID 1394494.

7 years agotypefind: bounds check windows ico detection
Matthew Waters [Wed, 23 Nov 2016 10:27:55 +0000 (21:27 +1100)]
typefind: bounds check windows ico detection

Fixes out of bounds read

https://bugzilla.gnome.org/show_bug.cgi?id=774902

7 years agotag: fix some warnings in mklicensestables
Scott D Phillips [Wed, 23 Nov 2016 05:12:23 +0000 (21:12 -0800)]
tag: fix some warnings in mklicensestables

https://bugzilla.gnome.org/show_bug.cgi?id=774878

7 years agogstfdmemory: log with GST_INFO instead of GST_ERROR on permission denied
Julien Isorce [Fri, 7 Oct 2016 14:08:37 +0000 (15:08 +0100)]
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

7 years agotypefind: add typefinder for Apple/iTunes itc artwork files
Reynaldo H. Verdejo Pinochet [Tue, 18 Oct 2016 23:18:19 +0000 (16:18 -0700)]
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

7 years agortsp: Add gst_rtsp_message_parse_auth_credentials() to parse authentication credentials
Sebastian Dröge [Fri, 18 Nov 2016 14:51:26 +0000 (16:51 +0200)]
rtsp: Add gst_rtsp_message_parse_auth_credentials() to parse authentication credentials

https://bugzilla.gnome.org/show_bug.cgi?id=774416

7 years agortsp: Add gst_rtsp_generate_digest_auth_response() to calculate digest auth response
Sebastian Dröge [Fri, 18 Nov 2016 11:20:55 +0000 (13:20 +0200)]
rtsp: Add gst_rtsp_generate_digest_auth_response() to calculate digest auth response

https://bugzilla.gnome.org/show_bug.cgi?id=774416

7 years agowin32: remove copies of generated headers
Tim-Philipp Müller [Sun, 20 Nov 2016 15:43:42 +0000 (15:43 +0000)]
win32: remove copies of generated headers

7 years agodmabuf-allocator: Add missing padding in the class
Nicolas Dufresne [Fri, 18 Nov 2016 19:51:29 +0000 (14:51 -0500)]
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.

7 years agotextoverlay: Mark pad as needing reconfiguration again if it failed
Sebastian Dröge [Thu, 17 Nov 2016 18:18:55 +0000 (20:18 +0200)]
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

7 years agortpbasepayload: Ensure to set the RECONFIGURE flag again if reconfiguration failed
Sebastian Dröge [Thu, 17 Nov 2016 17:46:54 +0000 (19:46 +0200)]
rtpbasepayload: Ensure to set the RECONFIGURE flag again if reconfiguration failed

https://bugzilla.gnome.org/show_bug.cgi?id=774623

7 years agomeson: add_global_arguments -> add_project_arguments
Scott D Phillips [Fri, 18 Nov 2016 00:45:32 +0000 (16:45 -0800)]
meson: add_global_arguments -> add_project_arguments

https://bugzilla.gnome.org/show_bug.cgi?id=774656

7 years agovideotimecode: Add test for the calculations of distance from the daily jam
Sebastian Dröge [Thu, 17 Nov 2016 08:16:43 +0000 (10:16 +0200)]
videotimecode: Add test for the calculations of distance from the daily jam

https://bugzilla.gnome.org/show_bug.cgi?id=774585

7 years agovideotimecode: Fix incorrect nsec_since_daily_jam calculation
Vivia Nikolaidou [Wed, 16 Nov 2016 17:13:14 +0000 (19:13 +0200)]
videotimecode: Fix incorrect nsec_since_daily_jam calculation

For drop-frame timecodes, the nsec_since_daily_jam doesn't necessarily
directly correspond to this many hours/minutes/seconds/frames. We have
to get the frame count as per frames_since_daily_jam and then convert.

https://bugzilla.gnome.org/show_bug.cgi?id=774585

7 years agoriff: Extract bpp from the strf for vnmc
Sebastian Dröge [Wed, 16 Nov 2016 18:48:28 +0000 (20:48 +0200)]
riff: Extract bpp from the strf for vnmc

Needed for avdec_vnmc to work.

7 years agoplaysink: warn if a custom sink is set that has no 'sink' pad
Jan Schmidt [Wed, 16 Nov 2016 13:40:43 +0000 (00:40 +1100)]
playsink: warn if a custom sink is set that has no 'sink' pad

7 years agovideodecoder, audiodecoder: parse format before checking in src_query_default
Scott D Phillips [Tue, 15 Nov 2016 17:32:24 +0000 (09:32 -0800)]
videodecoder, audiodecoder: parse format before checking in src_query_default

The logic change in these commits misordered the parsing and checking of
format in position queries:

 2b06e54 videodecoder: Don't answer BYTES queries
 1840b02 audio: Don't answer BYTES queries

https://bugzilla.gnome.org/show_bug.cgi?id=774484

7 years agoappsink: fix g-i warnings and add since markers
Tim-Philipp Müller [Tue, 15 Nov 2016 18:32:50 +0000 (18:32 +0000)]
appsink: fix g-i warnings and add since markers

Rename function parameter and make sure the name in the
declaration matches the name in the implementation, to
avoid g-i warnings. Also add Since markers for gtk-doc.

gstappsink.c:1248: Warning: GstApp: gst_app_sink_set_buffer_list_support:
unknown parameter 'buffer_list' in documentation comment, should be 'drop'

7 years agodiscoverer: Do not try to unref the bus if it has not been set yet
Thibault Saunier [Tue, 15 Nov 2016 18:12:12 +0000 (15:12 -0300)]
discoverer: Do not try to unref the bus if it has not been set yet

It might happen if creation of the discoverer failed

7 years agoappsink: add support for buffer lists
Patricia Muscalu [Mon, 4 Jul 2016 07:32:28 +0000 (09:32 +0200)]
appsink: add support for buffer lists

https://bugzilla.gnome.org/show_bug.cgi?id=752363

7 years agoplaybin3: remove dead code
Wonchul Lee [Tue, 15 Nov 2016 06:23:20 +0000 (15:23 +0900)]
playbin3: remove dead code

It never reach into this code path, custom_combiner always not null
here.

https://bugzilla.gnome.org/show_bug.cgi?id=774454

7 years agovideodecoder: Don't answer BYTES queries
Jan Schmidt [Tue, 15 Nov 2016 12:36:41 +0000 (23:36 +1100)]
videodecoder: Don't answer BYTES queries

Refuse to answer BYTES queries ourselves. The only
time they make sense is on raw elementary streams,
in which case upstream would already have answered.

https://bugzilla.gnome.org/show_bug.cgi?id=757631

7 years agoaudio: Don't answer BYTES queries
Jan Schmidt [Tue, 15 Nov 2016 12:27:17 +0000 (23:27 +1100)]
audio: Don't answer BYTES queries

Refuse to answer BYTES queries ourselves. The only
time they make sense is on raw elementary streams,
in which case upstream would already have answered.

They especially don't make sense for encoders to answer
based on upstream values - although perhaps later
we could make it do TIME->BYTES conversion on the source
pad based on bitrate.

https://bugzilla.gnome.org/show_bug.cgi?id=757631

7 years agosdp: cast away const in call to g_free
Scott D Phillips [Tue, 15 Nov 2016 00:55:36 +0000 (16:55 -0800)]
sdp: cast away const in call to g_free

MSVC warns about the const here. It's safe to cast away.

https://bugzilla.gnome.org/show_bug.cgi?id=774293

7 years agoCast away const from GstMetaInfo in *_get_meta_info() functions
Scott D Phillips [Tue, 15 Nov 2016 00:48:16 +0000 (16:48 -0800)]
Cast away const from GstMetaInfo in *_get_meta_info() functions

MSVC warns about the const in the implicit argument conversion in the
calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.

https://bugzilla.gnome.org/show_bug.cgi?id=774293

7 years agodecodebin3: Clear saw_eos flag of DecodebinInputStream by FLUSH event
Seungha Yang [Sun, 13 Nov 2016 04:15:38 +0000 (13:15 +0900)]
decodebin3: Clear saw_eos flag of DecodebinInputStream by FLUSH event

Likewise how GstPad is doing, saw_eos flag of DecodebinInputStream
must be cleared by FLUSH event.

https://bugzilla.gnome.org/show_bug.cgi?id=774343

7 years agoplaybin3: Fix deadlock when adding multiple parsebin
Wonchul Lee [Mon, 17 Oct 2016 06:38:37 +0000 (15:38 +0900)]
playbin3: Fix deadlock when adding multiple parsebin

https://bugzilla.gnome.org/show_bug.cgi?id=773131

7 years agomeson: vorbis: Add -DTREMOR to flags for gstivorbisdec
Scott D Phillips [Mon, 14 Nov 2016 19:39:33 +0000 (11:39 -0800)]
meson: vorbis: Add -DTREMOR to flags for gstivorbisdec

Matching the flags set by Makefile.am

https://bugzilla.gnome.org/show_bug.cgi?id=774445

7 years agomeson: Fix build when orc is disabled
Thibault Saunier [Mon, 14 Nov 2016 19:28:42 +0000 (16:28 -0300)]
meson: Fix build when orc is disabled

Making sure not to use the orc_dep variable in case
orc has been explicitely disabled.

7 years agoUse intermediate guint when handling GstVideoMultiviewFlags
Scott D Phillips [Fri, 11 Nov 2016 18:38:58 +0000 (10:38 -0800)]
Use intermediate guint when handling GstVideoMultiviewFlags

The underlying integer type of the enum GstVideoMultiviewFlags is
implementation defined and may not have the same size as guint.

https://bugzilla.gnome.org/show_bug.cgi?id=774293

7 years agoRemove 'return' from `void` functions
Scott D Phillips [Fri, 11 Nov 2016 18:35:00 +0000 (10:35 -0800)]
Remove 'return' from `void` functions

https://bugzilla.gnome.org/show_bug.cgi?id=774293

7 years agomeson: don't add_global_arguments when being built as a subproject
Scott D Phillips [Thu, 27 Oct 2016 05:37:19 +0000 (22:37 -0700)]
meson: don't add_global_arguments when being built as a subproject

https://bugzilla.gnome.org/show_bug.cgi?id=773568

7 years agortsp: Include GstSdp-1.0.gir when generating the gir
Thibault Saunier [Thu, 10 Nov 2016 20:05:19 +0000 (17:05 -0300)]
rtsp: Include GstSdp-1.0.gir when generating the gir

It is actually needed as we need some symbols. We do not link
to libgstsdp as the user of the lib should do it (same with
autotools build).

This reverts previous commit

7 years agolibs:rtsp: Remove wrong dependency on Sdp for the gir file
Thibault Saunier [Thu, 10 Nov 2016 19:36:49 +0000 (16:36 -0300)]
libs:rtsp: Remove wrong dependency on Sdp for the gir file

7 years agolibs:rtsp: Remove wrong dependency on Sdp for the gir file
Thibault Saunier [Thu, 10 Nov 2016 19:36:49 +0000 (16:36 -0300)]
libs:rtsp: Remove wrong dependency on Sdp for the gir file

7 years agomeson: Generate girs
Thibault Saunier [Thu, 20 Oct 2016 20:17:27 +0000 (17:17 -0300)]
meson: Generate girs

https://bugzilla.gnome.org/show_bug.cgi?id=773944

7 years agoaudio-channels: map buffer read-write only if channels differ
Petr Kulhavy [Mon, 7 Nov 2016 11:01:16 +0000 (12:01 +0100)]
audio-channels: map buffer read-write only if channels differ

gst_audio_buffer_reorder_channels() was always mapping the buffer read-write
regardless whether any reordering was needed.  If the from and to channel order
is identical return immediately without remapping the buffer.

Add a small helper function gst_audio_channel_positions_equal() which is used
in both gst_audio_reorder_channels() and gst_audio_buffer_reorder_channels().

https://bugzilla.gnome.org/show_bug.cgi?id=773833

7 years agovideorate: Add fixed rate property
Joris Valette [Tue, 17 Sep 2013 15:42:05 +0000 (17:42 +0200)]
videorate: Add fixed rate property

https://bugzilla.gnome.org/show_bug.cgi?id=699077

7 years agoopusdec: fix 120 ms buffers being wrongly emitted
Vincent Penquerc'h [Fri, 4 Nov 2016 16:41:05 +0000 (16:41 +0000)]
opusdec: fix 120 ms buffers being wrongly emitted

Using the max 120 ms buffer size to ensure we have enough space
for decoded data meant that Opus could actually return 120 ms'
worth of data.

https://bugzilla.gnome.org/show_bug.cgi?id=771723

7 years agowin32: Update exports for new API
Sebastian Dröge [Fri, 4 Nov 2016 16:55:44 +0000 (18:55 +0200)]
win32: Update exports for new API

7 years agovideo: add gst_video_decoder_allocate_output_frame_with_params
Julien Isorce [Fri, 14 Oct 2016 14:14:14 +0000 (15:14 +0100)]
video: add gst_video_decoder_allocate_output_frame_with_params

It adds a third argument to pass GstBufferPoolAcquireParams
to gst_buffer_pool_acquire_buffer.

If a user subclasses GstBufferPoolAcquireParams, this allows to
pass an updated param to the underlying buffer pool at each
gst_video_decoder_allocate_output_frame_with_params call.

https://bugzilla.gnome.org/show_bug.cgi?id=773165

7 years agovideo-info: Fix the docs to say interlace-mode, not interlaced-mode
Sebastian Dröge [Fri, 4 Nov 2016 14:25:55 +0000 (16:25 +0200)]
video-info: Fix the docs to say interlace-mode, not interlaced-mode

7 years agowin32: add new API to .def file
Tim-Philipp Müller [Thu, 3 Nov 2016 21:34:45 +0000 (21:34 +0000)]
win32: add new API to .def file

Fixes make check and make distcheck