platform/upstream/gstreamer.git
13 years agotheoraenc: fix speed level failure test
Vincent Penquerc'h [Fri, 4 Nov 2011 10:34:27 +0000 (10:34 +0000)]
theoraenc: fix speed level failure test

It was testing the opposite of what it thought it was.

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

13 years agotheoraenc: make logically static const data just so
Vincent Penquerc'h [Fri, 4 Nov 2011 10:57:40 +0000 (10:57 +0000)]
theoraenc: make logically static const data just so

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

13 years agotheoraenc: use th_packet_iskeyframe instead of peeking at bits
Vincent Penquerc'h [Fri, 4 Nov 2011 10:58:15 +0000 (10:58 +0000)]
theoraenc: use th_packet_iskeyframe instead of peeking at bits

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

13 years agotheoraenc: trivial comment typos fixes
Vincent Penquerc'h [Fri, 4 Nov 2011 10:59:00 +0000 (10:59 +0000)]
theoraenc: trivial comment typos fixes

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

13 years agotheoraenc: warn when trying to set an ignored obsolete property
Vincent Penquerc'h [Fri, 4 Nov 2011 10:59:12 +0000 (10:59 +0000)]
theoraenc: warn when trying to set an ignored obsolete property

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

13 years agotheoraenc: refuse to get to READY if the encoder was disabled
Vincent Penquerc'h [Fri, 4 Nov 2011 11:10:46 +0000 (11:10 +0000)]
theoraenc: refuse to get to READY if the encoder was disabled

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

13 years agooggdemux: survive skeleton finding length behind our backs in push mode
Vincent Penquerc'h [Tue, 18 Oct 2011 16:58:49 +0000 (17:58 +0100)]
oggdemux: survive skeleton finding length behind our backs in push mode

In push mode, we determine duration by doing a seek to the end of the
stream. However, a skeleton stream with an index will cause the duration
to be known already, and we end up never setting the push_time_duration
variable which we use to know duration has been determined.

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

13 years agovalgrind: add ALSA leaks fixed by snd_config_update_free_global
Vincent Penquerc'h [Wed, 5 Oct 2011 14:29:54 +0000 (15:29 +0100)]
valgrind: add ALSA leaks fixed by snd_config_update_free_global

If they go when calling snd_config_update_free_global, they're
not really bug leaks, but more like intentional ones we don't
want to get told about.

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

13 years agobaseaudiosink: make discont-wait configurable
Felipe Contreras [Mon, 2 May 2011 10:05:28 +0000 (13:05 +0300)]
baseaudiosink: make discont-wait configurable

Now we can configure how much time to wait before deciding that a
discont has happened.

Also, adds getter and setter to allow derived implementations to set
this value upon construction.

Suggestions and several improvements by Havard Graff.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
13 years agobaseaudiosink: delay the resyncing of timestamp vs ringbuffertime
Felipe Contreras [Mon, 7 Nov 2011 10:31:47 +0000 (11:31 +0100)]
baseaudiosink: delay the resyncing of timestamp vs ringbuffertime

A common problem for audio-playback is that the timestamps might not
be completely linear. This is specially common when doing streaming over
a network, where you can have jittery and/or bursty packettransmission,
which again will often be reflected on the buffertimestamps.

Now, the current implementation have a threshold that says how far the
buffertimestamp is allowed o drift from the ideal aligned time in the
ringbuffer. This was an instant reaction, and ment that if one buffer
arrived with a timestamp that would breach the drift-tolerance, a resync
would take place, and the result would be an audible gap for the
listener.

The annoying thing would be that in the case of a "timestamp-outlier",
you would first resync one way, say +100ms, and then, if the next
timestamp was "back on track", you would end up resyncing the other way
(-100ms) So in fact, when you had only one buffer with slightly off
timestamping, you would end up with *two* audible gaps. This is the
problem this patch addresses.

The way to "fix" this problem with the previous implementation, would
have been to increase the "drift-tolerance" to a value that was greater
than the largest timestamp-outlier one would normally expect.  The big
problem with this approach, however, is that it will allow normal
operations with a huge offset timestamp vs running-time, which is
detrimental to lip-sync. If the drift-tolerance is set to 200ms, it
basically means that lip-sync can easily end up being off by that much.

This patch will basically start a timer when the first breach of
drift-tolerance is detected. If any following timestamp for the next n
nanoseconds gets "back on track" within the threshold, it has basically
eliminated the effect of an outlier, and the timer is stopped.  If,
however, all timestamps within this time-limit are breaching the
threshold, we are probably facing a more permanent offset in the
timestamps, and a resync is allowed to happen.

So basically this patch offers something as rare as both higher
accuracy, it terms of allowing smaller drift-tolerances, as well as much
smoother, less glitchy playback!

Commit message and improvments by Havard Graff.

Fixes bug #640859.

13 years agobaseaudiosink: rename some variables
Felipe Contreras [Mon, 7 Nov 2011 10:18:34 +0000 (11:18 +0100)]
baseaudiosink: rename some variables

13 years agobaseaudiosink: use gst_util_uint64_scale_int when appropriate
Felipe Contreras [Sat, 21 May 2011 13:16:42 +0000 (16:16 +0300)]
baseaudiosink: use gst_util_uint64_scale_int when appropriate

It's probably safer this way.

13 years agobaseaudiosink: split drift-tolerance into alignment-threshold
Felipe Contreras [Sat, 21 May 2011 12:49:20 +0000 (15:49 +0300)]
baseaudiosink: split drift-tolerance into alignment-threshold

So that drift-tolerance is used for clock slaving resync, and
alignment-threshold is for timestamp drift.

13 years agobaseaudiosink: trivial comment fixes
Felipe Contreras [Sat, 21 May 2011 13:02:36 +0000 (16:02 +0300)]
baseaudiosink: trivial comment fixes

Some found by Havard Graff.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
13 years agosubtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()
Sebastian Dröge [Fri, 4 Nov 2011 09:37:12 +0000 (10:37 +0100)]
subtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()

This keeps the caps order and is more efficient.

13 years agoplaysinkconvertbin: Use gst_caps_merge() instead of gst_caps_union()
Sebastian Dröge [Fri, 4 Nov 2011 09:36:51 +0000 (10:36 +0100)]
playsinkconvertbin: Use gst_caps_merge() instead of gst_caps_union()

This keeps the caps order and is more efficient.

13 years agoAdd missing default include paths to androgenizer call
Reynaldo H. Verdejo Pinochet [Fri, 4 Nov 2011 00:35:38 +0000 (21:35 -0300)]
Add missing default include paths to androgenizer call

Fixes building tag/ with Android's NDK

13 years agodecodebin2: Post all source pads in stream-topology messages as "element-srcpad"...
Mart Raudsepp [Thu, 3 Nov 2011 12:10:31 +0000 (14:10 +0200)]
decodebin2: Post all source pads in stream-topology messages as "element-srcpad" values

This allows us to easily get ahold of all pads on a stream-topology message, including
pre-decoder ones, while "pad" only gives us access to the raw pads (as used by discoverer).

13 years agodecodebin2: Use existing "caps" quark for one of the structure sets
Mart Raudsepp [Thu, 20 Oct 2011 10:04:52 +0000 (13:04 +0300)]
decodebin2: Use existing "caps" quark for one of the structure sets

13 years agoplaysinkconvertbin: Don't add identity multiple times
Sebastian Dröge [Thu, 3 Nov 2011 09:07:27 +0000 (10:07 +0100)]
playsinkconvertbin: Don't add identity multiple times

13 years agoplaysink: send flush start/stop event when we switch elements
Vincent Penquerc'h [Wed, 19 Oct 2011 13:13:39 +0000 (14:13 +0100)]
playsink: send flush start/stop event when we switch elements

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

13 years agoplaysink: re-add identity where appropriate
Vincent Penquerc'h [Wed, 19 Oct 2011 13:13:30 +0000 (14:13 +0100)]
playsink: re-add identity where appropriate

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

13 years agoplaysink: lock the new {set,get}_property functions
Vincent Penquerc'h [Wed, 19 Oct 2011 13:12:01 +0000 (14:12 +0100)]
playsink: lock the new {set,get}_property functions

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

13 years agoplaysinkconvertbin: Be more consistent with ghostpad targets
Thiago Santos [Mon, 17 Oct 2011 23:14:54 +0000 (23:14 +0000)]
playsinkconvertbin: Be more consistent with ghostpad targets

Set up targets on READY->PAUSED state change to passthrough by
default. This prevents the targets from being unset on the
first run, while the 'raw' variable would mean that some
target is set.

13 years agoplaysinkconvertbin: No need to remove the identity
Thiago Santos [Mon, 17 Oct 2011 22:41:49 +0000 (22:41 +0000)]
playsinkconvertbin: No need to remove the identity

The identity element should be handled by the GstBin's cleanup,
removing it on the remove_elements function might remove it
too soon, as this function can be called directly from playsink

13 years agoplaysinkconvertbin: Adding some debug messages
Thiago Santos [Mon, 17 Oct 2011 22:41:11 +0000 (22:41 +0000)]
playsinkconvertbin: Adding some debug messages

Adds a couple debug messages and some g_assert to make debugging
easier

13 years agoplaysink-videoconvert: Fix warning on build
Thiago Santos [Mon, 17 Oct 2011 22:02:03 +0000 (22:02 +0000)]
playsink-videoconvert: Fix warning on build

Remove unused variable

13 years agoplaysink: handle after-the-fact changes in converters/volume booleans
Vincent Penquerc'h [Mon, 17 Oct 2011 21:05:30 +0000 (21:05 +0000)]
playsink: handle after-the-fact changes in converters/volume booleans

The playsink was nastily poking a boolean in the structure.
Make those booleans properties, so we are told when they change,
and rebuild the conversion bin when they do.

Some cleanup to go with it too.

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

13 years agoplaysink: handle NULL cached caps in getcaps
Vincent Penquerc'h [Mon, 17 Oct 2011 18:43:06 +0000 (18:43 +0000)]
playsink: handle NULL cached caps in getcaps

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

13 years agoplaysink: consider both passthrough and converter caps in getcaps
Vincent Penquerc'h [Mon, 17 Oct 2011 18:06:00 +0000 (18:06 +0000)]
playsink: consider both passthrough and converter caps in getcaps

Since we can switch between both modes.

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

13 years agoplaysink: cache inner converter bin caps
Vincent Penquerc'h [Mon, 17 Oct 2011 17:54:27 +0000 (17:54 +0000)]
playsink: cache inner converter bin caps

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

13 years agoplaysink: keep both raw and non raw pipelines at all times
Vincent Penquerc'h [Mon, 17 Oct 2011 17:26:48 +0000 (17:26 +0000)]
playsink: keep both raw and non raw pipelines at all times

and switch between them as needed.

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

13 years agoplaysink: only compare against the media type we expect
Vincent Penquerc'h [Mon, 17 Oct 2011 17:29:50 +0000 (17:29 +0000)]
playsink: only compare against the media type we expect

ie, audio/x-raw- for audio, video/x-raw- for video.

Add a trailing - to be more specific. I doubt there's anything
like audio/x-rawhide or something, but you never know.

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

13 years agoplaysink: refactor the converter bins since they are almost identical
Vincent Penquerc'h [Mon, 17 Oct 2011 16:55:30 +0000 (16:55 +0000)]
playsink: refactor the converter bins since they are almost identical

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

13 years agoplaysink: fix passthrough mode (hopefully)
Vincent Penquerc'h [Mon, 17 Oct 2011 13:00:05 +0000 (13:00 +0000)]
playsink: fix passthrough mode (hopefully)

The code was doing counterintuitive rewiring of pads when the
bin did not contain any elements. We now add an identity element
in that case, which makes it simpler, and should fix the AC3
passthrough mode when using pulseaudio (but I don't see the bug
here so can't test).

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

13 years agoplaysink: handle NULL ghost pad target
Vincent Penquerc'h [Fri, 7 Oct 2011 11:16:44 +0000 (11:16 +0000)]
playsink: handle NULL ghost pad target

For the src pad anyway.

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

13 years agoRevert "playsinkaudioconvert: Fix warning when there is no target pad yet"
Sebastian Dröge [Thu, 3 Nov 2011 08:56:14 +0000 (09:56 +0100)]
Revert "playsinkaudioconvert: Fix warning when there is no target pad yet"

This reverts commit f35c51c14915729f0fdf2b348f351ea7e81027cc.

Better patch coming soon.

13 years agooggmux: Remove obsolete #include
Sebastian Dröge [Fri, 28 Oct 2011 08:07:42 +0000 (10:07 +0200)]
oggmux: Remove obsolete #include

13 years agodocs: add draft for subtitle overlays to design docs
Tim-Philipp Müller [Wed, 2 Nov 2011 23:33:18 +0000 (23:33 +0000)]
docs: add draft for subtitle overlays to design docs

Main purpose is to provide a generic way to make subtitles work on
top of non-raw video (vaapi, vdpau, etc.).

13 years agoconfigure: Allow setting GLIB_EXTRA_CFLAGS
Colin Walters [Wed, 2 Nov 2011 19:31:11 +0000 (15:31 -0400)]
configure: Allow setting GLIB_EXTRA_CFLAGS

Similar to gstreamer commit bb2020b1e794210cf7d44c6626122f611016a620

13 years agosubtitleoverlay: don't use soon-to-be-deprecated gst_filter_run()
Tim-Philipp Müller [Sun, 30 Oct 2011 20:00:47 +0000 (20:00 +0000)]
subtitleoverlay: don't use soon-to-be-deprecated gst_filter_run()

13 years agoaudiosink: avoid deadlocking audioringbuffer thread
Mersad Jelacic [Fri, 28 Oct 2011 11:58:47 +0000 (13:58 +0200)]
audiosink: avoid deadlocking audioringbuffer thread

... when it goes into wait for ringbuffer starting just after such
having been signalled.

Fixes #661738.

13 years agotypefind: extract SOF marker in jpeg typefinder
Philip Jägenstedt [Tue, 26 Apr 2011 20:20:29 +0000 (22:20 +0200)]
typefind: extract SOF marker in jpeg typefinder

The SOF types are defined by http://www.w3.org/Graphics/JPEG/itu-t81.pdf

This is needed to make sure that we plug a jpeg decoder that
can handle the type of JPEG we have (e.g. lossless JPEG)

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

13 years agooggmux: port to gstcollectpads2
Thiago Santos [Mon, 10 Aug 2009 01:48:29 +0000 (01:48 +0000)]
oggmux: port to gstcollectpads2

13 years agobuild: Fix build for moved volume subdir
Jan Schmidt [Thu, 27 Oct 2011 12:39:31 +0000 (23:39 +1100)]
build: Fix build for moved volume subdir

13 years agovolume: move volume example to audio
Stefan Sauer [Thu, 27 Oct 2011 07:51:46 +0000 (09:51 +0200)]
volume: move volume example to audio

13 years agoaudio examples. fix the makefile
Stefan Sauer [Thu, 27 Oct 2011 07:42:36 +0000 (09:42 +0200)]
audio examples. fix the makefile

13 years agovolume: make global vars static
Stefan Sauer [Thu, 27 Oct 2011 07:33:55 +0000 (09:33 +0200)]
volume: make global vars static

13 years agoaudiomix: add a simple audiomix example
Stefan Sauer [Thu, 27 Oct 2011 07:33:01 +0000 (09:33 +0200)]
audiomix: add a simple audiomix example

13 years agoplaysinkaudioconvert: Fix warning when there is no target pad yet
Jan Schmidt [Tue, 25 Oct 2011 09:04:06 +0000 (20:04 +1100)]
playsinkaudioconvert: Fix warning when there is no target pad yet

13 years agodecodebin2: Link elements before testing if they can reach the READY state
Nicolas Dufresne [Thu, 13 Oct 2011 15:34:49 +0000 (11:34 -0400)]
decodebin2: Link elements before testing if they can reach the READY state

This is made possible by filtering errors. This is required to let
harware accelerated element query the video context. The video context
is used to determine if the HW is capable, and thus if the element is
supported or not.

Fixes bug #662330.

13 years agoplaybasebin: remove avoidable call to gst_object_set_name
René Stadler [Fri, 21 Oct 2011 19:57:17 +0000 (21:57 +0200)]
playbasebin: remove avoidable call to gst_object_set_name

13 years agooggdemux: remove avoidable call to gst_object_set_name
René Stadler [Fri, 21 Oct 2011 19:41:03 +0000 (21:41 +0200)]
oggdemux: remove avoidable call to gst_object_set_name

13 years agoaudioconvert: bury dead test program
René Stadler [Fri, 21 Oct 2011 19:39:01 +0000 (21:39 +0200)]
audioconvert: bury dead test program

13 years agoDisable ext/vorbis for the android ndk build
Reynaldo H. Verdejo Pinochet [Thu, 20 Oct 2011 13:13:46 +0000 (10:13 -0300)]
Disable ext/vorbis for the android ndk build

It currently makes the build fail. Idea is to enable
it back again once its building problems get sorted
out.

13 years agosubtitleoverlay: fix leaks of pad templates and internal proxy pads
René Stadler [Wed, 19 Oct 2011 17:44:06 +0000 (19:44 +0200)]
subtitleoverlay: fix leaks of pad templates and internal proxy pads

13 years agosubtitleoverlay: fix leak of element reference through pad block
René Stadler [Wed, 19 Oct 2011 17:37:07 +0000 (19:37 +0200)]
subtitleoverlay: fix leak of element reference through pad block

If the pad block never happens because there is no data flow at all, the
callback is never fired and the reference is never released. This causes a
reference cycle between the pad and element, so valgrind is not very vocal
about it (memory is still reachable).

13 years agoaudiodecoder: having gather queue contents implies some draining is in order
Mark Nauwelaerts [Tue, 18 Oct 2011 19:42:21 +0000 (21:42 +0200)]
audiodecoder: having gather queue contents implies some draining is in order

... which ensures e.g. processing and sending last fragment of reverse playback
downstream at EOS.

13 years agovorbisdec: do not try to read past the buffer array
Vincent Penquerc'h [Wed, 19 Oct 2011 14:28:44 +0000 (15:28 +0100)]
vorbisdec: do not try to read past the buffer array

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

13 years agovorbisdec: only finish header packet frame if received in-stream
Mark Nauwelaerts [Tue, 18 Oct 2011 19:40:54 +0000 (21:40 +0200)]
vorbisdec: only finish header packet frame if received in-stream

... rather than scaring audiodecoder with a frame extracted from caps.

Fixes #662108 (partially).

13 years agox(v)imagesink: make it more clean that "synchronous" props are not for avsync
Stefan Sauer [Wed, 19 Oct 2011 08:41:31 +0000 (10:41 +0200)]
x(v)imagesink: make it more clean that "synchronous" props are not for avsync

13 years agobaseaudiosink: fix unused variable compiler warning if debugging in core is disabled
Tim-Philipp Müller [Tue, 18 Oct 2011 23:32:13 +0000 (00:32 +0100)]
baseaudiosink: fix unused variable compiler warning if debugging in core is disabled

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

13 years agosubtitleoverlay: fix event unref in (rare) error case
René Stadler [Tue, 18 Oct 2011 11:00:29 +0000 (13:00 +0200)]
subtitleoverlay: fix event unref in (rare) error case

13 years agodecodebin2: fire drained signal where appropriate
Vincent Penquerc'h [Fri, 7 Oct 2011 16:41:32 +0000 (17:41 +0100)]
decodebin2: fire drained signal where appropriate

This will allow playbin2 to send its about-to-finish signal.
Taken out (apparently by mistake) by the EOS rewrite in july.

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

13 years agooggdemux: do not retry seeking indefinitely
Vincent Penquerc'h [Sun, 16 Oct 2011 10:32:41 +0000 (11:32 +0100)]
oggdemux: do not retry seeking indefinitely

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

13 years agovideotestsrc: fix LDADD missing GST_LIBS
Brian Cameron [Mon, 10 Oct 2011 11:11:59 +0000 (13:11 +0200)]
videotestsrc: fix LDADD missing GST_LIBS

13 years agovorbisenc: only push header buffers following initial events
Mark Nauwelaerts [Sun, 9 Oct 2011 19:19:32 +0000 (21:19 +0200)]
vorbisenc: only push header buffers following initial events

13 years agoaudioencoder: fix compile warning
Alessandro Decina [Sun, 9 Oct 2011 14:48:18 +0000 (16:48 +0200)]
audioencoder: fix compile warning

13 years agotests: vorbisenc: adjust discontinuity checking to audioencoder behaviour
Mark Nauwelaerts [Sat, 8 Oct 2011 18:17:43 +0000 (20:17 +0200)]
tests: vorbisenc: adjust discontinuity checking to audioencoder behaviour

... which still detects gaps and marks DISCONT, depending on configuration,
but may come up with somewhat different timestamps when crossing the gap.

13 years agotests: vorbisdec: properly configure audiodecoder when requiring perfect ts
Mark Nauwelaerts [Sat, 8 Oct 2011 18:16:04 +0000 (20:16 +0200)]
tests: vorbisdec: properly configure audiodecoder when requiring perfect ts

13 years agotests: vorbisdec: remove empty header buffer check
Mark Nauwelaerts [Sat, 8 Oct 2011 18:14:27 +0000 (20:14 +0200)]
tests: vorbisdec: remove empty header buffer check

... as empty buffers are discarded, and header buffers are now
also optionally retrieved from caps anyway.

13 years agoaudioencoder: only resync to upstream upon discont in perfect ts mode
Mark Nauwelaerts [Sat, 8 Oct 2011 18:13:11 +0000 (20:13 +0200)]
audioencoder: only resync to upstream upon discont in perfect ts mode

... as documented, where discont is marked here if tolerance has been
exceeded.

13 years agoaudiodecoder: fix timestamp tolerance handling
Mark Nauwelaerts [Sat, 8 Oct 2011 18:11:22 +0000 (20:11 +0200)]
audiodecoder: fix timestamp tolerance handling

13 years agoaudiodecoder: handle empty input by discarding
Mark Nauwelaerts [Sat, 8 Oct 2011 18:09:09 +0000 (20:09 +0200)]
audiodecoder: handle empty input by discarding

13 years agovorbisdec: port to audiodecoder
Mark Nauwelaerts [Fri, 7 Oct 2011 12:52:33 +0000 (14:52 +0200)]
vorbisdec: port to audiodecoder

13 years agoaudioencoder: make upstream queries MT-safe
Mark Nauwelaerts [Fri, 7 Oct 2011 12:33:04 +0000 (14:33 +0200)]
audioencoder: make upstream queries MT-safe

13 years agoaudiodecoder: make upstream queries and events MT-safe
Mark Nauwelaerts [Fri, 7 Oct 2011 12:32:33 +0000 (14:32 +0200)]
audiodecoder: make upstream queries and events MT-safe

13 years agovorbisenc: port to audioencoder
Mark Nauwelaerts [Wed, 5 Oct 2011 13:43:35 +0000 (15:43 +0200)]
vorbisenc: port to audioencoder

13 years agotests: actually test what we said we would
Vincent Penquerc'h [Thu, 6 Oct 2011 17:21:29 +0000 (18:21 +0100)]
tests: actually test what we said we would

All tests were testing the default sine wave

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

13 years agoaudiotestsrc: add missing break
Vincent Penquerc'h [Thu, 6 Oct 2011 17:20:32 +0000 (18:20 +0100)]
audiotestsrc: add missing break

And make violet noise usable

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

13 years agoplaysink: fix caps negotiation through the new convenience bins
Vincent Penquerc'h [Thu, 6 Oct 2011 14:38:49 +0000 (15:38 +0100)]
playsink: fix caps negotiation through the new convenience bins

The bins' getcaps was bypassing the inner elements, and thus
failing to account for the caps transformations they allow,
which caused YUV video pipelines to fail with ximagesink, which
does not support YUV, even though the convenience bin includes
a colorspace converter for just this purpose.

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

13 years agoplaybin2: fix mismatch between video/ and video/x-dvd-subpicture
Vincent Penquerc'h [Thu, 6 Oct 2011 10:53:26 +0000 (11:53 +0100)]
playbin2: fix mismatch between video/ and video/x-dvd-subpicture

The new code was checking for a prefix, and would find video/
first. Check in two passes, first checking for a perfect match,
and falling back to a prefix check if nothing was found.

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

13 years agoencodebin: Re-enable parsers
Thiago Santos [Wed, 5 Oct 2011 00:17:37 +0000 (21:17 -0300)]
encodebin: Re-enable parsers

Re-enable parsers in encodebin to allow more passthrough scenarios
to work. Specially the ones that require changing 'stream formats'.
i.e. h264 in mkv to mpegts.

13 years agoplaysink: Add audio- and text-sink props
Robert Swain [Wed, 5 Oct 2011 10:45:19 +0000 (12:45 +0200)]
playsink: Add audio- and text-sink props

13 years agoauditestsrc: indent fix
Stefan Sauer [Tue, 4 Oct 2011 21:09:42 +0000 (23:09 +0200)]
auditestsrc: indent fix

13 years agoplaysink: Add video-sink property
Robert Swain [Tue, 4 Oct 2011 14:22:55 +0000 (16:22 +0200)]
playsink: Add video-sink property

The video-sink property allows manual specification via g_object_set ()
of the video sink element to be used.

13 years agoplaybin2: Minor cleanup of decoder-sink compatibility checking code
Sebastian Dröge [Mon, 3 Oct 2011 13:20:06 +0000 (15:20 +0200)]
playbin2: Minor cleanup of decoder-sink compatibility checking code

13 years agoplaybin2: Make sure that the decoders we plug are compatible with the fixed sink
Thibault Saunier [Fri, 30 Sep 2011 15:29:34 +0000 (12:29 -0300)]
playbin2: Make sure that the decoders we plug are compatible with the fixed sink

The fact that a decoder is not compatible with the fixed sink
is currently happenning in the case where we have hardware accelerated
video decoders on the system (especially vaapi elements that are actually plugged),
and the user is providing a sink that doesn't support the surface.

A simple example that shows how it used to crash on a system where gstreamer-vaapi
is installed:
    gst-launch playbin2 video-sink=xvimagesink uri=/codec/supported/by/vaapi

What we are now doing in this case, is avoid using the accelerated
decoder and plug a "normal" decoder instead (if avalaible).

This commit doesn't handle the case where we have hardware accelerated
demuxing.

13 years agoencoding-profile: add a function to create a profile from a discoverer info
Vincent Penquerc'h [Fri, 18 Feb 2011 11:48:37 +0000 (11:48 +0000)]
encoding-profile: add a function to create a profile from a discoverer info

Only A/V streams are added at the moment, there does not seem to be
a similar way to add other streams (eg, subtitles).

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

13 years agoalsasrc: fail gracefully when ALSA does not give timestamps
Vincent Penquerc'h [Mon, 26 Sep 2011 23:26:29 +0000 (00:26 +0100)]
alsasrc: fail gracefully when ALSA does not give timestamps

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

13 years agodecodebin2: Use a TIME limit for pre-rolling in live streams and not in non-live...
Sebastian Dröge [Mon, 3 Oct 2011 08:55:53 +0000 (10:55 +0200)]
decodebin2: Use a TIME limit for pre-rolling in live streams and not in non-live streams

Fixes bug #647769 for real.

13 years agotextoverlay: add YV12 support
Vincent Penquerc'h [Sat, 1 Oct 2011 00:05:00 +0000 (01:05 +0100)]
textoverlay: add YV12 support

Basically the same as I420, just with chroma planes swapped.

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

13 years agoencodebin: Fix typo on formatter adding condition
Thiago Santos [Fri, 30 Sep 2011 12:44:12 +0000 (09:44 -0300)]
encodebin: Fix typo on formatter adding condition

The condition is if the muxer doesn't have tag setter *and* isn't
a formatter itself. Any of those two conditions makes the muxer
good enough to not need a formatter.

13 years agoaudiodecoder: really push pending events
Mark Nauwelaerts [Wed, 28 Sep 2011 13:41:16 +0000 (15:41 +0200)]
audiodecoder: really push pending events

13 years agoaudioencoder: remove more tags from upstream tag events such as bitrate tags
Tim-Philipp Müller [Wed, 28 Sep 2011 13:32:20 +0000 (14:32 +0100)]
audioencoder: remove more tags from upstream tag events such as bitrate tags

We want to remove all codec specific tags.

13 years agovideotestsrc: Fix compiler warning on 64 bit mingw-w64
Raimo Järvi [Tue, 27 Sep 2011 22:56:42 +0000 (01:56 +0300)]
videotestsrc: Fix compiler warning on 64 bit mingw-w64

Fixes bug #660304.

13 years agoplaybin2: Fix compiler warnings on 64 bit mingw-w64
Raimo Järvi [Tue, 27 Sep 2011 22:11:30 +0000 (01:11 +0300)]
playbin2: Fix compiler warnings on 64 bit mingw-w64

Fixes bug #660301.

13 years agoaudioencoder: only got_data if we really got some
Mark Nauwelaerts [Tue, 27 Sep 2011 14:18:05 +0000 (16:18 +0200)]
audioencoder: only got_data if we really got some

... which avoids going loopy with casual subclass.

13 years agoaudioencoder: really push pending events
Mark Nauwelaerts [Tue, 27 Sep 2011 14:57:45 +0000 (16:57 +0200)]
audioencoder: really push pending events

13 years agoaudioencoder: send tag event after pending events
Mark Nauwelaerts [Tue, 27 Sep 2011 14:16:54 +0000 (16:16 +0200)]
audioencoder: send tag event after pending events

... which probably includes a pending newsegment event.