platform/upstream/gstreamer.git
9 years agoaudio: The delay vfunc returns the number of frames, not samples
Sebastian Dröge [Sun, 26 Apr 2015 19:08:14 +0000 (21:08 +0200)]
audio: The delay vfunc returns the number of frames, not samples

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

9 years agoRemove obsolete Android build cruft
Tim-Philipp Müller [Sun, 26 Apr 2015 16:49:33 +0000 (17:49 +0100)]
Remove obsolete Android build cruft

This is not needed any longer.

9 years agotests: typefindfunctions: add test for UTF-16 MSS manifest typefinding
Tim-Philipp Müller [Sun, 26 Apr 2015 13:37:56 +0000 (14:37 +0100)]
tests: typefindfunctions: add test for UTF-16 MSS manifest typefinding

9 years agotypefinding: don't read more data than needed in MSS typefinder
Tim-Philipp Müller [Sun, 26 Apr 2015 13:44:33 +0000 (14:44 +0100)]
typefinding: don't read more data than needed in MSS typefinder

9 years agotypefinding: detect MSS manifests without using g_convert()
Tim-Philipp Müller [Sun, 26 Apr 2015 13:27:30 +0000 (14:27 +0100)]
typefinding: detect MSS manifests without using g_convert()

Embedded systems often have limited charset conversion
functionality, so don't rely on g_convert() (i.e. iconv)
for UTF-16 to UTF-8 conversions, we can easily enough do
that ourselves by converting to native endianness and
then using GLib's helper functions.

9 years agoaudiovisualizer: fix the license from GPL to LGPL
Stefan Sauer [Sat, 25 Apr 2015 16:45:50 +0000 (18:45 +0200)]
audiovisualizer: fix the license from GPL to LGPL

This was a copy'n'paste buf in the initial commit done by myself.

9 years agoxmptag: fix invalid reads in GST_DEBUG statement
Guillaume Desmottes [Fri, 24 Apr 2015 12:59:21 +0000 (14:59 +0200)]
xmptag: fix invalid reads in GST_DEBUG statement

Don't try to print a string that is not NUL-terminated. This
log line does not really seem useful so let's just drop it.

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

9 years agoremove unused enum items PROP_LAST
Luis de Bethencourt [Fri, 24 Apr 2015 16:10:59 +0000 (17:10 +0100)]
remove unused enum items PROP_LAST

This were probably added to the enums due to cargo cult programming and are
unused. Removing them.

9 years agoaudiodecoder: Add sink and src query virtual method
Wonchul Lee [Thu, 2 Apr 2015 15:44:12 +0000 (00:44 +0900)]
audiodecoder: Add sink and src query virtual method

API: GstAudioDecoderClass::src_query()
API: GstAudioDecoderClass::sink_query()

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

9 years agotests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
Tim-Philipp Müller [Thu, 23 Apr 2015 14:57:37 +0000 (15:57 +0100)]
tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON

Make sure the test environment is set up.

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

9 years agoconfigure: bump automake requirement to 1.14 and autoconf to 2.69
Tim-Philipp Müller [Thu, 23 Apr 2015 14:42:41 +0000 (15:42 +0100)]
configure: bump automake requirement to 1.14 and autoconf to 2.69

This is only required for builds from git, people can still
build tarballs if they only have older autotools.

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

9 years agoUpdate .gitignore
Tim-Philipp Müller [Thu, 23 Apr 2015 14:14:07 +0000 (15:14 +0100)]
Update .gitignore

9 years agovideo-converter: n_lines member should be a guint not a boolean
Ravi Kiran K N [Thu, 23 Apr 2015 04:20:12 +0000 (09:50 +0530)]
video-converter: n_lines member should be a guint not a boolean

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

9 years agooggdemux: fix event leaks
Guillaume Desmottes [Tue, 21 Apr 2015 13:27:57 +0000 (15:27 +0200)]
oggdemux: fix event leaks

gst_event_replace() takes its own reference on the event so we should drop
ours after creating and storing an event using it.

This fix leaks which can be reproduced using the
validate.http.media_check.vorbis_theora_1_ogg scenario.

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

9 years agoRemove INSTALL file
Sebastian Dröge [Wed, 22 Apr 2015 08:34:09 +0000 (10:34 +0200)]
Remove INSTALL file

autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.

9 years agoRemove LICENSE_readme
Sebastian Dröge [Wed, 22 Apr 2015 08:33:58 +0000 (10:33 +0200)]
Remove LICENSE_readme

It's completely outdated and just confusing, better if people are
forced to look at the actual code in question than trusting this file.

9 years agovideo-scaler: fix YUY2 scaling some more
Wim Taymans [Tue, 21 Apr 2015 11:31:44 +0000 (13:31 +0200)]
video-scaler: fix YUY2 scaling some more

Take into account the different steps between Y and UV when calculating
the line size for vertical resampling or else we might not resample
enough pixels and leave bad lines.

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

9 years agovideo-scaler: scale enough pixels in YUY2 (and friends) mode
Wim Taymans [Tue, 21 Apr 2015 11:16:29 +0000 (13:16 +0200)]
video-scaler: scale enough pixels in YUY2 (and friends) mode

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

9 years agotests: rtpbasedepayload: fix crash in test when passing varargs
Hyunjun Ko [Fri, 17 Apr 2015 07:21:05 +0000 (16:21 +0900)]
tests: rtpbasedepayload: fix crash in test when passing varargs

Need to pass 64 bits where 64 bits are expected.

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

9 years agovideo-converter: Remove unused variables
Ravi Kiran K N [Fri, 17 Apr 2015 05:48:22 +0000 (11:18 +0530)]
video-converter: Remove unused variables

Remove unused variables n_taps, max_taps in setup_scale()

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

9 years agovideo: add missing part of documentation text
Thiago Santos [Thu, 16 Apr 2015 13:03:05 +0000 (10:03 -0300)]
video: add missing part of documentation text

9 years agodiscoverer: fix GstToc leak when parsing toc messages
Guillaume Desmottes [Tue, 31 Mar 2015 11:26:21 +0000 (13:26 +0200)]
discoverer: fix GstToc leak when parsing toc messages

gst_message_parse_toc() returns a reffed GstToc which is owned by the
GstDiscovererInfo. But we have to make sure we unref its previous value before
setting the new one.

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

9 years agowin32: Update defs for new API
Edward Hervey [Fri, 17 Apr 2015 09:45:34 +0000 (11:45 +0200)]
win32: Update defs for new API

9 years agoallocators: make GstFdAllocator non-abstract
Wim Taymans [Fri, 17 Apr 2015 07:31:40 +0000 (09:31 +0200)]
allocators: make GstFdAllocator non-abstract

Make the GstFdAllocator non-abstract because it is perfectly possible
to make memory from a generic fd. Mark the memory as simply "fd".

9 years agoaudioconvert: fix mixed usage of gint and gint32 in int matrix
Bernhard Miller [Wed, 15 Apr 2015 09:24:17 +0000 (11:24 +0200)]
audioconvert: fix mixed usage of gint and gint32 in int matrix

This is a fixup for b2db18cda2e4e7951655cb2a34108a8523b6eca9
audioconvert: avoid float calculations when mixing integer-formatted channels

The int matrix was using gint and gint32 synonymously, which can theoretically
cause problems if gint and gint32 are actually different types.

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

9 years agogio: fix gvfs plugin dependencies
Tim-Philipp Müller [Tue, 14 Apr 2015 11:47:07 +0000 (12:47 +0100)]
gio: fix gvfs plugin dependencies

Try harder to look for gvfs backend changes in the right
place, to make sure the plugin gets reloaded when backends
are removed or installed. We watch the gvfs mounts directory
because the files there contain absolute paths to the
backend executables, and those may not be in the usual gio
path.

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

9 years agoexamples: disconnect scale callback in scrubby
Luis de Bethencourt [Tue, 14 Apr 2015 14:08:09 +0000 (15:08 +0100)]
examples: disconnect scale callback in scrubby

When the position slider's button is released, disconnect the "value_changed"
callback to avoid triggering false seek callbacks.

9 years agoexamples: keep scrubby command consistent
Luis de Bethencourt [Mon, 13 Apr 2015 16:35:36 +0000 (17:35 +0100)]
examples: keep scrubby command consistent

scrubby has two options, wav and playbin. Wav takes a file location so make
the playbin option take a file location as well instead of an uri. This also
means the usage help string will be correct for the playbin option.

9 years agoexamples: no need to set intermediate states
Luis de Bethencourt [Mon, 13 Apr 2015 16:28:45 +0000 (17:28 +0100)]
examples: no need to set intermediate states

9 years agoexamples: wavparse doesn't need dynamic linking
Luis de Bethencourt [Mon, 13 Apr 2015 15:09:26 +0000 (16:09 +0100)]
examples: wavparse doesn't need dynamic linking

In scrubby, there is no need to link wavparse with the sink dynamically.
The pad is available when the element is generated.

Change video and audio sinks to the automatically detected sinks.

9 years agovideodecoder: Break instead of return if default negotiation on GAP events fails
Sebastian Dröge [Sat, 11 Apr 2015 17:51:54 +0000 (19:51 +0200)]
videodecoder: Break instead of return if default negotiation on GAP events fails

Otherwise we're going to leak the event.

9 years agoapp, videorate: fix CFLAGS and LIBADD order
Tim-Philipp Müller [Fri, 10 Apr 2015 23:03:29 +0000 (00:03 +0100)]
app, videorate: fix CFLAGS and LIBADD order

Make sure local headers are included before installed -base.

9 years agoexamples: remove reference to 0.10 in playrec
Luis de Bethencourt [Fri, 10 Apr 2015 13:30:36 +0000 (14:30 +0100)]
examples: remove reference to 0.10 in playrec

9 years agoexamples: remove deprecated function in gtk-videooverlay
Luis de Bethencourt [Fri, 10 Apr 2015 12:41:39 +0000 (13:41 +0100)]
examples: remove deprecated function in gtk-videooverlay

gtk_widget_set_double_buffered () has been deprecated since GTK 3.14.
Also, widgets are realized automatically and gtk_wiget_realize () is only
meant to be used in widget implementations.

9 years agobasetextoverlay: fix buffer leak in chain function
Guillaume Desmottes [Thu, 9 Apr 2015 15:03:11 +0000 (17:03 +0200)]
basetextoverlay: fix buffer leak in chain function

If we don't consume the buffer by passing its reference to
overlay->text_buffer then we need to unref it.

Fix a leak with validate.file.playback.fast_forward.test5_mkv
when running inside Valgrind.

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

9 years agoappsrc: docs grammar fixes
Ilya Konstantinov [Wed, 8 Apr 2015 15:32:29 +0000 (18:32 +0300)]
appsrc: docs grammar fixes

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

9 years agoexamples: add example description to giosrc-mounting
Luis de Bethencourt [Thu, 9 Apr 2015 15:49:44 +0000 (16:49 +0100)]
examples: add example description to giosrc-mounting

Also, use GST_MESSAGE_TYPE instead of accessing the GstMessage structure

9 years agoaudiobasesink: fix ring buffer leak on open failure
Vincent Penquerc'h [Thu, 9 Apr 2015 12:00:02 +0000 (13:00 +0100)]
audiobasesink: fix ring buffer leak on open failure

9 years agoaudiobasesrc: fix ring buffer leak on open failure
Vincent Penquerc'h [Thu, 9 Apr 2015 11:59:38 +0000 (12:59 +0100)]
audiobasesrc: fix ring buffer leak on open failure

9 years agoexamples: reuse variables in encoding example
Luis de Bethencourt [Thu, 9 Apr 2015 10:23:25 +0000 (11:23 +0100)]
examples: reuse variables in encoding example

9 years agoaudiodecoder: Don't post error messages while holding the stream lock
Sebastian Dröge [Thu, 9 Apr 2015 03:49:24 +0000 (20:49 -0700)]
audiodecoder: Don't post error messages while holding the stream lock

9 years agoaudiodecoder: Don't get and parse the current srcpad caps
Sebastian Dröge [Thu, 9 Apr 2015 03:48:39 +0000 (20:48 -0700)]
audiodecoder: Don't get and parse the current srcpad caps

We only get here if we don't have any srcpad caps, and we're going
to override the GstAudioInfo a few lines below anyway without ever
using it if for whatever reason we get caps here.

9 years agovideodecoder: Try to invent default caps instead of setting none at all when getting...
Sebastian Dröge [Thu, 9 Apr 2015 03:45:58 +0000 (20:45 -0700)]
videodecoder: Try to invent default caps instead of setting none at all when getting a GAP event before CAPS

Otherwise we would forward the GAP event without ever providing any caps,
which then would make decodebin expose a srcpad without any caps set. That's
confusing for applications and can lead to all kinds of interesting bugs.

Instead do the same as already is done in GstAudioDecoder, and try to invent
caps based on the sinkpad caps and the caps allowed by downstream and the
srcpad template caps.

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

9 years agodecodebin: Also log the pointer value of sticky events in debug output
Sebastian Dröge [Thu, 9 Apr 2015 03:44:15 +0000 (20:44 -0700)]
decodebin: Also log the pointer value of sticky events in debug output

Makes it easier to follow them in the debug logs.

9 years agoexamples: remove unused return value in addstream
Luis de Bethencourt [Wed, 8 Apr 2015 16:12:22 +0000 (17:12 +0100)]
examples: remove unused return value in addstream

Removing unused return value of pause_play_stream ().
Fixing code style to satisfy the git hook.

9 years agoexamples: avoid sprinkle running endlessly
Luis de Bethencourt [Wed, 8 Apr 2015 14:31:39 +0000 (15:31 +0100)]
examples: avoid sprinkle running endlessly

Quit sprinkle when there are no more frequencies to remove.
Also rename for readability the check for linking elements.

9 years agotests: Use AM_TESTS_ENVIRONMENT
Edward Hervey [Wed, 8 Apr 2015 14:15:43 +0000 (16:15 +0200)]
tests: Use AM_TESTS_ENVIRONMENT

Needed by the new automake test runner

9 years agortp: rtcpbuffer: fix typo in enum
Tim-Philipp Müller [Tue, 7 Apr 2015 15:43:59 +0000 (16:43 +0100)]
rtp: rtcpbuffer: fix typo in enum

and in docs. Spotted by Rob Swain.

9 years agotests: remove unused filename string from appsink-src2
Luis de Bethencourt [Tue, 7 Apr 2015 14:32:35 +0000 (15:32 +0100)]
tests: remove unused filename string from appsink-src2

9 years agotests: check file exists before running appsink-src
Luis de Bethencourt [Tue, 7 Apr 2015 14:30:30 +0000 (15:30 +0100)]
tests: check file exists before running appsink-src

9 years agotests: add missing license headers for example apps
Luis de Bethencourt [Tue, 7 Apr 2015 14:16:41 +0000 (15:16 +0100)]
tests: add missing license headers for example apps

9 years ago{audio,video}decoder: Forward SEGMENT_DONE events immediately and drain decoders
Sebastian Dröge [Tue, 7 Apr 2015 02:20:00 +0000 (19:20 -0700)]
{audio,video}decoder: Forward SEGMENT_DONE events immediately and drain decoders

Otherwise we're going to wait with draining until the next data comes, which
is a bit suboptimal and might take a long time... or maybe never happens.

9 years agotests: appsrc: clean up block_deadlock test and make it work in valgrind
Tim-Philipp Müller [Sun, 5 Apr 2015 12:53:38 +0000 (13:53 +0100)]
tests: appsrc: clean up block_deadlock test and make it work in valgrind

Remove all the bus watch and main loop code from the block_deadlock
test, it's not needed: neither pipeline will ever post an EOS or ERROR
message on the bus, and we're the only ones posting an error, from a
timeout. Might just as well just sleep for a bit and then do whatever
we want to do.

Don't gratuitiously set tcase timeout, just use whatever is the
default (or set via the environment).

Make individual pipeline runs shorter.

Check for valgrind and only do a handful iterations when running
in valgrind, not 100 (each iteration takes about 4s on a core i7).

Make videotestsrc output smaller buffers than the default resolution,
we don't care about the buffer contents here anyway.

Fixes test timeouts when run in valgrind.

9 years agotests: multisocketsink: fix flaky unit test
Tim-Philipp Müller [Sun, 5 Apr 2015 11:30:39 +0000 (12:30 +0100)]
tests: multisocketsink: fix flaky unit test

On slower systems, or under high system load (e.g. check-valgrind),
the sending_buffers_with_9_gstmemories test would sometimes fail,
because the read call only returns 32 bytes instead of the full
36 bytes expected. This is because multisocketsink might end up
doing a partial write of 32 bytes first, and then write the
missing 4 bytes later, but since we don't wait for all of data
to be written, there's a short window where our read call in the
unit test might then only receive the 32 bytes written so far,
which makes it deeply unhappy.

Instead, make sure we loop to read all bytes.

9 years agotcpserversink: don't error out if clients send us something, just ignore it
Tim-Philipp Müller [Sat, 4 Apr 2015 20:38:40 +0000 (21:38 +0100)]
tcpserversink: don't error out if clients send us something, just ignore it

We don't expect clients to send us any data, but if they do, just
ignore it. Web browsers might send us an HTTP request for example,
but some will still be happy if we just send them data without
a proper HTTP response.

There was a bug in the reading code path. We only have a small
read buffer and would provoke an EWOULDBLOCK trying to read
because we don't bail out of the loop early enough.

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

9 years agotests: basetime: fix timeouts when running under valgrind
Tim-Philipp Müller [Sat, 4 Apr 2015 00:23:48 +0000 (01:23 +0100)]
tests: basetime: fix timeouts when running under valgrind

This test sets a rather short timeout, increase this when
we run under valgrind. Also add a short sleep to the
fakesrc ! fakesink pipeline to avoid thrashing the CPU,
which would often not stop the main loop when it should.

Also fix wrong (0.10) return value from pad probe callback.

9 years agovideorate: downgrade left-over ERROR debug message
Tim-Philipp Müller [Fri, 3 Apr 2015 23:46:46 +0000 (00:46 +0100)]
videorate: downgrade left-over ERROR debug message

9 years agovideorate: fix a couple of memory leaks
Tim-Philipp Müller [Fri, 3 Apr 2015 23:42:52 +0000 (00:42 +0100)]
videorate: fix a couple of memory leaks

tests: videorate: fix leak in unit test

9 years agodoc: Add gst_video_encoder_get_allocator() to doc
Nicolas Dufresne [Fri, 3 Apr 2015 22:18:32 +0000 (18:18 -0400)]
doc: Add gst_video_encoder_get_allocator() to doc

9 years agotag: exiftag: don't try to convert utf-8 to latin1 if string is ASCII already
Tim-Philipp Müller [Fri, 3 Apr 2015 20:00:53 +0000 (21:00 +0100)]
tag: exiftag: don't try to convert utf-8 to latin1 if string is ASCII already

Bypass g_convert/iconv if there's nothing to convert. That way,
conversion won't fail on systems where iconv doesn't support
converting utf-8 to latin1 and there's nothing to convert.

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

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Fri, 3 Apr 2015 17:57:43 +0000 (18:57 +0100)]
Automatic update of common submodule

From bc76a8b to c8fb372

9 years agooggdemux: fix wrong duration on partial streams with a skeleton index
Vincent Penquerc'h [Thu, 12 Mar 2015 16:01:48 +0000 (16:01 +0000)]
oggdemux: fix wrong duration on partial streams with a skeleton index

When a stream has a skeleton index, the stream time is taken from that
index. However, when part of the stream is captured, the index is
invalid as its offsets are now wrong. To avoid this, we ignore the index
when the last offset points beyond the end of the stream (when its
byte length is known).

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

9 years agotextoverlay: fix disappearing text with high deltax
Vincent Penquerc'h [Wed, 18 Mar 2015 16:32:53 +0000 (16:32 +0000)]
textoverlay: fix disappearing text with high deltax

When deltax is large enough to cause the text to push past the
width of the frame, it would disappear due to a bug in setting
the layout width.

While there, fix a log printing an incorrect width to set.

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

9 years agooggmux: fix deadlock when not pulling a buffer from collectpads
Vincent Penquerc'h [Wed, 17 Dec 2014 12:17:09 +0000 (12:17 +0000)]
oggmux: fix deadlock when not pulling a buffer from collectpads

oggmux keeps a cached buffer per pad, and pulls buffers from
collectpads to this cached buffer for all pads before processing
the best pad. In some cases, the move from collectpads buffer
to cached buffer is delayed till next call. However, when there
is only one pad, this can't be delayed till next call as there
will be a deadlock since collectpads has no other pad to push to.

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

9 years agodecodebin2: fix deadlock on chain shutdown
Vincent Penquerc'h [Wed, 25 Mar 2015 15:36:38 +0000 (15:36 +0000)]
decodebin2: fix deadlock on chain shutdown

When shutting down the chain, we can get a deadlock when removing
a pad, if that chain was being busy streaming but blocked (eg, while
waiting for a queue to have free space).

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

9 years agoexamples: add license header to scrubby
Luis de Bethencourt [Fri, 3 Apr 2015 12:20:58 +0000 (13:20 +0100)]
examples: add license header to scrubby

9 years agoaudio,video: use gst_segment_is_equal instead of memcmp
Vincent Penquerc'h [Thu, 19 Mar 2015 10:48:15 +0000 (10:48 +0000)]
audio,video: use gst_segment_is_equal instead of memcmp

memcmp will blindly compare the reserved fields, as well as any
padding the compiler may choose to sprinkle in GstSegment.

Fixes valgrind complaints in unit tests, as well as some found via
https://bugzilla.gnome.org/show_bug.cgi?id=738216

9 years agoxvimagsink: fix failure to allocate large shared memory blocks
Vincent Penquerc'h [Fri, 4 Apr 2014 11:32:14 +0000 (12:32 +0100)]
xvimagsink: fix failure to allocate large shared memory blocks

A previous patch increased allocations by 15 bytes in order to ensure
16 byte alignment for g_malloc blocks. However, shared memory is
already block aligned, and this extra 15 bytes caused allocation
to fail when we were already allocating to the shared memory limit,
which is a lot smaller than typical available RAM.

Fix this by removing the alignment slack when allocating shared
memory.

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

9 years agoximage: do not allocate extra alignment slack for shared memory
Vincent Penquerc'h [Fri, 4 Apr 2014 11:40:14 +0000 (12:40 +0100)]
ximage: do not allocate extra alignment slack for shared memory

A previous patch increased allocations by 15 bytes in order to ensure
16 byte alignment for g_malloc blocks. However, shared memory is
already block aligned, and this extra 15 bytes is not needed. Since
shared memory limits are low compared to RAM, we remove this waste.

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

9 years agotests: require Gtk+ 3.10 for examples
Chihyoung Kim [Fri, 3 Apr 2015 04:56:28 +0000 (13:56 +0900)]
tests: require Gtk+ 3.10 for examples

Fixes build of playback and seek tests when an
older Gtk+ version is present on the system.

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

9 years agovideorate: Detect framerate if not forced to variable downstream
Thibault Saunier [Tue, 9 Dec 2014 12:18:42 +0000 (13:18 +0100)]
videorate: Detect framerate if not forced to variable downstream

In case upstream does not provide videorate with framerate information,
it will detect the current framerate from the buffer it received,
but if downstream forces the use of variable framerate (most probably
through the use of a caps filter with framerate = 0 / 1), videorate will
respect that.

And add some unit tests

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

9 years agovideorate: Do not loop forever pushing first buffer when variable framerate
Thibault Saunier [Tue, 9 Dec 2014 10:31:30 +0000 (11:31 +0100)]
videorate: Do not loop forever pushing first buffer when variable framerate

In the case the framerate is variable (represented by framerate=0/1),
we currently end up loop pushing the first buffer and then recompute
diff1 and diff2 without updating the videorate->next_ts at all
leading to infinitely looping pushing that first buffer.

In the case of variable framerate, we should just compute the next_ts
as previous_pts + previous_duration.

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

9 years agoplayback-test: update deprecated API
Luis de Bethencourt [Thu, 2 Apr 2015 13:32:15 +0000 (14:32 +0100)]
playback-test: update deprecated API

9 years agotests: fix deprecated API in colorkey and videooverlay
Luis de Bethencourt [Thu, 2 Apr 2015 10:33:12 +0000 (11:33 +0100)]
tests: fix deprecated API in colorkey and videooverlay

9 years agoexamples: fix deprecated API in scrubby
Luis de Bethencourt [Thu, 2 Apr 2015 10:14:08 +0000 (11:14 +0100)]
examples: fix deprecated API in scrubby

9 years agooggdemux: don't use GST_ERROR() for debug messages
Guillaume Desmottes [Thu, 19 Mar 2015 13:34:07 +0000 (14:34 +0100)]
oggdemux: don't use GST_ERROR() for debug messages

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

9 years agotests: use elapsed label of volume example
Luis de Bethencourt [Wed, 1 Apr 2015 14:58:28 +0000 (15:58 +0100)]
tests: use elapsed label of volume example

9 years agoaudioconvert: avoid float calculations when mixing integer-formatted channels
Bernhard Miller [Mon, 30 Mar 2015 09:24:46 +0000 (11:24 +0200)]
audioconvert: avoid float calculations when mixing integer-formatted channels

The patch calculates a second channel mixing matrix from the current one. The
matrix contains the original values * (2^10) as integers. This matrix is used
when integer-formatted channels are mixed.

On a ARM Cortex-A8, single core, 800MHz this improves performance in a
testcase from 29s to 9s for downmixing 6 channels to stereo.

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

9 years agotests: fix deprecated API in audio volume example
Luis de Bethencourt [Wed, 1 Apr 2015 14:02:13 +0000 (15:02 +0100)]
tests: fix deprecated API in audio volume example

9 years agojsseek: update deprecated GTK API
Luis de Bethencourt [Wed, 1 Apr 2015 13:37:23 +0000 (14:37 +0100)]
jsseek: update deprecated GTK API

9 years agojsseek: switch deprecated GtkTable for GtkGrid
Luis de Bethencourt [Wed, 1 Apr 2015 12:50:51 +0000 (13:50 +0100)]
jsseek: switch deprecated GtkTable for GtkGrid

9 years agotests: update deprecated GTK API in audiomix
Luis de Bethencourt [Wed, 1 Apr 2015 10:01:57 +0000 (11:01 +0100)]
tests: update deprecated GTK API in audiomix

9 years agointrospection: Don't use g-ir-scanner cache at compile time
Edward Hervey [Tue, 31 Mar 2015 09:21:25 +0000 (11:21 +0200)]
introspection: Don't use g-ir-scanner cache at compile time

It pollutes user directories and we don't need to cache it

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

9 years agoid3v2: ignore RVA2 tags with more than 64 peak bits
Vincent Penquerc'h [Thu, 10 Apr 2014 11:03:05 +0000 (12:03 +0100)]
id3v2: ignore RVA2 tags with more than 64 peak bits

The spec for this does not say nor imply how this should be
interpreted.  The previous code would try to shift by 64 bits,
which is undefined.

Coverity 1195119

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

9 years agoplaybin: avoid possible deference of null pointer
Luis de Bethencourt [Mon, 30 Mar 2015 09:50:45 +0000 (10:50 +0100)]
playbin: avoid possible deference of null pointer

For safety, check the pointer playbin->curr_group is valid before
reading parameters of the structure.

CID #1291624

9 years agooggdemux: resurrect some flow return handling
Mark Nauwelaerts [Sat, 28 Mar 2015 15:59:23 +0000 (16:59 +0100)]
oggdemux: resurrect some flow return handling

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

9 years agoappsrc: handle a sample not having caps or a buffer more gracefully
Nicola Murino [Fri, 27 Mar 2015 19:16:28 +0000 (20:16 +0100)]
appsrc: handle a sample not having caps or a buffer more gracefully

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

9 years agobasedepay: Handle initial gaps and no clock-base
Nicolas Dufresne [Fri, 27 Mar 2015 20:22:36 +0000 (16:22 -0400)]
basedepay: Handle initial gaps and no clock-base

When generating segment, we can't assume the first buffer is actually
the first expected one. If it's not, we need to adjust the segment to
start a bit before.

Additionally, we if don't know when the stream is suppose to have
started (no clock-base in caps), it means we need to keep everything in
running time and only rely on jitterbuffer to synchronize.

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

9 years agodecodebin: improve debug message by printing the object
Thiago Santos [Fri, 27 Mar 2015 02:53:44 +0000 (23:53 -0300)]
decodebin: improve debug message by printing the object

Print the pad object that EOS'd too early

9 years agovideoencoder: Keep sticky events around when doing a soft reset
Song Bing [Fri, 27 Mar 2015 05:39:43 +0000 (13:39 +0800)]
videoencoder: Keep sticky events around when doing a soft reset

The current code will first discard all frames, and then tries to copy
all sticky events from the (now discarded) frames. Let's change the order.

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

9 years agoriff: Add FLLR tag
David Schleef [Fri, 27 Mar 2015 01:03:12 +0000 (18:03 -0700)]
riff: Add FLLR tag

9 years agobasedepayload: Fix generated segment
Nicolas Dufresne [Wed, 25 Mar 2015 22:40:25 +0000 (18:40 -0400)]
basedepayload: Fix generated segment

This fixes playback position in RTSP.

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

9 years agoplaybin: ignore new pads if it is shutting down
Thiago Santos [Wed, 25 Mar 2015 11:20:03 +0000 (08:20 -0300)]
playbin: ignore new pads if it is shutting down

If a new pad is added after playbin has been put to READY/NULL it
should ignore new pads as it is shutting down.

This can happen when the pipeline fails to preroll (is still in READY)
and the user gives up on waiting or an error that doesn't reach
the demuxer occurs (on some event handling) and it will continue to
work and exposing pads while playbin has been put to NULL.

Without this check an input-selector is created and set to PAUSED
state, preventing playbin from properly shutting down in case it
has data blocked inside it.

9 years agoRevert "theoradec: Disable usage of crop meta"
Nicolas Dufresne [Tue, 24 Mar 2015 19:47:20 +0000 (15:47 -0400)]
Revert "theoradec: Disable usage of crop meta"

This reverts commit da52868f468bd75ddb595a3eb52aaa38ecbbac41.

9 years agovideorate: Don't leak the pools
Nicolas Dufresne [Tue, 24 Mar 2015 19:18:36 +0000 (15:18 -0400)]
videorate: Don't leak the pools

gst_query_set_nth_alloction_pool() is transfer none on the pool, so we must
unref the pool when done.

9 years agotheoradec: Disable usage of crop meta
Nicolas Dufresne [Sun, 1 Mar 2015 16:44:22 +0000 (11:44 -0500)]
theoradec: Disable usage of crop meta

This is a temporary workaround that simply disables usage of crop
meta for now.

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

9 years agoaudioconvert: Eliminate unsigned quantizers
Ilya Konstantinov [Tue, 24 Mar 2015 15:28:51 +0000 (17:28 +0200)]
audioconvert: Eliminate unsigned quantizers

audio_convert_convert unpacks to default format (signed) before calling
quantize, and the unsigned variants were equivalent to signed anyway,
so we just get rid of them.

9 years agoaudioconvert: Avoid int division in quantization
Ilya Konstantinov [Tue, 24 Mar 2015 01:01:22 +0000 (03:01 +0200)]
audioconvert: Avoid int division in quantization

Since range size is always 2^n, we can simply use modulo (implemented
with a bitmask).

The previous implementation used 64-bit integer division, which is
done in software on ARMv7. Although the divisor was constant, the
division could not be transformed into "multiplication by magic number"
since the dividend was 64-bit.

The now-unused and not-so-fast gst_fast_random_(u)int32_range functions
were removed.

Also, implementing bug fixes:

1) ADD_DITHER_TPDF_HF_I no longer discards bias.

2) We change TPDF's noise range to be the same as RPDF's. Previously,
RPDF's noise ranged:
  { bias - dither, bias + dither }
while TPDF's noise ranged:
  { bias/2 - dither/2, bias/2 + dither/2 - 1 } +
  { bias/2 - dither/2, bias/2 + dither/2 - 1 } =
  { bias - dither, bias + dither - 2 }
Now, both range:
  { bias - dither, bias + dither - 1 }

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

9 years agodecodebin2: Set multiqueue sizes before use-buffering.
Duncan Palmer [Sun, 15 Feb 2015 23:25:03 +0000 (09:25 +1000)]
decodebin2: Set multiqueue sizes before use-buffering.

This fixes a race where the use-buffering property on a multiqueue was
set before the queue depth was changed from it's high preroll limits to
lower playback limits. This resulted in buffering messages being emitted
by the multiqueue in the short window between use-buffering being
set and the queue depth being reset.

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

9 years agoRevert "fdmemory: freed pointer will always be 0"
Luis de Bethencourt [Tue, 24 Mar 2015 10:46:44 +0000 (10:46 +0000)]
Revert "fdmemory: freed pointer will always be 0"

This reverts commit 7fbcefb753f944a79eae6957ea2789c960eb9eea.