Alessandro Decina
bb1561644f
theoraparse: fix assertions in make_granulepos when using the new theora granulepos mapping. Fixes #583903 .
2009-05-26 23:32:48 +02:00
Wim Taymans
f0bb7874a7
oggdemux: fix boundary case for seeking.
...
When we have exactly 0 bytes left to search, make sure we stop instead of going
into an infinite loop.
2009-05-26 13:14:07 +02:00
David Schleef
27cb39b028
schro: Fix usage of adapter_masked_scan_uint32
...
Because *somebody* changed the API without telling me.
2009-05-22 21:27:58 -07:00
David Schleef
62002aead9
schro: Change package name to GST_PACKAGE_NAME
2009-05-22 21:25:06 -07:00
Wim Taymans
d1c73bd00f
vorbisdec: detect and report errors better
...
Check the return values of a couple more libvorbis functions and post an error
when something is wrong instead of continuing and crashing.
2009-05-22 17:41:50 +02:00
Wim Taymans
ed36eafaba
oggdemux: don't loop when at EOS
...
When we try to read the last page, don't try to read past the upper boundary, as
this might cause endless loops.
See #582942
2009-05-19 12:45:59 +02:00
Michael Smith
94ca1b005e
theoradec: for 4:2:2, use Y42B (planar) rather than a packed format.
2009-05-18 22:34:22 -07:00
David Schleef
0f1c5c1b68
schro: Move schro plugin from Schroedinger
...
Previous history is in Schroedinger. Depends on, and is an example
of using, GstBaseVideo* base classes.
Code was reindented, and an #ifdef HAVE_ENCODER removed.
2009-05-15 16:18:59 -07:00
Sebastian Dröge
c3b28a9bff
vorbisenc: Implement Preset interface
2009-05-15 16:27:41 +02:00
Sebastian Dröge
bcd0aee3f5
theoraenc: Implement Preset interface
2009-05-15 16:27:40 +02:00
Sebastian Dröge
2ea16837e7
oggmux: Implement Preset interface
2009-05-15 16:27:40 +02:00
Wim Taymans
117686abc5
visual: remove next_ts variable
...
We can remove the next_ts variable as we don't use it anymore.
2009-05-13 19:27:54 +02:00
Wim Taymans
6eb549ab92
visual: use new adapter timestamp code
...
Use the new adapter timestamp tracking code to make things easier and produce
vastly better output timestamps.
2009-05-13 19:24:15 +02:00
Christian Schaller
705e7750c5
Add ranks to the Oggmuxer, Vorbis encoder and Theora encoder
2009-05-12 12:17:55 +01:00
Wim Taymans
6cee823237
oggmux: small debug statement in DISCONT
2009-05-12 10:46:35 +02:00
Wim Taymans
7e43c10754
oggdemux: fix abuse of ogg API, handle broken oggs
...
When we feed the ogg sync layer, we need to feed it contiguous data even if the
sync layer did not consume all of it yet. This makes sure that it always finds
the next page even for more corrupted files. Use a different read_offset for
this purpose. since we now keep track of the sync layer, we don't have to reset
after finding a start of a page.
Add some more debug info for the error paths.
Only reset the sync layer when we perform a seek operation.
Avoid failure when the next chain has no bos pages but instead simply ignore it.
when we receive unknown page serial numbers mid stream, don't fail but post a
warning and hope that we get back on track later.
Fixes #579642
2009-05-12 10:44:17 +02:00
Sebastian Dröge
1d4ba53259
textrender: Correctly initialize the background for ARGB too
2009-05-12 09:03:24 +02:00
Sebastian Dröge
204c327b23
textrender: Use libgstvideo functions to create caps
...
Also check if downstream wants ARGB always when we get
new caps.
2009-05-12 09:03:23 +02:00
Sebastian Dröge
4f5502a896
textrender: Don't always use ARGB if downstream supports it but take it's preference
2009-05-12 09:03:23 +02:00
Kapil Agrawal
2ddf7c8e13
textrender: Add support for ARGB and alignment properties
...
Fixes bug #581571 .
2009-05-12 09:03:23 +02:00
Sebastian Dröge
ce95857718
textrender: Add ; after GST_BOILERPLATE to fix indention
2009-05-12 09:03:23 +02:00
Michael Smith
21c52af2b3
theoradec: fix buffer overrun on 422 decode.
2009-05-10 18:08:13 -07:00
Michael Smith
c94a36bff4
theoradec: 444 support.
2009-05-10 18:08:13 -07:00
Michael Smith
62b571b93b
theoradec: handle 422 images (as YUY2).
2009-05-10 18:08:13 -07:00
Michael Smith
a91b7f0857
theoradec: rearrange code in preparation for 422 and 444 support.
2009-05-10 18:08:12 -07:00
Zaheer Merali
1650272b84
vorbisenc, theoraenc: Ensure gp is computed consistently + clip to segment
...
With vorbisenc, compute the granulepos with running time and clip incoming
buffers to segment.
With theoraenc, drop out of segment buffers.
2009-05-06 13:19:34 +01:00
Jan Schmidt
d14c80b22e
vorbisenc: Ensure output buffers fall within the segment
...
Add the start position of the first segment to the running time
used to generate buffer timestamps in vorbisenc. This avoids generating
buffers which fall outside the initial segment. The element segment
handling requires more extensive fixing, but this at least prevents
regressions. Fixes : #580020
2009-04-29 16:48:45 +01:00
Olivier Crete
c628641880
theoraenc: implement upstream keyframe force
...
Implement handling of upstream keyframe forcing.
Update the design documents too.
Fixes #578656
2009-04-14 18:21:45 +02:00
Olivier Crete
d0c3682627
theoraenc: factor out keyframe forcing
...
See #578656
2009-04-14 18:21:45 +02:00
Edward Hervey
219fe22293
theoradec: return GST_CLOCK_TIME_NONE for negative framecounts.
...
This fixes most seeking issues when used with gnonlin.
Fixes #543591
2009-04-04 15:47:17 +02:00
Tim-Philipp Müller
9938003bd1
alsamixer: don't forget to release locks in a few places
...
Might fix #576585 .
2009-04-02 10:44:25 +01:00
Sebastian Dröge
f1bc9e97aa
textoverlay: Fix drawing of UYVY text borders
2009-03-26 11:02:41 +01:00
Zeeshan Ali
e54e10ad19
textoverlay: Add support for UYVY colorspace
...
Fixes bug #378094 .
2009-03-26 10:36:27 +01:00
Edward Hervey
b7fdb7c6d7
theoradec: Use GST_CLOCK_TIME_NONE for invalid positions. Fixes #543591
...
The problem was that previously we didn't check whether _theora_granule_frame
returned a negative framecount or not, resulting in bogus timestamps.
2009-03-23 11:38:53 +01:00
René Stadler
9f0e053f6e
vorbisenc: Set caps on non-header ouput buffers.
...
Fixes #576142 .
2009-03-21 09:47:23 +01:00
Wim Taymans
4e11b596cb
oggdemux: report -1 for duration in push mode
...
In push mode we must return TRUE from the duration query with a value of -1
meaning that we know that we don't know the duration.
2009-03-17 19:53:44 +01:00
Wim Taymans
e863e4ed1b
vorbisparse: be smarter when queueing headers
...
Look at the first buffer byte to see if a buffer is a header instead of counting
packets.
2009-03-13 15:29:29 +01:00
Wim Taymans
9def0d8c61
theoraparse: be smarter when queuing headers
...
Look at the first byte of the buffer data (if we can) to decide if the packet is
a header packet or not instead of counting packets.
2009-03-13 15:27:51 +01:00
Wim Taymans
51b5f33c3c
oggdemux: add some debug info
...
Add some debug info to log when the seek worked.
2009-03-13 15:26:40 +01:00
Jan Schmidt
77874292a3
vorbisdec: Avoid an unnecessary memory allocation in vorbiscomment handling.
2009-03-13 11:49:10 +00:00
Jan Schmidt
e7d4250fc3
theoradec: Avoid an unnecessary memory allocation in vorbiscomment handling.
2009-03-13 11:48:28 +00:00
Wim Taymans
fac1d4cc09
theoradec: parse and use codec_data in the caps
...
Parse the codec_data in the caps and use this as the headers.
Fixes #574169 .
2009-03-06 19:02:58 +01:00
LRN
95c838f051
gio: Use correct format modifier for size_t
...
Fixes bug #573528 .
2009-02-28 19:37:53 +01:00
Stefan Kost
3d0c70d3d8
alsa: release pcminfo after the strdup
2009-02-27 11:14:25 +02:00
Stefan Kost
c074e84360
alsa: cleanup name lookup.
...
We can break, once we have a name to make sure, we won't read it ever twice.
2009-02-26 18:01:05 +02:00
Stefan Kost
e95bbca65f
giosink: reflow error handling to not leak uri
2009-02-26 18:01:04 +02:00
Sebastian Dröge
dc9a1b945b
vorbis: Rename vorbis*.h to gstvorbis*.h to prevent name conflicts
2009-02-24 14:36:39 +01:00
Sebastian Dröge
2ab2bbd82c
theoraparse: Use the correct unref functions
2009-02-22 19:19:04 +01:00
Benjamin M. Schwartz
d8a33f094c
theoraenc: Add property for speed level control
...
Add property "speed-level" to control the amount of motion searching
the encoder does. This is only available in libtheora >= 1.0 and
will silently fail with earlier libraries. Fixes : #572275 .
Signed-off-by: David Schleef <ds@schleef.org>
2009-02-19 12:38:57 -08:00
Antoine Tremblay
fc23037a9a
alsamixer: Fix race condition that made alsamixer not working properly
...
This is due to race conditions between functions that
modified the mixer like set_volume and
snd_mixer_handle_events since the handle_events
can now be called at any time.
Fixed by adding locking around any snd_mixer call
since even read functions can modify the mixer stucture, since
alsa likes to clear it's values before reading new ones.
The favorite race condition seemed to be that set_volume
called read_elem (in alsalib) that reset the volumes to
0 and then read them with read_x_volume. This read looped
on each channel and as the race condition occured the
channels value could be anything , most of the time
it was 0. Thus no value was read or only the value of
one channel was and the volume was reset to 0.
Fixes bug #478512 .
2009-02-10 11:00:12 +01:00