Commit graph

1785 commits

Author SHA1 Message Date
Vincent Penquerc'h
ef1469fc8b oggdemux: fix hang on small truncated files
A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.
2012-01-10 16:20:23 +00:00
Vincent Penquerc'h
5df30c1b90 oggmux: fix pad leak 2012-01-10 16:20:23 +00:00
Idar Tollefsen
580b6b2b69 pango: changes includes from brackets to quotes for local files
https://bugzilla.gnome.org/show_bug.cgi?id=667316
2012-01-05 10:52:14 +00:00
Thiago Santos
08022bddc8 oggmux: fix leak when initializing pads
Pads are initialized twice: when requesting pads and when
initializing collectpads. Avoid double initialization by
checking if collectpads are still going to be initialized when
creating request pads.
2011-12-28 09:45:53 -03:00
Tim-Philipp Müller
4fc4aeee71 theoraenc: fix template caps creation on big endian systems 2011-12-23 22:51:59 +00:00
Oleksij Rempel (Alexey Fisher)
5f3a31f4d1 theoraenc: add "dup-on-gap" option
This option will produce duplicate frames if we get
a frame with GAP flag. This will reduce CPU load and file size.

This option should be disabled for real time applications, because it
collects GAP frames and waits until it gets a non GAP frame to start
encoding.

v30.06.2011: make some spell changes.
v03.07.2011: add handling of EOS and discontinuous for dup-on-gap.
v19.12.2011: fix pointer dangling in theora_timefifo_free
v20.12.2010: fix timestamp bug for dup-on-gap=0

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

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2011-12-20 19:43:47 +00:00
Vincent Penquerc'h
229377fb6b 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.
2011-12-16 15:29:21 +00:00
Thibault Saunier
785e006de9 textoverlay: unpremultiply text image
The GstVideoOverlayComposition only supports unpremultiplied ARGB
(for now anyway, support for pre-multiplied alpha is planned.)
2011-12-05 15:37:04 +00:00
Thibault Saunier
cbcf1e0b46 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
2011-12-05 15:37:04 +00:00
Thibault Saunier
2a687b6dfb textoverlay: Make the text_image data a buffer
This way we won't free data that would be attached to some buffer.
2011-12-05 15:37:03 +00:00
Thibault Saunier
a741c0cf11 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.
2011-12-05 15:37:03 +00:00
Thibault Saunier
a018c187a0 textoverlay: Make use of the new video blending utility 2011-12-05 15:37:03 +00:00
Tim-Philipp Müller
5440ae3c18 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.
2011-12-04 20:50:25 +00:00
Tim-Philipp Müller
4828234639 alsamixer: use GRectMutext instead of GStaticRecMutex with newer glib versions 2011-12-04 20:38:19 +00:00
Tim-Philipp Müller
9c307bccc5 alsamixer: embed static mutexes into the mixer structure
instead of allocating them dynamically
2011-12-04 20:21:26 +00:00
Tim-Philipp Müller
0d98aa25b8 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().
2011-12-04 17:16:30 +00:00
Piotr Fusik
14644457b0 various: typo fixes
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Tim-Philipp Müller
e88e47cd24 Revert "alsasrc: Improve timestamp accuracy"
This reverts commit 0b774e0b7c.
2011-11-30 23:15:35 +00:00
Tim-Philipp Müller
e5ae553850 Revert "alsasrc: Fix some compilation errors"
This reverts commit 2b84f5bd74.
2011-11-30 23:15:22 +00:00
Tim-Philipp Müller
4cc8920db4 Revert "alsa: Remove unused but set variable"
This reverts commit e9aed7f31c.
2011-11-30 23:15:12 +00:00
Tim-Philipp Müller
1290f7de0e Revert "alsasrc: fail gracefully when ALSA does not give timestamps"
This reverts commit c7282a5718.
2011-11-30 23:15:03 +00:00
Tim-Philipp Müller
d11849114c Revert "alsasrc: handle the case where the drivers don't supply timestamps"
This reverts commit 8154b69112.
2011-11-30 23:14:54 +00:00
Stefan Sauer
6d167abdfa Revert "alsasrc: style fix"
This reverts commit f70ca6d4cb.
2011-11-30 23:14:44 +00:00
Alessandro Decina
ab921eec11 oggdemux: fix compiler warning 2011-11-29 09:16:20 +01:00
Vincent Penquerc'h
c554463025 Revert "theoradec: move the QoS logic to libgstvideo"
This reverts commit 149a4ce390.

*grumble* I managed to merge something I did not mean to.
2011-11-28 13:27:29 +00:00
Vincent Penquerc'h
96374054ac various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Vincent Penquerc'h
149a4ce390 theoradec: move the QoS logic to libgstvideo
https://bugzilla.gnome.org/show_bug.cgi?id=658241
2011-11-28 12:34:43 +00:00
Stefan Sauer
f70ca6d4cb alsasrc: style fix
Use timestamp==0 instead of mixing it with !timestamp style checks.
2011-11-28 10:55:39 +01:00
Stefan Sauer
8154b69112 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.
2011-11-28 09:13:29 +01:00
Vincent Penquerc'h
c6b9145630 oggmux: set collectpads2 not to wait on sparse streams
https://bugzilla.gnome.org/show_bug.cgi?id=663174
2011-11-25 16:11:01 +00:00
Tim-Philipp Müller
a0639dad38 audio: remove unstable API guards from the audio decoder and encoder base classes 2011-11-25 13:11:54 +00:00
Vincent Penquerc'h
a5c64d5b97 oggdemux: minor cleanup 2011-11-24 17:12:56 +00:00
Vincent Penquerc'h
b0bb1d3539 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
2011-11-24 10:48:48 +01:00
Vincent Penquerc'h
e7079cd8d5 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
2011-11-24 10:48:32 +01:00
Vincent Penquerc'h
db21375406 oggdemux: gather some more stats about bisection
https://bugzilla.gnome.org/show_bug.cgi?id=662475
2011-11-24 10:48:15 +01:00
Vincent Penquerc'h
dbd694c7c4 vorbisenc: do not accept 256 channels, 255 is the max vorbis supports 2011-11-23 16:09:13 +00:00
Vincent Penquerc'h
042b4f9a29 oggstream: extract opus comments if available 2011-11-22 13:29:10 +00:00
Vincent Penquerc'h
bf73491077 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.
2011-11-22 13:15:33 +00:00
Vincent Penquerc'h
9d4989395c oggdemux: add some more debug info when determining start time 2011-11-22 13:01:35 +00:00
Vincent Penquerc'h
2a87d7c8ce oggstream: fix opus duration calculation 2011-11-22 12:55:56 +00:00
Vincent Penquerc'h
ceee36195a oggstream: early out on headers when determining packet duration 2011-11-22 12:00:58 +00:00
Vincent Penquerc'h
e05f1df04b oggstream: account for opus pre-skip in granpos/time mapping 2011-11-22 11:59:54 +00:00
Vincent Penquerc'h
9d2a2750c2 ogg: add opus support 2011-11-19 16:06:09 +00:00
Mark Nauwelaerts
80658564ae vorbisenc: reset tag setter interface when appropriate 2011-11-16 19:03:49 +01:00
Vincent Penquerc'h
51426a3b2d textoverlay: continue processing text when silent
This prevents playback wegding when text buffers are
left to pile up.

https://bugzilla.gnome.org/show_bug.cgi?id=662829
2011-11-08 12:02:49 +00:00
Tim-Philipp Müller
d7fc45f42e docs: fix up some Since: markers 2011-11-07 23:05:44 +00:00
Vincent Penquerc'h
5d3852d91a 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
2011-11-07 12:27:16 +00:00
Vincent Penquerc'h
a81cb3ef7f theoraenc: make logically static const data just so
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:15 +00:00
Vincent Penquerc'h
c1aab3e0a7 theoraenc: use th_packet_iskeyframe instead of peeking at bits
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:14 +00:00
Vincent Penquerc'h
ffbe58fd5a theoraenc: trivial comment typos fixes
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:13 +00:00