platform/upstream/gstreamer.git
13 years agoadder: send a flush event before trying to get the stream lock
Vincent Penquerc'h [Fri, 16 Dec 2011 17:25:10 +0000 (17:25 +0000)]
adder: send a flush event before trying to get the stream lock

This avoids hanging when the streaming thread is busy in _chain
waiting for preroll.

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

13 years agooggdemux: assume live stream if byte size cannot be determined
Vincent Penquerc'h [Fri, 16 Dec 2011 15:27:24 +0000 (15:27 +0000)]
oggdemux: assume live stream if byte size cannot be determined

This prevents trying to seek and failing, then ending up unable
to stream because we can't get back at the headers.
A more robust way would be to find a good place to reinject the
headers when a seek fails, but I can't seem to get this to work.

13 years agotag: exif: do not include \0 in size passed to g_convert
Thiago Santos [Thu, 15 Dec 2011 14:01:01 +0000 (11:01 -0300)]
tag: exif: do not include \0 in size passed to g_convert

When using g_convert, we should only pass the length
of the string content (without the \0) as g_convert will
only parse the real contents when changing formats. Including
the \0 causes it to add another \0, increasing the string
size when not needed.

For example, when writting a North geo location ref entry, that should
be a string with a single N letter, it would write:
"N\0\0", causing the string to have size 3, instead of 2 as expected.

In our case, we can pass -1 and let g_convert calculate the strlen as
we don't use the length anywhere else.

This fixes jifmux's tests on gst-plugins-bad.

13 years agoadder: port to GstCollectPads2
Vincent Penquerc'h [Wed, 14 Dec 2011 18:26:07 +0000 (18:26 +0000)]
adder: port to GstCollectPads2

13 years agodecodebin2: tweak chain topology description
Mark Nauwelaerts [Mon, 3 Oct 2011 12:51:56 +0000 (14:51 +0200)]
decodebin2: tweak chain topology description

... to also properly indicate chain's endpad if no elements are in the
chain (due to the endpad being a raw demuxer pad, or one setup without
decoders since uridecodebin or higher up decided not to need those).

13 years agobaseaudiosink: fix late buffer leak
Vincent Penquerc'h [Tue, 13 Dec 2011 12:55:45 +0000 (12:55 +0000)]
baseaudiosink: fix late buffer leak

13 years agosubtitleoverlay: Refactor code to check if a property exists on an element
Sebastian Dröge [Tue, 13 Dec 2011 12:28:47 +0000 (13:28 +0100)]
subtitleoverlay: Refactor code to check if a property exists on an element

13 years agosubtitleoverlay: Refactor autoplugging code and select overlay element by rank too
Sebastian Dröge [Tue, 13 Dec 2011 12:20:24 +0000 (13:20 +0100)]
subtitleoverlay: Refactor autoplugging code and select overlay element by rank too

Previously we always used textoverlay for rendering the output of
a parser, now the same code as for the renderers is used and the
element with the highest rank is used.

Fixes bug #663822.

13 years agoglib-compat: Add license boilerplate for LGPL
Sebastian Dröge [Mon, 12 Dec 2011 10:54:56 +0000 (11:54 +0100)]
glib-compat: Add license boilerplate for LGPL

13 years agopo: update translations
Tim-Philipp Müller [Sat, 10 Dec 2011 01:36:14 +0000 (01:36 +0000)]
po: update translations

13 years agoAdd latest header file to spec file
Christian Fredrik Kalager Schaller [Fri, 9 Dec 2011 15:39:12 +0000 (15:39 +0000)]
Add latest header file to spec file

13 years agotypefindfunctions: only typefind text with a BOM as text/utf16 or text/utf32
Tim-Philipp Müller [Fri, 9 Dec 2011 01:31:20 +0000 (01:31 +0000)]
typefindfunctions: only typefind text with a BOM as text/utf16 or text/utf32

We added the utf typefinder because the mp3 typefinder was a tad
overzealous when it came to typefinding things as mp3, and replaced
it with even more overzealous utf16/32 typefinders.

Fixes unit test.

13 years agovideo: make composition_blend() return a boolean
Tim-Philipp Müller [Wed, 7 Dec 2011 18:45:28 +0000 (18:45 +0000)]
video: make composition_blend() return a boolean

Not that anyone will ever check that, and it's not clear what
they're supposed to do if it fails, but at least it's there.

13 years agodocs: add new API to docs
Tim-Philipp Müller [Wed, 7 Dec 2011 18:31:58 +0000 (18:31 +0000)]
docs: add new API to docs

13 years agovideo: add seqnum getters for overlay compositions and rectangles
Tim-Philipp Müller [Wed, 7 Dec 2011 17:57:08 +0000 (17:57 +0000)]
video: add seqnum getters for overlay compositions and rectangles

API: gst_video_overlay_composition_get_seqnum()
API: gst_video_overlay_rectangle_get_seqnum()

13 years agovideo: support any type of video in _parse_caps
Thibault Saunier [Wed, 23 Nov 2011 18:45:57 +0000 (15:45 -0300)]
video: support any type of video in _parse_caps

Slight change in semantics for convenience. Shouldn't cause any
problems since this function is usually only used on pre-filtered
caps and not random caps, and it's hard to imagine a situation
where someone would want to rely on the previous behaviour.

13 years agovideorate: don't leak previous buffer when shutting down
Tim-Philipp Müller [Tue, 6 Dec 2011 21:57:32 +0000 (21:57 +0000)]
videorate: don't leak previous buffer when shutting down

Implement stop vfunc after port to basetransform, so we
can clean up properly. Fixes make elements/videorate.valgrind

13 years agotests: fix calculation of last pixel offset in video unit test
Tim-Philipp Müller [Tue, 6 Dec 2011 20:30:55 +0000 (20:30 +0000)]
tests: fix calculation of last pixel offset in video unit test

And check the right buffer (pix2) in one case.

13 years agoexamples: fix build of fft example
Tim-Philipp Müller [Tue, 6 Dec 2011 15:01:05 +0000 (15:01 +0000)]
examples: fix build of fft example

Should link against our own libgstfft-0.10.

13 years agovideo: fix leak in gst_video_format_new_template_caps()
Tim-Philipp Müller [Tue, 6 Dec 2011 14:55:38 +0000 (14:55 +0000)]
video: fix leak in gst_video_format_new_template_caps()

g_value_reset() is not the same as g_value_unset()

13 years agosubtitleoverlay: add suport for hardware accelerated videos
Thibault Saunier [Wed, 23 Nov 2011 18:43:46 +0000 (15:43 -0300)]
subtitleoverlay: add suport for hardware accelerated videos

Don't plug converters for non-raw video.

13 years agovideo: don't use deprecated GStaticMutex with newer glib versions
Tim-Philipp Müller [Mon, 5 Dec 2011 15:48:07 +0000 (15:48 +0000)]
video: don't use deprecated GStaticMutex with newer glib versions

13 years agoexamples: dist fft sub-directory
Tim-Philipp Müller [Mon, 5 Dec 2011 15:34:42 +0000 (15:34 +0000)]
examples: dist fft sub-directory

13 years agotextoverlay: unpremultiply text image
Thibault Saunier [Mon, 28 Nov 2011 13:05:50 +0000 (10:05 -0300)]
textoverlay: unpremultiply text image

The GstVideoOverlayComposition only supports unpremultiplied ARGB
(for now anyway, support for pre-multiplied alpha is planned.)

13 years agotextoverlay: Attach OverlayComposition to buffers when needed
Thibault Saunier [Wed, 23 Nov 2011 15:49:02 +0000 (12:49 -0300)]
textoverlay: Attach OverlayComposition to buffers when needed

Add video/x-surface support in the caps
We should then attach it whenever the sink supports it, but this
is working for the time being

13 years agotextoverlay: Make the text_image data a buffer
Thibault Saunier [Fri, 18 Nov 2011 16:22:52 +0000 (13:22 -0300)]
textoverlay: Make the text_image data a buffer

This way we won't free data that would be attached to some buffer.

13 years agotextoverlay: Sync the caps with the new supported formats
Thibault Saunier [Fri, 18 Nov 2011 14:04:47 +0000 (11:04 -0300)]
textoverlay: Sync the caps with the new supported formats

Thanks to the use of the new video composition library, we gain support to
more colospaces and formats, let's state it.

13 years agotextoverlay: Make use of the new video blending utility
Thibault Saunier [Wed, 16 Nov 2011 20:54:43 +0000 (17:54 -0300)]
textoverlay: Make use of the new video blending utility

13 years agotests: add basic unit test for video overlay composition and rectangles
Tim-Philipp Müller [Fri, 25 Nov 2011 16:46:09 +0000 (16:46 +0000)]
tests: add basic unit test for video overlay composition and rectangles

13 years agovideo: add video overlay composition API for subtitles
Tim-Philipp Müller [Sat, 12 Nov 2011 14:59:35 +0000 (14:59 +0000)]
video: add video overlay composition API for subtitles

Basic API to attach overlay rectangles to buffers,
or blend them directly onto raw video buffers.

To be used primarily for things like subtitles or
logo overlays, not meant to replace videomixer.

Allows us to associate subtitle overlays with
non-raw video surface buffers, so that subtitles
are not lost and can instead be rendered later
when those surfaces are displayed or converted,
whilst re-using all the existing overlay plugins
and not having to teach them about our special
video surfaces. Could also have been made part
of the surface buffer abstraction of course, but
a secondary goal was to consolidate the blending
code for raw video into libgstvideo, and this
kind of API allows us to do both in a way that's
minimally invasive to existing elements, and at
the same time is fairly intuitive.

More features and extensions like the ability to
pass the source data or text/markup directly will
be added later.

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

API: gst_video_buffer_get_overlay_composition()
API: gst_video_buffer_set_overlay_composition()

API: gst_video_overlay_composition_new()
API: gst_video_overlay_composition_add_rectangle()
API: gst_video_overlay_composition_n_rectangles()
API: gst_video_overlay_composition_get_rectangle()
API: gst_video_overlay_composition_make_writable()
API: gst_video_overlay_composition_copy()
API: gst_video_overlay_composition_ref()
API: gst_video_overlay_composition_unref()

API: gst_video_overlay_composition_blend()

API: gst_video_overlay_rectangle_new_argb()
API: gst_video_overlay_rectangle_get_pixels_argb()
API: gst_video_overlay_rectangle_get_pixels_unscaled_argb()
API: gst_video_overlay_rectangle_get_render_rectangle()
API: gst_video_overlay_rectangle_set_render_rectangle()
API: gst_video_overlay_rectangle_copy()
API: gst_video_overlay_rectangle_ref()
API: gst_video_overlay_rectangle_unref()

13 years agovideo: hide private video-blend.[ch] from gobject-introspection
Tim-Philipp Müller [Wed, 23 Nov 2011 00:31:18 +0000 (00:31 +0000)]
video: hide private video-blend.[ch] from gobject-introspection

And remove unused fields from helper structure.

13 years agovideo: add fallbacks for compilation without orc
Tim-Philipp Müller [Tue, 15 Nov 2011 18:00:00 +0000 (18:00 +0000)]
video: add fallbacks for compilation without orc

13 years agovideo: add some internal helper functions for image blending
Thibault Saunier [Mon, 17 Oct 2011 15:25:11 +0000 (17:25 +0200)]
video: add some internal helper functions for image blending

This could be improved if we decide we don't need it to
be this generic/flexible.

13 years agoxoverlay: Fix mistakes in the sample code
Sebastian Dröge [Mon, 5 Dec 2011 08:38:33 +0000 (09:38 +0100)]
xoverlay: Fix mistakes in the sample code

Fixes bug #665430.

13 years agoSuppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
Tim-Philipp Müller [Sun, 4 Dec 2011 20:50:25 +0000 (20:50 +0000)]
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly

GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.

13 years agoalsamixer: use GRectMutext instead of GStaticRecMutex with newer glib versions
Tim-Philipp Müller [Sun, 4 Dec 2011 20:38:19 +0000 (20:38 +0000)]
alsamixer: use GRectMutext instead of GStaticRecMutex with newer glib versions

13 years agoalsamixer: embed static mutexes into the mixer structure
Tim-Philipp Müller [Sun, 4 Dec 2011 20:21:26 +0000 (20:21 +0000)]
alsamixer: embed static mutexes into the mixer structure

instead of allocating them dynamically

13 years agotools, tests: g_thread_init() is deprecated in glib master
Tim-Philipp Müller [Sun, 4 Dec 2011 17:02:39 +0000 (17:02 +0000)]
tools, tests: g_thread_init() is deprecated in glib master

It's not needed any longer.

13 years agoWork around deprecated thread API in glib master
Tim-Philipp Müller [Sun, 4 Dec 2011 16:43:38 +0000 (16:43 +0000)]
Work around deprecated thread API in glib master

Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.

Replace g_thread_create() with g_thread_try_new().

13 years agoxmpwriter: update for thread API deprecations in glib master
Tim-Philipp Müller [Sun, 4 Dec 2011 15:23:21 +0000 (15:23 +0000)]
xmpwriter: update for thread API deprecations in glib master

13 years agofft-example: re-add Makefile.am
Stefan Sauer [Sun, 4 Dec 2011 12:43:06 +0000 (13:43 +0100)]
fft-example: re-add Makefile.am

13 years agoconfigure: trim trailing whitespace
Stefan Sauer [Fri, 2 Dec 2011 22:35:50 +0000 (23:35 +0100)]
configure: trim trailing whitespace

13 years agotests: add a test for fft result value-ranges
Stefan Sauer [Fri, 2 Dec 2011 22:34:47 +0000 (23:34 +0100)]
tests: add a test for fft result value-ranges

Add a small example that uses ffts of various types and parameters and check the
result value ranges.

13 years agovarious: typo fixes
Piotr Fusik [Tue, 13 Sep 2011 19:10:43 +0000 (21:10 +0200)]
various: typo fixes

Fix typos in code and docs. Fixes. #658984

13 years agoadder: be more graceful in the clipfunction
Stefan Sauer [Thu, 1 Dec 2011 10:59:17 +0000 (11:59 +0100)]
adder: be more graceful in the clipfunction

Doing dynamic pipelines is hard in 0.10. As we don't have the sticky events in
0.10 and sending such events in special elements like adder and tee was outvoted
on last attempt, be graceful to the misbehaviour instead.

13 years agotests: fix caps leak in audioresample tests
Tim-Philipp Müller [Thu, 1 Dec 2011 01:22:19 +0000 (01:22 +0000)]
tests: fix caps leak in audioresample tests

13 years agotests: fix memory leak in basetime test
Tim-Philipp Müller [Thu, 1 Dec 2011 01:07:26 +0000 (01:07 +0000)]
tests: fix memory leak in basetime test

13 years agoplaybin2: tone down debug message about file URIs with spaces
Tim-Philipp Müller [Wed, 30 Nov 2011 23:58:19 +0000 (23:58 +0000)]
playbin2: tone down debug message about file URIs with spaces

Complain a bit less loudly about URIs that have not been
escaped properly.

13 years agoRevert "alsasrc: Improve timestamp accuracy"
Tim-Philipp Müller [Wed, 30 Nov 2011 23:15:35 +0000 (23:15 +0000)]
Revert "alsasrc: Improve timestamp accuracy"

This reverts commit 0b774e0b7cf7a8ef1780fb6100228ca6e8ca8bcf.

13 years agoRevert "alsasrc: Fix some compilation errors"
Tim-Philipp Müller [Wed, 30 Nov 2011 23:15:22 +0000 (23:15 +0000)]
Revert "alsasrc: Fix some compilation errors"

This reverts commit 2b84f5bd74ddb50f7832917ea8b4dd38d005631b.

13 years agoRevert "alsa: Remove unused but set variable"
Tim-Philipp Müller [Wed, 30 Nov 2011 23:15:12 +0000 (23:15 +0000)]
Revert "alsa: Remove unused but set variable"

This reverts commit e9aed7f31c7e9e415f733e147140ce3ef2f57a61.

13 years agoRevert "alsasrc: fail gracefully when ALSA does not give timestamps"
Tim-Philipp Müller [Wed, 30 Nov 2011 23:15:03 +0000 (23:15 +0000)]
Revert "alsasrc: fail gracefully when ALSA does not give timestamps"

This reverts commit c7282a5718c7f31f84fb31b2c38fab0f9a38e2b0.

13 years agoRevert "alsasrc: handle the case where the drivers don't supply timestamps"
Tim-Philipp Müller [Wed, 30 Nov 2011 23:14:54 +0000 (23:14 +0000)]
Revert "alsasrc: handle the case where the drivers don't supply timestamps"

This reverts commit 8154b69112cdc4830cd6002ec6c1f2917d30437b.

13 years agoRevert "alsasrc: style fix"
Stefan Sauer [Mon, 28 Nov 2011 09:55:39 +0000 (10:55 +0100)]
Revert "alsasrc: style fix"

This reverts commit f70ca6d4cbfd2b672dcc7215814bf6b39ce2c3f8.

13 years agoplaysinkconvertbin: Don't send undefined NEWSEGMENT events to the internal elements
Sebastian Dröge [Wed, 30 Nov 2011 13:25:11 +0000 (14:25 +0100)]
playsinkconvertbin: Don't send undefined NEWSEGMENT events to the internal elements

This happens when the internal elements are added before any NEWSEGMENT
event arrived and in that case we shouldn't send a NEWSEGMENT event
to the internal elements at all. They will get the NEWSEGMENT event
from upstream later.

13 years agoplaybin2: Fix decoder-sink compatibility check for raw audio/video formats
Sebastian Dröge [Tue, 29 Nov 2011 13:15:45 +0000 (14:15 +0100)]
playbin2: Fix decoder-sink compatibility check for raw audio/video formats

If the sink supports raw audio/video, we first check
if the decoder could output any raw audio/video format
and assume it is compatible with the sink then. We don't
do a complete compatibility check here if converters
are plugged between the decoder and the sink because
the converters will convert between raw formats and
even if the decoder format is not supported by the decoder
a converter will convert it.

We assume here that the converters can convert between
any raw format.

Fixes bug #665120.

13 years agooggdemux: fix compiler warning
Alessandro Decina [Tue, 29 Nov 2011 08:11:21 +0000 (09:11 +0100)]
oggdemux: fix compiler warning

13 years agolibgstvideo: minor fixes to key unit events
Alessandro Decina [Tue, 29 Nov 2011 07:49:53 +0000 (08:49 +0100)]
libgstvideo: minor fixes to key unit events

Make out args to gst_video_event_parse_{downstream|upstream}_force_key_unit
optional, update libgstvideo.def and fix docs a bit.

API: gst_video_event_new_upstream_force_key_unit
API: gst_video_event_new_downstream_force_key_unit
API: gst_video_event_is_force_key_unit
API: gst_video_event_parse_upstream_force_key_unit
API: gst_video_event_parse_downstream_force_key_unit

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

13 years agolibgstvideo: Add force key unit events
Andoni Morales Alastruey [Sat, 4 Jun 2011 23:49:38 +0000 (01:49 +0200)]
libgstvideo: Add force key unit events

13 years agofft: Bracket public headers
Philippe Normand [Mon, 28 Nov 2011 19:11:09 +0000 (20:11 +0100)]
fft: Bracket public headers

This is especially needed if the gstfftw library is used from C++
code.

Fixes #665074

13 years agotypefindfunctions: Fix compiler warning
Philippe Normand [Mon, 28 Nov 2011 19:10:18 +0000 (20:10 +0100)]
typefindfunctions: Fix compiler warning

13 years agotypefind: fix build error
Alexey Fisher [Mon, 28 Nov 2011 18:03:50 +0000 (19:03 +0100)]
typefind: fix build error

fix build errors:
gsttypefindfunctions.c:248:25: error: 'low' may be used uninitialized in this function [-Werror=uninitialized]
gsttypefindfunctions.c:239:24: error: 'high' may be used uninitialized in this function [-Werror=uninitialized]

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
13 years agoplaysinkconvertbin: Fix stupid mistake in last commit
Sebastian Dröge [Mon, 28 Nov 2011 18:06:57 +0000 (19:06 +0100)]
playsinkconvertbin: Fix stupid mistake in last commit

13 years agoplaysinkconvertbin: Only return the converter caps if we actually have raw caps
Sebastian Dröge [Mon, 28 Nov 2011 18:03:54 +0000 (19:03 +0100)]
playsinkconvertbin: Only return the converter caps if we actually have raw caps

Fixes bug #664818 (hopefully).

13 years agoaudioresample: Don't emit DISCONT buffers if no discontinuity happened
Kipp Cannon [Mon, 28 Nov 2011 16:59:32 +0000 (17:59 +0100)]
audioresample: Don't emit DISCONT buffers if no discontinuity happened

audioresample is derived from GstBaseTransform, and one of
GstBaseTransform's traits is that if the derived element does not
produce an output buffer from some input buffer then the first output
buffer after that gets flaged as a discontinuity, whether or not the
buffer actually is discontinuous from the output buffer that preceded
it. When downsampling, the audioresample element requires more than
one input sample for each output sample, and if the ratio of input to
output sample rates is high enough and the input buffers short enough
it can come to pass that the resampler does not receive enough samples
on its input to produce any output.  Currently the resampler returns
GST_BASE_TRANSFORM_FLOW_DROPPED from the transform() method in this case,
causing the next buffer to be flagged as a discontinuity. If subsequent
elements in the pipeline reset themselves on disconts, this can cause
clicks and other undesireable behaviour.

Fixes bug #665004.

13 years agotypefind: typefind UTF-16 and UTF-32
Vincent Penquerc'h [Fri, 30 Sep 2011 19:00:50 +0000 (20:00 +0100)]
typefind: typefind UTF-16 and UTF-32

This avoids the MP3 typefinder from getting the highest score
every time it thinks there's something it might possibly be
able to parse.

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

13 years agoRevert "theoradec: move the QoS logic to libgstvideo"
Vincent Penquerc'h [Mon, 28 Nov 2011 13:27:29 +0000 (13:27 +0000)]
Revert "theoradec: move the QoS logic to libgstvideo"

This reverts commit 149a4ce390a78e21309b210f7daba9db5d42afe6.

*grumble* I managed to merge something I did not mean to.

13 years agoRevert "libgstvideo: add a new API to handle QoS events and dropping logic"
Vincent Penquerc'h [Mon, 28 Nov 2011 13:26:53 +0000 (13:26 +0000)]
Revert "libgstvideo: add a new API to handle QoS events and dropping logic"

This reverts commit eb03323fb683e06ed8e7f557037f13252f150c25.

*grumble* I managed to merge something I did not mean to.

13 years agovarious: fix pad template leaks
Vincent Penquerc'h [Mon, 28 Nov 2011 12:51:22 +0000 (12:51 +0000)]
various: fix pad template leaks

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

13 years agotheoradec: move the QoS logic to libgstvideo
Vincent Penquerc'h [Wed, 7 Sep 2011 15:04:14 +0000 (16:04 +0100)]
theoradec: move the QoS logic to libgstvideo

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

13 years agolibgstvideo: add a new API to handle QoS events and dropping logic
Vincent Penquerc'h [Mon, 5 Sep 2011 12:56:05 +0000 (13:56 +0100)]
libgstvideo: add a new API to handle QoS events and dropping logic

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

13 years agoaudioencoder: elaborate some documentation
Mark Nauwelaerts [Mon, 28 Nov 2011 10:30:18 +0000 (11:30 +0100)]
audioencoder: elaborate some documentation

13 years agoaudiodecoder: add some documentation
Mark Nauwelaerts [Mon, 28 Nov 2011 10:28:06 +0000 (11:28 +0100)]
audiodecoder: add some documentation

13 years agoaudiodecoder: really discard NULL decoded frame altogether
Mark Nauwelaerts [Mon, 21 Nov 2011 13:26:54 +0000 (14:26 +0100)]
audiodecoder: really discard NULL decoded frame altogether

... including any timestamp, rather than having that one influence base_ts.

13 years agoalsasrc: style fix
Stefan Sauer [Mon, 28 Nov 2011 09:55:39 +0000 (10:55 +0100)]
alsasrc: style fix

Use timestamp==0 instead of mixing it with !timestamp style checks.

13 years agoalsasrc: handle the case where the drivers don't supply timestamps
Stefan Sauer [Mon, 28 Nov 2011 08:12:37 +0000 (09:12 +0100)]
alsasrc: handle the case where the drivers don't supply timestamps

If highres-timestamp is 0, try lowres and if that fails fallback to system clock
timestamps.

13 years agooggmux: set collectpads2 not to wait on sparse streams
Vincent Penquerc'h [Tue, 1 Nov 2011 15:21:54 +0000 (15:21 +0000)]
oggmux: set collectpads2 not to wait on sparse streams

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

13 years agoplaysinkconvertbin: make identiy silent
Josep Torra [Fri, 25 Nov 2011 14:35:39 +0000 (15:35 +0100)]
playsinkconvertbin: make identiy silent

13 years agoaudio: remove unstable API guards from the audio decoder and encoder base classes
Tim-Philipp Müller [Fri, 25 Nov 2011 13:11:54 +0000 (13:11 +0000)]
audio: remove unstable API guards from the audio decoder and encoder base classes

13 years agodocs: mention explicitly that playbin2 signals are emitted from a streaming thread
Tim-Philipp Müller [Fri, 25 Nov 2011 12:58:22 +0000 (12:58 +0000)]
docs: mention explicitly that playbin2 signals are emitted from a streaming thread

13 years agodecodebin2: Set the multiqueue limits to the playing limits after overrun too
Sebastian Dröge [Fri, 25 Nov 2011 10:11:12 +0000 (11:11 +0100)]
decodebin2: Set the multiqueue limits to the playing limits after overrun too

We don't expect any new pads anymore and prerolling is finished now.

13 years agodecodebin2: Cache the upstream seekability for demuxer decode chains and use it for...
Sebastian Dröge [Fri, 25 Nov 2011 10:08:58 +0000 (11:08 +0100)]
decodebin2: Cache the upstream seekability for demuxer decode chains and use it for the non-preroll multiqueue limits

After preroll the multiqueue limits are still set to the preroll
limits if use-buffering is set to TRUE. In that case we only want
time limits on the multiqueue if upstream is seekable.

13 years agodecodebin2: fix prerolling for low bitrate streams from hlsdemux
Vincent Penquerc'h [Tue, 8 Nov 2011 13:55:58 +0000 (13:55 +0000)]
decodebin2: fix prerolling for low bitrate streams from hlsdemux

Such streams were detected as seekable, as the query on the typefind
element was testing the m3u8 file listing the actual streams, and
not going through the demuxer(s).

We now check for seekability for each multiqueue following a demuxer,
so the query will flow through the elements which might prevent seeking.

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

13 years agooggdemux: minor cleanup
Vincent Penquerc'h [Mon, 24 Oct 2011 10:46:05 +0000 (11:46 +0100)]
oggdemux: minor cleanup

13 years agolibgstriff: add a couple tags that need skipping
Vincent Penquerc'h [Tue, 27 Sep 2011 15:45:26 +0000 (16:45 +0100)]
libgstriff: add a couple tags that need skipping

Found in a sample in the wild, appears to be ID3 tag.

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

13 years agovideorate: Rename ARG_ enums to PROP_
Sebastian Dröge [Thu, 24 Nov 2011 13:41:13 +0000 (14:41 +0100)]
videorate: Rename ARG_ enums to PROP_

This is more consistent with other code and these are
properties anyway, not arguments

13 years agovideorate: Add property to force an output framerate
Sebastian Dröge [Thu, 24 Nov 2011 13:29:49 +0000 (14:29 +0100)]
videorate: Add property to force an output framerate

API: GstVideoRate:force-fps

Changing the framerate during playback is not possible
with a capsfilter downstream if upstream is not using
gst_pad_alloc_buffer(). In that case there's no way in
0.10 to signal to videorate that the preferred framerate
has changed.

This new property will force the output framerate to
a specific value and can be changed during playback.

13 years agoplaysinkconvertbin: Reconfigure if we switch from raw to incompatible raw caps
Sebastian Dröge [Thu, 24 Nov 2011 11:38:54 +0000 (12:38 +0100)]
playsinkconvertbin: Reconfigure if we switch from raw to incompatible raw caps

We might need to add converters and worked in passthrough mode before.

13 years agoplaysinkconvertbin: Override acceptcaps function for the two ghostpads
Sebastian Dröge [Thu, 24 Nov 2011 11:37:58 +0000 (12:37 +0100)]
playsinkconvertbin: Override acceptcaps function for the two ghostpads

The ghostpad acceptcaps functions are not valid in this case because
we don't only accept the caps accepted by the target but could also
insert converters. Fixes bug #663892.

13 years agoplaysinkaudioconvert: use-volume and use-converters are no construct-only properties...
Sebastian Dröge [Thu, 24 Nov 2011 10:34:12 +0000 (11:34 +0100)]
playsinkaudioconvert: use-volume and use-converters are no construct-only properties anymore

Fixes bug #663893.

13 years agooggdemux: skip the second bisection when possible
Vincent Penquerc'h [Sat, 22 Oct 2011 19:29:26 +0000 (20:29 +0100)]
oggdemux: skip the second bisection when possible

If we already saw the keyframes that we need to find,
we do not need to bisect to find them.

This will always be the case for streams with audio only,
where each frame acts as a keyframe, but will occasionally
also happen for streams with video.

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

13 years agooggdemux: improve push time seeking
Vincent Penquerc'h [Sat, 22 Oct 2011 19:20:38 +0000 (20:20 +0100)]
oggdemux: improve push time seeking

Various tweaks to improve convergence, in particular for
the worst case, which is now cut in about half.

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

13 years agooggdemux: gather some more stats about bisection
Vincent Penquerc'h [Fri, 21 Oct 2011 18:38:19 +0000 (19:38 +0100)]
oggdemux: gather some more stats about bisection

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

13 years agovorbisenc: do not accept 256 channels, 255 is the max vorbis supports
Vincent Penquerc'h [Wed, 23 Nov 2011 16:09:13 +0000 (16:09 +0000)]
vorbisenc: do not accept 256 channels, 255 is the max vorbis supports

13 years agooggstream: extract opus comments if available
Vincent Penquerc'h [Tue, 22 Nov 2011 13:29:10 +0000 (13:29 +0000)]
oggstream: extract opus comments if available

13 years agooggstream: recognize opus headers from data, not packet count
Vincent Penquerc'h [Tue, 22 Nov 2011 13:15:33 +0000 (13:15 +0000)]
oggstream: recognize opus headers from data, not packet count

Opus streams outside of Ogg may not have headers, and oggstream
may be used by oggmux to mux an Opus stream which does not come
from Ogg - thus without headers.
Determining headerness by packet count would strip the first two
packets from such an Opus stream, leading to a very small amount
of audio being clipped at the beginning of the stream.

13 years agooggdemux: add some more debug info when determining start time
Vincent Penquerc'h [Tue, 22 Nov 2011 13:01:35 +0000 (13:01 +0000)]
oggdemux: add some more debug info when determining start time

13 years agooggstream: fix opus duration calculation
Vincent Penquerc'h [Tue, 22 Nov 2011 12:55:56 +0000 (12:55 +0000)]
oggstream: fix opus duration calculation

13 years agooggstream: early out on headers when determining packet duration
Vincent Penquerc'h [Tue, 22 Nov 2011 12:00:58 +0000 (12:00 +0000)]
oggstream: early out on headers when determining packet duration

13 years agooggstream: account for opus pre-skip in granpos/time mapping
Vincent Penquerc'h [Mon, 21 Nov 2011 17:03:21 +0000 (17:03 +0000)]
oggstream: account for opus pre-skip in granpos/time mapping