platform/upstream/gstreamer.git
14 years agoaudiopayload: add support for buffer-lists
Wim Taymans [Wed, 6 Jan 2010 12:39:14 +0000 (13:39 +0100)]
audiopayload: add support for buffer-lists

14 years agoMerge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base
Wim Taymans [Wed, 6 Jan 2010 10:33:03 +0000 (11:33 +0100)]
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base

14 years agotextoverlay: Ignore zero framerate
Olivier Crête [Tue, 5 Jan 2010 22:17:58 +0000 (17:17 -0500)]
textoverlay: Ignore zero framerate

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

14 years agobasertpaudiopayload: Respect ptime if it is given
Olivier Crête [Tue, 29 Dec 2009 23:45:32 +0000 (18:45 -0500)]
basertpaudiopayload: Respect ptime if it is given

If the ptime is given in the caps, respect it and force the minimum
and maximum sizes to be exactly the requested ptime.

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

14 years agortpbasepayload: Store ptime from caps
Olivier Crête [Tue, 29 Dec 2009 23:36:29 +0000 (18:36 -0500)]
rtpbasepayload: Store ptime from caps

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

14 years agobasertppayload: Accept maxptime from caps
Olivier Crête [Wed, 2 Dec 2009 14:10:58 +0000 (19:40 +0530)]
basertppayload: Accept maxptime from caps

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

14 years agooggdemux: enhance flac packet duration calculation
Mark Nauwelaerts [Tue, 5 Jan 2010 13:11:06 +0000 (14:11 +0100)]
oggdemux: enhance flac packet duration calculation

14 years agoMerge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base
Wim Taymans [Tue, 5 Jan 2010 09:38:41 +0000 (10:38 +0100)]
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base

14 years agoexamples: use Gtk+-2.18 API conditionally
Tim-Philipp Müller [Mon, 4 Jan 2010 09:49:25 +0000 (09:49 +0000)]
examples: use Gtk+-2.18 API conditionally

so the seek example and colorkey test work with older Gtk+ versions
as well.

Fixes #605960.

14 years agotests: fix colorkey test up for Gtk+ >= 2.18
Tim-Philipp Müller [Tue, 29 Dec 2009 00:53:53 +0000 (00:53 +0000)]
tests: fix colorkey test up for Gtk+ >= 2.18

Make test-colorkey work with newer versions of Gtk+.

See #601809.

14 years agoexamples: make seek example work with Gtk+ >= 2.18
Tim-Philipp Müller [Tue, 29 Dec 2009 00:40:27 +0000 (00:40 +0000)]
examples: make seek example work with Gtk+ >= 2.18

Gtk+ broke API slightly with the introduction of
client-side windows in Gtk+ 2.18. Fix up seek
example to work with newer Gtk+ versions.

Fixes #601809.

14 years agotests: fix warning and memory leak in stress-overlay test
Tim-Philipp Müller [Sat, 26 Dec 2009 23:29:24 +0000 (23:29 +0000)]
tests: fix warning and memory leak in stress-overlay test

Not all messages have structures and we need to unref messages
when returning GST_BUS_DROP in the sync bus handler.

14 years agoaudiorate: correctly eat empty and dummy buffers
Mark Nauwelaerts [Sat, 26 Dec 2009 17:46:50 +0000 (18:46 +0100)]
audiorate: correctly eat empty and dummy buffers

14 years agoadder: be a lot smarter with buffer management
Wim Taymans [Thu, 24 Dec 2009 18:56:55 +0000 (19:56 +0100)]
adder: be a lot smarter with buffer management

Detect EOS faster.
Try to reuse one of the input buffer as the output buffer. This usually works
and avoids an allocation and a memcpy.
Be smarter with GAP buffers so that they don't get mixed or cleared at all. Also
try to use a GAP buffer as the output buffer when all input buffers are GAP
buffers.

14 years agoadder: use collectpads clipping function
Wim Taymans [Thu, 24 Dec 2009 15:30:23 +0000 (16:30 +0100)]
adder: use collectpads clipping function

Install a clipping function in the collectpads and use the audio clipping helper
function to perform clipping to the segment boundaries.

Fixes #590265

14 years agoadder: fix juvenile comment
Wim Taymans [Thu, 24 Dec 2009 12:58:52 +0000 (13:58 +0100)]
adder: fix juvenile comment

14 years agodecodebin2: fix typo in debug message
Wim Taymans [Wed, 23 Dec 2009 20:24:48 +0000 (21:24 +0100)]
decodebin2: fix typo in debug message

14 years agodecodebin2: avoid some type checks
Wim Taymans [Wed, 23 Dec 2009 17:18:03 +0000 (18:18 +0100)]
decodebin2: avoid some type checks

14 years agoplaybin2: avoid leaking selector request pads
Wim Taymans [Wed, 23 Dec 2009 16:08:27 +0000 (17:08 +0100)]
playbin2: avoid leaking selector request pads

14 years agouridecodebin: avoid leaking queue and typefind
Wim Taymans [Wed, 23 Dec 2009 14:46:25 +0000 (15:46 +0100)]
uridecodebin: avoid leaking queue and typefind

Don't leak the queue and typefind elements that we might link after the
source element.

14 years agouridecodebin: don't name the queue
Jonathan Matthew [Wed, 23 Dec 2009 14:43:52 +0000 (15:43 +0100)]
uridecodebin: don't name the queue

There is no reason to name the queue.

Fixes #605219

14 years agodefs: update defs with new symbols
Wim Taymans [Wed, 23 Dec 2009 14:30:50 +0000 (15:30 +0100)]
defs: update defs with new symbols

14 years agortcpbuffer: add helper functions for SDES types
Wim Taymans [Tue, 22 Dec 2009 19:15:28 +0000 (20:15 +0100)]
rtcpbuffer: add helper functions for SDES types

Add functions to convert SDES names to their types and back. Will be used later
to set SDES items using a GstStructure.

See #595265

14 years agoAutomatic update of common submodule
Mark Nauwelaerts [Mon, 21 Dec 2009 18:12:02 +0000 (19:12 +0100)]
Automatic update of common submodule

From 47cb23a to 14cec89

14 years agoaudiorate: add Since marker for the new tolerance property
Mark Nauwelaerts [Mon, 21 Dec 2009 17:45:58 +0000 (18:45 +0100)]
audiorate: add Since marker for the new tolerance property

14 years agodocs: use 'Returns: xyz' rather than 'Returns xyz' to make gtk-doc happy
Tim-Philipp Müller [Mon, 21 Dec 2009 07:57:42 +0000 (07:57 +0000)]
docs: use 'Returns: xyz' rather than 'Returns xyz' to make gtk-doc happy

14 years agotests: don't use deprecated GLib API g_mapped_file_free
Tim-Philipp Müller [Mon, 21 Dec 2009 07:50:26 +0000 (07:50 +0000)]
tests: don't use deprecated GLib API g_mapped_file_free

Fixes #605100.

14 years agotheoraenc: Add encoder controls for libtheora 1.1
David Schleef [Mon, 21 Dec 2009 01:34:46 +0000 (17:34 -0800)]
theoraenc: Add encoder controls for libtheora 1.1

Added drop-frames, cap-overflow, cap-underflow, and rate-buffer.

14 years agobaseaudiosink: increase default drift tolerance to fix glitches with WMA
Tim-Philipp Müller [Sat, 19 Dec 2009 21:40:44 +0000 (21:40 +0000)]
baseaudiosink: increase default drift tolerance to fix glitches with WMA

Increase default drift tolerance to 40ms to avoid glitches with decoders
or formats where there's a lot of timestamp jitter for some reason or
another (in this case: asf/wma), at least until we implement timestamp
smoothing.

14 years agodecodebin2: add some debugging
Wim Taymans [Wed, 16 Dec 2009 10:43:27 +0000 (11:43 +0100)]
decodebin2: add some debugging

14 years agoaudiorate: add a tolerance property
Mark Nauwelaerts [Tue, 15 Dec 2009 17:41:38 +0000 (18:41 +0100)]
audiorate: add a tolerance property

It may not be uncommon for the input timestamps to experience some jitter
around the 'perfect time'.  As such, instead of regularly adding and dropping
samples, optionally allow for some tolerance in a more relaxed approach.

API: GstAudioRate:tolerance

14 years agoaudiorate: add documentation
Mark Nauwelaerts [Tue, 15 Dec 2009 18:50:56 +0000 (19:50 +0100)]
audiorate: add documentation

14 years agoaudiorate: use separate header file
Mark Nauwelaerts [Tue, 15 Dec 2009 15:52:44 +0000 (16:52 +0100)]
audiorate: use separate header file

14 years agoaudiorate: set DISCONT when resyncing (e.g. newsegment)
Mark Nauwelaerts [Mon, 14 Dec 2009 20:17:57 +0000 (21:17 +0100)]
audiorate: set DISCONT when resyncing (e.g. newsegment)

14 years agoaudiorate: also fill up segments if possible
Mark Nauwelaerts [Mon, 14 Dec 2009 17:47:27 +0000 (18:47 +0100)]
audiorate: also fill up segments if possible

14 years agoaudiorate: fix segment handling
Mark Nauwelaerts [Tue, 15 Dec 2009 18:29:29 +0000 (19:29 +0100)]
audiorate: fix segment handling

Do not compare a media (buffer) time to a (bogus) running time
(or their offset equivalents).

14 years agoaudiorate: properly report truncated samples as dropped samples
Mark Nauwelaerts [Tue, 15 Dec 2009 18:22:45 +0000 (19:22 +0100)]
audiorate: properly report truncated samples as dropped samples

14 years agodocs: mention that gst_tag_get_language_name() may return NULL
Tim-Philipp Müller [Sun, 13 Dec 2009 18:43:56 +0000 (18:43 +0000)]
docs: mention that gst_tag_get_language_name() may return NULL

14 years agochecks: some more testing for the new language code functions
Tim-Philipp Müller [Sun, 13 Dec 2009 18:42:11 +0000 (18:42 +0000)]
checks: some more testing for the new language code functions

14 years agodocs: misc. mixer docs improvements
Tim-Philipp Müller [Sat, 12 Dec 2009 18:58:39 +0000 (18:58 +0000)]
docs: misc. mixer docs improvements

14 years agodocs: add short descriptions for API reference contents page
Tim-Philipp Müller [Sat, 12 Dec 2009 18:16:39 +0000 (18:16 +0000)]
docs: add short descriptions for API reference contents page

14 years agotag: make internal language names table static
Tim-Philipp Müller [Sat, 12 Dec 2009 17:43:26 +0000 (17:43 +0000)]
tag: make internal language names table static

14 years agotag: don't use GLib 2.22 API
Tim-Philipp Müller [Sat, 12 Dec 2009 17:41:44 +0000 (17:41 +0000)]
tag: don't use GLib 2.22 API

g_mapped_file_unref() was introduced in GLib 2.22, but we depend
only on GLib 2.18, so use g_mapped_file_free() when compiling
against older GLib versions until we bump the GLib dependency.

14 years agotag: add some utility functions for language codes and tags
Tim-Philipp Müller [Fri, 11 Dec 2009 23:59:54 +0000 (23:59 +0000)]
tag: add some utility functions for language codes and tags

Add some utility functions for language tags and ISO-639
codes. These are useful for both GUIs and elements. The
iso-codes package is used for language name translations
if available.

API: gst_tag_get_language_codes()
API: gst_tag_get_language_name()
API: gst_tag_get_language_code()
API: gst_tag_get_language_code_iso_639_1()
API: gst_tag_get_language_code_iso_639_2B()
API: gst_tag_get_language_code_iso_639_2T()

14 years agoogg: ogm video has constant packet duration
Wim Taymans [Fri, 11 Dec 2009 11:02:15 +0000 (12:02 +0100)]
ogg: ogm video has constant packet duration

14 years agooggdemux: implement old fLaC mapping
David Schleef [Fri, 11 Dec 2009 06:47:53 +0000 (22:47 -0800)]
oggdemux: implement old fLaC mapping

14 years agotcpclientsrc: unset flushing state too
Wim Taymans [Thu, 10 Dec 2009 16:53:01 +0000 (17:53 +0100)]
tcpclientsrc: unset flushing state too

When unlocking, we set the flushing state on the fdset. Implement unlock_stop so
that we can use it to unset the flushing state again.

Fixes #577326

14 years agooggdemux: remove redundant fields
Wim Taymans [Thu, 10 Dec 2009 15:09:09 +0000 (16:09 +0100)]
oggdemux: remove redundant fields

14 years agovorbisdec: adapt to new oggdemux
Wim Taymans [Wed, 9 Dec 2009 18:03:16 +0000 (19:03 +0100)]
vorbisdec: adapt to new oggdemux

Remove all granulepos hacks and simply use the timestamps from the new oggdemux
like any other decoder.

14 years agovorbisdec: fix peer query
Wim Taymans [Wed, 9 Dec 2009 18:04:18 +0000 (19:04 +0100)]
vorbisdec: fix peer query

14 years agotheoradec: fix query
Wim Taymans [Wed, 9 Dec 2009 16:24:01 +0000 (17:24 +0100)]
theoradec: fix query

14 years agotheoradec: small cleanups
Wim Taymans [Wed, 9 Dec 2009 15:55:52 +0000 (16:55 +0100)]
theoradec: small cleanups

14 years agovorbisdec: use gst_pad_peer_query()
Wim Taymans [Wed, 9 Dec 2009 15:38:43 +0000 (16:38 +0100)]
vorbisdec: use gst_pad_peer_query()

14 years agoplaysink: fix video when subtitles disabled
Wim Taymans [Wed, 9 Dec 2009 11:10:35 +0000 (12:10 +0100)]
playsink: fix video when subtitles disabled

When we have a source with subtitles but they were disabled with the flags,
still ghostpad the video pad instead of leaving it unlinked.

14 years agotextoverlay: Only flush downstream on seeks for flushing seeks
Sebastian Dröge [Wed, 9 Dec 2009 08:47:30 +0000 (09:47 +0100)]
textoverlay: Only flush downstream on seeks for flushing seeks

14 years agotextoverlay: Proxy buffer allocation on the video sinkpad to the srcpad
Sebastian Dröge [Wed, 9 Dec 2009 08:35:14 +0000 (09:35 +0100)]
textoverlay: Proxy buffer allocation on the video sinkpad to the srcpad

14 years agoseek: update slider only 25 times a second
Wim Taymans [Tue, 8 Dec 2009 16:30:39 +0000 (17:30 +0100)]
seek: update slider only 25 times a second

don't update the slider a 100 times a second, it's likely higher than the screen
framerate and just wastes cpu.

14 years agotheora: remove granulepos hacks
Wim Taymans [Tue, 8 Dec 2009 16:23:53 +0000 (17:23 +0100)]
theora: remove granulepos hacks

Remove the granulepos hacking now that oggdemux outputs timestamps like any
other demuxer.

14 years agoplaybin2: Fix stream-changed message list iteration
Sebastian Dröge [Tue, 8 Dec 2009 12:40:18 +0000 (13:40 +0100)]
playbin2: Fix stream-changed message list iteration

When iterating the list and removing the current element, first
get the next element and then remove the current one and not
the other way around.

14 years agooggdemux: improve keyframe seeking
Wim Taymans [Mon, 7 Dec 2009 17:49:43 +0000 (18:49 +0100)]
oggdemux: improve keyframe seeking

Improve keyframe seeking.
Fix reverse playback.

14 years agooggdemux: implement keyframe seeking
Wim Taymans [Mon, 7 Dec 2009 14:42:05 +0000 (15:42 +0100)]
oggdemux: implement keyframe seeking

Implement keyframe seeking in oggdemux by doing the double seek trick. First
seek to the required position, then read pages for all streams to grab the
granulepos (to know the timing of the keyframe) of each stream, then seek back
to the first keyframe.

14 years agoplaysink: Some minor cleanup
Sebastian Dröge [Mon, 7 Dec 2009 08:13:40 +0000 (09:13 +0100)]
playsink: Some minor cleanup

14 years agoplaybin2: Reset stream segments on FLUSH_STOP and don't adjust QoS events for non...
Sebastian Dröge [Sun, 6 Dec 2009 17:05:15 +0000 (18:05 +0100)]
playbin2: Reset stream segments on FLUSH_STOP and don't adjust QoS events for non-time segments

14 years agooggdemux: fix timestamps after seek
Wim Taymans [Fri, 4 Dec 2009 15:35:09 +0000 (16:35 +0100)]
oggdemux: fix timestamps after seek

After a seek, discard all packets before the packet with the granulepos on it so
that the output buffers contain valid timestamps.

Reorder some code so that we check the timestamps before allocating and pushing
an output buffer.

Do more checks on valid packets in ogm mode.

14 years agooggdemux: add comment
Wim Taymans [Fri, 4 Dec 2009 14:39:59 +0000 (15:39 +0100)]
oggdemux: add comment

14 years agooggdemux: don't do math with invalid granulepos
Wim Taymans [Fri, 4 Dec 2009 13:01:11 +0000 (14:01 +0100)]
oggdemux: don't do math with invalid granulepos

When the current granulepos is unknown and set to -1, don't try to add durations
to it.

14 years agooggdemux: guard against wrong granulepos
Wim Taymans [Fri, 4 Dec 2009 12:14:57 +0000 (13:14 +0100)]
oggdemux: guard against wrong granulepos

Clamp the initial granulepos to 0 instead of going negative for some badly muxed
ogg files.

14 years agotheoradec: don't fail on bogus granulepos
Wim Taymans [Fri, 4 Dec 2009 11:26:47 +0000 (12:26 +0100)]
theoradec: don't fail on bogus granulepos

Do some additional checks on the granulpos timestamp before using it for
calculating the duration because oggdemux generates wrong granulepos now.
Fixes seeking somewhat again.

14 years agooggdemux: reimplement OGM support
David Schleef [Fri, 4 Dec 2009 04:05:29 +0000 (20:05 -0800)]
oggdemux: reimplement OGM support

OGM demuxing no longer requires helper elements.  It's done internally
in oggdemux.  Vorbis comments are still not handled because I don't
have anything to test with.

14 years agooggdemux: fix for I-frame-only theora
David Schleef [Fri, 4 Dec 2009 01:02:11 +0000 (17:02 -0800)]
oggdemux: fix for I-frame-only theora

14 years agoogg: log when ogg mapper doesn't accept the setup header packet
Tim-Philipp Müller [Thu, 3 Dec 2009 01:16:17 +0000 (01:16 +0000)]
ogg: log when ogg mapper doesn't accept the setup header packet

14 years agoogg: extract width, height and PAR from theora header and add to caps
Tim-Philipp Müller [Wed, 2 Dec 2009 02:08:46 +0000 (02:08 +0000)]
ogg: extract width, height and PAR from theora header and add to caps

14 years agoogg: extract number of channels from FLAC, speex and vorbis headers
Tim-Philipp Müller [Thu, 3 Dec 2009 23:43:08 +0000 (23:43 +0000)]
ogg: extract number of channels from FLAC, speex and vorbis headers

Because we can.

14 years agobuild: fix build with debug logging disabled.
Stefan Kost [Thu, 3 Dec 2009 20:14:34 +0000 (22:14 +0200)]
build: fix build with debug logging disabled.

14 years agoogg: more print fixes
Tim-Philipp Müller [Thu, 3 Dec 2009 21:07:49 +0000 (21:07 +0000)]
ogg: more print fixes

gstoggstream.c:419: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘gint64’
gstoggdemux.c:2253: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘GstClockTime’
gstoggdemux.c:2333: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘GstClockTime’

14 years agoogg: Fixing some printf format strings
Thiago Santos [Thu, 3 Dec 2009 19:57:48 +0000 (16:57 -0300)]
ogg: Fixing some printf format strings

Fixes some printf format strings to make it build on mac.

14 years agoplaybin2: don't iterate the factory lists in non-debug mode
Stefan Kost [Thu, 3 Dec 2009 16:08:49 +0000 (18:08 +0200)]
playbin2: don't iterate the factory lists in non-debug mode

When debugging is disabled, we won't see anything printed anyway.

14 years agoBuild fix for MSVC
David Schleef [Thu, 3 Dec 2009 07:55:55 +0000 (23:55 -0800)]
Build fix for MSVC

14 years agobuild: add missing includes for sprintf and atoi
Stefan Kost [Wed, 2 Dec 2009 21:27:55 +0000 (23:27 +0200)]
build: add missing includes for sprintf and atoi

14 years agosubparse: Add support for some tags of qttext
Thiago Santos [Tue, 1 Dec 2009 19:42:42 +0000 (16:42 -0300)]
subparse: Add support for some tags of qttext

Currently supporting timescale, timestamps, font, size,
textColor, backColor, plain, bold and italic

Fixes #603357

14 years agosubparse: add qttext support
Thiago Santos [Tue, 1 Dec 2009 16:13:24 +0000 (13:13 -0300)]
subparse: add qttext support

Adds basic support for qttext subtitles, still lacks markup tags
to make it prettier, but the plain text already works.

Implemented according to:
http://www.apple.com/quicktime/tutorials/texttracks.html
http://www.apple.com/quicktime/tutorials/textdescriptors.html

Fixes #603357

14 years agosubparse: conditionally cleanup sami context
Thiago Santos [Tue, 1 Dec 2009 16:22:57 +0000 (13:22 -0300)]
subparse: conditionally cleanup sami context

Only cleanup sami context if we are parsing sami subtitles,
otherwise we might have crashes.

14 years agosubparse: Add missing caps to sink caps template
Thiago Santos [Tue, 1 Dec 2009 16:19:35 +0000 (13:19 -0300)]
subparse: Add missing caps to sink caps template

Some caps were missing from the sink caps template when
xml was disabled

14 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 1 Dec 2009 15:06:10 +0000 (15:06 +0000)]
Automatic update of common submodule

From 87bf428 to 47cb23a

14 years agoAutomatic update of common submodule
Sebastian Dröge [Tue, 1 Dec 2009 13:14:25 +0000 (14:14 +0100)]
Automatic update of common submodule

From da4c75c to 87bf428

14 years agosubtitleoverlay: Fix some pad refcount issues
Sebastian Dröge [Mon, 30 Nov 2009 09:22:15 +0000 (10:22 +0100)]
subtitleoverlay: Fix some pad refcount issues

Fixes bug #603345.

14 years agoAutomatic update of common submodule
Edward Hervey [Fri, 27 Nov 2009 17:54:57 +0000 (18:54 +0100)]
Automatic update of common submodule

From 53a2485 to da4c75c

14 years agooggdemux: handle theora streams with 0 keyoffset
David Schleef [Thu, 26 Nov 2009 01:04:41 +0000 (17:04 -0800)]
oggdemux: handle theora streams with 0 keyoffset

14 years agooggdemux: Handle unknown streams
David Schleef [Thu, 26 Nov 2009 00:53:26 +0000 (16:53 -0800)]
oggdemux: Handle unknown streams

14 years agoRevert "textoverlay: First draw outline text and then the real text"
Sebastian Dröge [Thu, 26 Nov 2009 13:30:33 +0000 (14:30 +0100)]
Revert "textoverlay: First draw outline text and then the real text"

This reverts commit 60aa09d28c1f9fd29b56876d7ac6c0366d6cef4d.

First drawing the real text and then the outline produces ugly
text in lower resolutions. The outline line width needs to be somehow
changed relative to the resolution. Fixes bug #602924.

14 years agoaudiofilter: Use G_DEFINE_ABSTRACT_TYPE_WITH_CODE
Sebastian Dröge [Thu, 26 Nov 2009 09:30:25 +0000 (10:30 +0100)]
audiofilter: Use G_DEFINE_ABSTRACT_TYPE_WITH_CODE

...and fix code style a bit.

14 years agoaudiofilter: Add _CAST variants of the cast macros
Sebastian Dröge [Thu, 26 Nov 2009 09:31:00 +0000 (10:31 +0100)]
audiofilter: Add _CAST variants of the cast macros

14 years agoaudiosink: add adjustement when slaving
Wim Taymans [Wed, 25 Nov 2009 16:26:16 +0000 (10:26 -0600)]
audiosink: add adjustement when slaving

Our calibration against the pipeline clock is done with the adjusted
ringbuffer time, so take the adjustement into account. Fixes some audio dropouts
when reusing audio sinks after switching clocks and slaving methods in a
pipeline.

14 years agoffmpegcolorspace: Prefer transforming alpha formats to alpha formats and the other...
Sebastian Dröge [Wed, 25 Nov 2009 15:17:13 +0000 (16:17 +0100)]
ffmpegcolorspace: Prefer transforming alpha formats to alpha formats and the other way around

Fixes bug #602834 and #350748.

14 years agooggdemux: Reset last_granule during seeking
David Schleef [Wed, 25 Nov 2009 08:46:55 +0000 (00:46 -0800)]
oggdemux: Reset last_granule during seeking

Fix case where we would reconstruct the wrong granulepos for
outgoing streams immediately after a seek.

14 years agooggdemux: Fix timestamp generation for theora
David Schleef [Wed, 25 Nov 2009 06:08:09 +0000 (22:08 -0800)]
oggdemux: Fix timestamp generation for theora

Timestamp generation was broken by the last commit for formats
with a non-zero granule shift.  Also keep track of the last keyframe
so that we can regenerate granulepos for theora.

14 years agooggdemux: Fix vorbis parsing
David Schleef [Wed, 25 Nov 2009 05:22:03 +0000 (21:22 -0800)]
oggdemux: Fix vorbis parsing

Add a granule to granulepos conversion function.  Fix the duration
function for vorbis.  Handle timestamps on header packets differently
and be more careful about calculating OFFSET and OFFSET_END.  After
this change, timestamps for vorbis don't exactly match up with the
timestamps that vorbisparse outputs, but it's unclear if vorbisparse
is actually correct and it would add a lot more code to make oggdemux
match vorbisparse.  Fixes #602790.

14 years agoplaybin2: Transform QoS events to be meaningful for upstream elements
Sebastian Dröge [Thu, 19 Nov 2009 18:28:12 +0000 (19:28 +0100)]
playbin2: Transform QoS events to be meaningful for upstream elements

This is necessary because the sinks don't notice the group switches
and the decoders/demuxers have a different running time than the
sinks.

Fixes bug #537050.

14 years agoogg: Fix generation of timestamps and durations
David Schleef [Sat, 21 Nov 2009 21:05:34 +0000 (22:05 +0100)]
ogg: Fix generation of timestamps and durations

After changing some internal functions, I forgot to update
the code that puts the values on the buffers.

14 years agoogg: Add ogg stream parsing
David Schleef [Sat, 29 Aug 2009 17:51:48 +0000 (10:51 -0700)]
ogg: Add ogg stream parsing

Adds code that parses headers of various formats encapsulated in
Ogg in order to calculate timestamps and durations of each buffer.
Removes the creation of helper decoder elements to do this calculation
via conversion queries.

Fixes: #344013, #568014.