Olivier Crête [Mon, 18 Jan 2010 19:33:30 +0000 (14:33 -0500)]
basertppayload: Reject empty caps
https://bugzilla.gnome.org/show_bug.cgi?id=607353
Thiago Santos [Tue, 19 Jan 2010 11:39:14 +0000 (08:39 -0300)]
oggdemux: No need to subtract begin time
Last stop is already based on the chain start and there is no need
to subtract the chain start as it may lead to a negative overflow.
This was causing seeking issues when the target chain was not
the first one (that has chain start = 0)
Fixes #606382
Sebastian Dröge [Tue, 19 Jan 2010 08:25:35 +0000 (09:25 +0100)]
audio: Use rounding scaling functions for GST_CLOCK_TIME_TO_FRAMES and _FRAMES_TO_CLOCK_TIME
Fixes bug #607381.
Thiago Santos [Mon, 18 Jan 2010 18:22:52 +0000 (15:22 -0300)]
oggdemux: granulepos is relative to its chain
When performing seeks, the granulepos should be offset by
its chain start time to avoid using wrong values to
update segment's last_stop. A sample file is indicated on
bug #606382
Edward Hervey [Mon, 18 Jan 2010 16:57:16 +0000 (17:57 +0100)]
pbutils: Add description for MXF container format
Tim-Philipp Müller [Mon, 18 Jan 2010 10:07:30 +0000 (10:07 +0000)]
playsink: re-use iterator callback to avoid code duplication
Tim-Philipp Müller [Mon, 18 Jan 2010 02:08:39 +0000 (02:08 +0000)]
playsink: when looking for sink properties, make sure they have the right type
We don't want to end up setting values on elements where the property is of
a different type than we expect. Can't transform the value either, since we
can't really make assumptions about the scale and transform function.
Fixes crashes when using playbin2 with apexsink (#606949).
Sebastian Dröge [Mon, 18 Jan 2010 08:30:18 +0000 (09:30 +0100)]
playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler
Changing the URIs in a state > READY results in unexpected behaviour,
i.e. the new URIs are only used after the current track has finished.
Fixes bug #607226.
Mark Nauwelaerts [Fri, 15 Jan 2010 18:52:29 +0000 (19:52 +0100)]
decodebin2: sprinkle some more locking
... to avoid races and ensure some data structure consistency.
See also #574289.
Mark Nauwelaerts [Thu, 14 Jan 2010 17:26:03 +0000 (18:26 +0100)]
decodebin2: mind blocked pads when shutting down
Fix regression in shutdown deadlock handling now that the
target of a ghostpad is blocked instead of ghostpad itself.
See also #574293.
Sebastian Dröge [Thu, 14 Jan 2010 12:36:23 +0000 (13:36 +0100)]
playsink: Fix disabling of subtitles if subtitles were used before
In this case the video still goes through the text chain and
subtitles are still going in there, in case subtitles are
enabled again. This makes sure that re-enabling subtitles
happens instantly.
Fixes hanging video when disabling subtitles, caused by an
unliked video pad.
Mark Nauwelaerts [Thu, 14 Jan 2010 09:43:59 +0000 (10:43 +0100)]
playbin2: fix pad ref leak
Mark Nauwelaerts [Tue, 12 Jan 2010 20:42:59 +0000 (21:42 +0100)]
docs: fix out-of-source build
Mark Nauwelaerts [Wed, 29 Apr 2009 09:50:03 +0000 (11:50 +0200)]
stress-playbin: fix error return check
Sebastian Dröge [Thu, 14 Jan 2010 09:10:23 +0000 (10:10 +0100)]
theora: Rename source files to have the same name as the headers
Sebastian Dröge [Thu, 14 Jan 2010 09:07:22 +0000 (10:07 +0100)]
vorbis: Rename source files to have the same name as the headers
Sebastian Dröge [Thu, 14 Jan 2010 09:05:35 +0000 (10:05 +0100)]
vorbis: Move channel layout definitions into a single separate file
...instead of having two copies.
Sebastian Dröge [Thu, 14 Jan 2010 07:19:55 +0000 (08:19 +0100)]
vorbis: Add official 6.1 and 7.1 channel mappings
These are in the Vorbis spec since 2010-01-13. Fixes bug #606926.
Benjamin Otte [Wed, 13 Jan 2010 22:05:45 +0000 (23:05 +0100)]
rtsp: Don't define h_error ourselves
It's included from netdb.h and that header might define it differently,
which can lead to build failures.
Wim Taymans [Wed, 13 Jan 2010 16:36:05 +0000 (17:36 +0100)]
typefind: mp4 video is not parsed
Thiago Santos [Wed, 13 Jan 2010 15:49:20 +0000 (12:49 -0300)]
typefind: Add aac stream-format to caps
Also add the aac stream-format field on the caps when
detecting it.
Brijesh Singh [Wed, 13 Jan 2010 08:39:54 +0000 (09:39 +0100)]
playsink: Fix handling of the native audio/video flags
Fixes bug #606687.
Edward Hervey [Tue, 12 Jan 2010 15:35:50 +0000 (16:35 +0100)]
oggdemux: Fix unitialized variable.
If the package isn't handled, gracefully return GST_FLOW_OK.
Tim-Philipp Müller [Sun, 10 Jan 2010 23:50:02 +0000 (23:50 +0000)]
docs: flesh out GtkXOverlay docs some more and add example for Gtk+ >= 2.18
Explain why the whole bus sync handler mess is needed. Add section about
how to use GstXOverlay in connection with Gtk+ and mention the Gtk+ API
break issue and how to work around it (see #601809).
Tim-Philipp Müller [Sun, 10 Jan 2010 21:18:04 +0000 (21:18 +0000)]
docs: minor netbuffer documentation fix
Tim-Philipp Müller [Sun, 10 Jan 2010 20:41:53 +0000 (20:41 +0000)]
po: update translated strings
Queue2 moved into core, so remove its strings.
Wim Taymans [Fri, 8 Jan 2010 15:57:40 +0000 (16:57 +0100)]
oggdemux: push headers when activating chains
Keep a list of headers for each stream of a chain. When a chain is activated,
push the headers before pushing the data so that decoders can sync.
Fix seeking in chains, take the chain start time into account when comparing
timestamps.
See #606382
Tim-Philipp Müller [Thu, 7 Jan 2010 15:26:57 +0000 (15:26 +0000)]
tag: fix up disting of lang-tables.c more correctly
lang-tables.c is included by lang.c and not really a proper source
file that should be compiled into its own object, so rename it to
lang-tables.dat and put it into EXTRA_DIST instead to ensure it
gets disted.
Christian Schaller [Thu, 7 Jan 2010 13:50:03 +0000 (13:50 +0000)]
Add missing source file for tagger to Makefile and update spec file
Mark Yen [Thu, 7 Jan 2010 02:30:57 +0000 (18:30 -0800)]
riff-media: handle 32 bit raw RGB video.
Mark Nauwelaerts [Wed, 6 Jan 2010 12:57:51 +0000 (13:57 +0100)]
oggdemux: decide flac header packet by content rather than count
Mark Nauwelaerts [Wed, 6 Jan 2010 12:56:26 +0000 (13:56 +0100)]
oggdemux: reset header packet count at bos page
Wim Taymans [Wed, 6 Jan 2010 12:39:14 +0000 (13:39 +0100)]
audiopayload: add support for buffer-lists
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
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
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
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
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
Mark Nauwelaerts [Tue, 5 Jan 2010 13:11:06 +0000 (14:11 +0100)]
oggdemux: enhance flac packet duration calculation
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
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.
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.
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.
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.
Mark Nauwelaerts [Sat, 26 Dec 2009 17:46:50 +0000 (18:46 +0100)]
audiorate: correctly eat empty and dummy buffers
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.
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
Wim Taymans [Thu, 24 Dec 2009 12:58:52 +0000 (13:58 +0100)]
adder: fix juvenile comment
Wim Taymans [Wed, 23 Dec 2009 20:24:48 +0000 (21:24 +0100)]
decodebin2: fix typo in debug message
Wim Taymans [Wed, 23 Dec 2009 17:18:03 +0000 (18:18 +0100)]
decodebin2: avoid some type checks
Wim Taymans [Wed, 23 Dec 2009 16:08:27 +0000 (17:08 +0100)]
playbin2: avoid leaking selector request pads
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.
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
Wim Taymans [Wed, 23 Dec 2009 14:30:50 +0000 (15:30 +0100)]
defs: update defs with new symbols
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
Mark Nauwelaerts [Mon, 21 Dec 2009 18:12:02 +0000 (19:12 +0100)]
Automatic update of common submodule
From 47cb23a to 14cec89
Mark Nauwelaerts [Mon, 21 Dec 2009 17:45:58 +0000 (18:45 +0100)]
audiorate: add Since marker for the new tolerance property
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
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.
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.
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.
Wim Taymans [Wed, 16 Dec 2009 10:43:27 +0000 (11:43 +0100)]
decodebin2: add some debugging
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
Mark Nauwelaerts [Tue, 15 Dec 2009 18:50:56 +0000 (19:50 +0100)]
audiorate: add documentation
Mark Nauwelaerts [Tue, 15 Dec 2009 15:52:44 +0000 (16:52 +0100)]
audiorate: use separate header file
Mark Nauwelaerts [Mon, 14 Dec 2009 20:17:57 +0000 (21:17 +0100)]
audiorate: set DISCONT when resyncing (e.g. newsegment)
Mark Nauwelaerts [Mon, 14 Dec 2009 17:47:27 +0000 (18:47 +0100)]
audiorate: also fill up segments if possible
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).
Mark Nauwelaerts [Tue, 15 Dec 2009 18:22:45 +0000 (19:22 +0100)]
audiorate: properly report truncated samples as dropped samples
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
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
Tim-Philipp Müller [Sat, 12 Dec 2009 18:58:39 +0000 (18:58 +0000)]
docs: misc. mixer docs improvements
Tim-Philipp Müller [Sat, 12 Dec 2009 18:16:39 +0000 (18:16 +0000)]
docs: add short descriptions for API reference contents page
Tim-Philipp Müller [Sat, 12 Dec 2009 17:43:26 +0000 (17:43 +0000)]
tag: make internal language names table static
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.
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()
Wim Taymans [Fri, 11 Dec 2009 11:02:15 +0000 (12:02 +0100)]
ogg: ogm video has constant packet duration
David Schleef [Fri, 11 Dec 2009 06:47:53 +0000 (22:47 -0800)]
oggdemux: implement old fLaC mapping
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
Wim Taymans [Thu, 10 Dec 2009 15:09:09 +0000 (16:09 +0100)]
oggdemux: remove redundant fields
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.
Wim Taymans [Wed, 9 Dec 2009 18:04:18 +0000 (19:04 +0100)]
vorbisdec: fix peer query
Wim Taymans [Wed, 9 Dec 2009 16:24:01 +0000 (17:24 +0100)]
theoradec: fix query
Wim Taymans [Wed, 9 Dec 2009 15:55:52 +0000 (16:55 +0100)]
theoradec: small cleanups
Wim Taymans [Wed, 9 Dec 2009 15:38:43 +0000 (16:38 +0100)]
vorbisdec: use gst_pad_peer_query()
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.
Sebastian Dröge [Wed, 9 Dec 2009 08:47:30 +0000 (09:47 +0100)]
textoverlay: Only flush downstream on seeks for flushing seeks
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
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.
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.
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.
Wim Taymans [Mon, 7 Dec 2009 17:49:43 +0000 (18:49 +0100)]
oggdemux: improve keyframe seeking
Improve keyframe seeking.
Fix reverse playback.
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.
Sebastian Dröge [Mon, 7 Dec 2009 08:13:40 +0000 (09:13 +0100)]
playsink: Some minor cleanup
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
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.
Wim Taymans [Fri, 4 Dec 2009 14:39:59 +0000 (15:39 +0100)]
oggdemux: add comment
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.
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.
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.