Commit graph

14 commits

Author SHA1 Message Date
Edward Hervey aab5cccc34 vorbisdec: Improve "new headers while initialized" handling
If new headers arrive after we are initialized, we need to make
sure that they are indeed valid.

A vorbis bitstream always begins with three header packets and must
be in order.

Also some streams have unframed (invalid?) headers that might
confuse and disrupt the decoding process.

Therefore if ever we see new headers, we accumulate them and once
we get a non-header packet we check them to make sure that:
* We have at least 3 headers
* They are the expected ones (identification, comments and setup)
* They are in order
* Any other "header" is ignored

If those conditions are met, we reset and reconfigure the decoder

https://bugzilla.gnome.org/show_bug.cgi?id=784530
2018-02-13 08:41:29 +01:00
Tim-Philipp Müller 5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Tim-Philipp Müller 29c266ccff Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	common
	docs/libs/gst-plugins-base-libs.types
	ext/pango/gsttextoverlay.c
	ext/vorbis/gstvorbisdec.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	sys/ximage/ximagesink.c
	sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Mark Nauwelaerts 600b91e878 vorbisdec: simplify tag handling using base class helper 2012-03-06 16:17:55 +01:00
Wim Taymans 73b894107a Merge branch 'master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisdec.c
	ext/vorbis/gstvorbisenc.c
	ext/vorbis/gstvorbisenc.h
	gst/audiotestsrc/gstaudiotestsrc.c
2011-10-08 10:19:06 +02:00
Mark Nauwelaerts f63f09483f vorbisdec: port to audiodecoder 2011-10-07 14:52:53 +02:00
Wim Taymans dae848818d audio: rework audio caps.
Rework the audio caps similar to the video caps. Remove
width/depth/endianness/signed fields and replace with a simple string
format and media type audio/x-raw.
Create a GstAudioInfo and some helper methods to parse caps.
Remove duplicate code from the ringbuffer and replace with audio info.
Use AudioInfo in the base audio filter class.
Port elements to new API.
2011-08-18 19:15:03 +02:00
Thibault Saunier 61c61e9f2f vorbis: add support for using tremolo on android
Tremolo is an ARM-optimised version of xiph's tremor library.
2011-04-16 15:33:16 +01:00
Stefan Kost 4e6cb3e91f vorbis: have a copy_sample func as a func pointer
Make some more variants for copy_sample funcs and use them via function pointer.
2010-05-06 08:22:36 +03:00
Mark Nauwelaerts 708956e281 vorbisdec: remove unused field 2010-03-10 11:24:31 +01:00
Mark Nauwelaerts 32dff24552 vorbisdec: also support ivorbis tremor decoder
... which only needs a bit of refactoring and extracting to support
the minor difference in (i)vorbis interface.

Fixes #609063.
2010-02-15 12:11:35 +01:00
Mark Nauwelaerts 5e06eaa517 vorbisdec: reduce some hard-coding
... such as assuming float all over, and base src caps on template caps.
2010-02-15 12:10:41 +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
Sebastian Dröge dc9a1b945b vorbis: Rename vorbis*.h to gstvorbis*.h to prevent name conflicts 2009-02-24 14:36:39 +01:00
Renamed from ext/vorbis/vorbisdec.h (Browse further)