Commit graph

7608 commits

Author SHA1 Message Date
Wim Taymans
775636e734 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.
2009-12-24 19:56:55 +01:00
Wim Taymans
59ace1b9ee 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
2009-12-24 16:30:23 +01:00
Wim Taymans
66ae01eced adder: fix juvenile comment 2009-12-24 13:58:52 +01:00
Wim Taymans
15216d23ac decodebin2: fix typo in debug message 2009-12-23 21:24:48 +01:00
Wim Taymans
99e836a340 decodebin2: avoid some type checks 2009-12-23 18:18:03 +01:00
Wim Taymans
3b0fc1e4fb playbin2: avoid leaking selector request pads 2009-12-23 17:08:27 +01:00
Wim Taymans
d4e1ff012d uridecodebin: avoid leaking queue and typefind
Don't leak the queue and typefind elements that we might link after the
source element.
2009-12-23 15:46:25 +01:00
Jonathan Matthew
138c851173 uridecodebin: don't name the queue
There is no reason to name the queue.

Fixes #605219
2009-12-23 15:43:52 +01:00
Wim Taymans
16bc8fe8a1 defs: update defs with new symbols 2009-12-23 15:30:50 +01:00
Wim Taymans
f7070b6bc6 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
2009-12-22 20:15:28 +01:00
Mark Nauwelaerts
681d23ccb7 Automatic update of common submodule
From 47cb23a to 14cec89
2009-12-21 19:12:02 +01:00
Mark Nauwelaerts
93f82f16cd audiorate: add Since marker for the new tolerance property 2009-12-21 18:50:34 +01:00
Tim-Philipp Müller
98fc463f31 docs: use 'Returns: xyz' rather than 'Returns xyz' to make gtk-doc happy 2009-12-21 07:57:42 +00:00
Tim-Philipp Müller
6ce1ff2188 tests: don't use deprecated GLib API g_mapped_file_free
Fixes #605100.
2009-12-21 07:50:26 +00:00
David Schleef
b3c15a340a theoraenc: Add encoder controls for libtheora 1.1
Added drop-frames, cap-overflow, cap-underflow, and rate-buffer.
2009-12-20 17:34:46 -08:00
Tim-Philipp Müller
848a7f2868 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.
2009-12-20 23:19:41 +00:00
Wim Taymans
8266d201a0 decodebin2: add some debugging 2009-12-16 11:44:11 +01:00
Mark Nauwelaerts
8b4f6dd43b 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
2009-12-15 19:51:08 +01:00
Mark Nauwelaerts
b5fe63ed79 audiorate: add documentation 2009-12-15 19:50:56 +01:00
Mark Nauwelaerts
60635a9fbc audiorate: use separate header file 2009-12-15 19:49:31 +01:00
Mark Nauwelaerts
4bbde64da6 audiorate: set DISCONT when resyncing (e.g. newsegment) 2009-12-15 19:49:28 +01:00
Mark Nauwelaerts
56d4534554 audiorate: also fill up segments if possible 2009-12-15 19:49:26 +01:00
Mark Nauwelaerts
a11a1858ed audiorate: fix segment handling
Do not compare a media (buffer) time to a (bogus) running time
(or their offset equivalents).
2009-12-15 19:49:24 +01:00
Mark Nauwelaerts
529db8b501 audiorate: properly report truncated samples as dropped samples 2009-12-15 19:49:22 +01:00
Tim-Philipp Müller
b529a33105 docs: mention that gst_tag_get_language_name() may return NULL 2009-12-13 18:43:56 +00:00
Tim-Philipp Müller
fc73a73f0a checks: some more testing for the new language code functions 2009-12-13 18:42:11 +00:00
Tim-Philipp Müller
4cb197999e docs: misc. mixer docs improvements 2009-12-12 18:58:39 +00:00
Tim-Philipp Müller
f71c4167e0 docs: add short descriptions for API reference contents page 2009-12-12 18:17:32 +00:00
Tim-Philipp Müller
25227e16b5 tag: make internal language names table static 2009-12-12 17:43:26 +00:00
Tim-Philipp Müller
3361d3286d 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.
2009-12-12 17:41:44 +00:00
Tim-Philipp Müller
088c7c07a2 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()
2009-12-12 15:48:37 +00:00
Wim Taymans
e897373a0a ogg: ogm video has constant packet duration 2009-12-11 12:20:13 +01:00
David Schleef
118b62a764 oggdemux: implement old fLaC mapping 2009-12-10 22:48:23 -08:00
Wim Taymans
dc91454984 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
2009-12-10 17:53:01 +01:00
Wim Taymans
d18118418e oggdemux: remove redundant fields 2009-12-10 16:09:09 +01:00
Wim Taymans
43bdb13ec2 vorbisdec: adapt to new oggdemux
Remove all granulepos hacks and simply use the timestamps from the new oggdemux
like any other decoder.
2009-12-10 13:22:00 +01:00
Wim Taymans
79b25e634c vorbisdec: fix peer query 2009-12-09 19:04:18 +01:00
Wim Taymans
1a7c8c7919 theoradec: fix query 2009-12-09 17:24:01 +01:00
Wim Taymans
f1fdf5d3e4 theoradec: small cleanups 2009-12-09 16:55:52 +01:00
Wim Taymans
08c16c0db7 vorbisdec: use gst_pad_peer_query() 2009-12-09 16:38:43 +01:00
Wim Taymans
26071d748f 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.
2009-12-09 12:11:55 +01:00
Sebastian Dröge
01ca87e785 textoverlay: Only flush downstream on seeks for flushing seeks 2009-12-09 09:47:30 +01:00
Sebastian Dröge
d5205bb0fa textoverlay: Proxy buffer allocation on the video sinkpad to the srcpad 2009-12-09 09:36:26 +01:00
Wim Taymans
bc1302cf8e 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.
2009-12-08 17:37:56 +01:00
Wim Taymans
1818d795ee theora: remove granulepos hacks
Remove the granulepos hacking now that oggdemux outputs timestamps like any
other demuxer.
2009-12-08 17:37:56 +01:00
Sebastian Dröge
7bf631e448 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.
2009-12-08 13:41:28 +01:00
Wim Taymans
1ad0e4342e oggdemux: improve keyframe seeking
Improve keyframe seeking.
Fix reverse playback.
2009-12-07 18:49:43 +01:00
Wim Taymans
c53cd385e3 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.
2009-12-07 15:42:05 +01:00
Sebastian Dröge
49fd39c3fd playsink: Some minor cleanup 2009-12-07 09:13:40 +01:00
Sebastian Dröge
930a57db20 playbin2: Reset stream segments on FLUSH_STOP and don't adjust QoS events for non-time segments 2009-12-06 18:06:05 +01:00