platform/upstream/gstreamer.git
13 years agodecodebin2: Correctly negotiate format for parsers that can convert different stream...
Sebastian Dröge [Sun, 26 Jun 2011 13:40:17 +0000 (15:40 +0200)]
decodebin2: Correctly negotiate format for parsers that can convert different stream formats

This is done by adding a capsfilter after every parser/converter that contains
all possible caps supported by downstream elements. A capsfilter is necessary
here because the decoder is only selected after the parser selected a format
and the parser can't know what downstream would support otherwise.

13 years agoplaybin2: If a audio/video sink was already selected don't check caps of all other...
Sebastian Dröge [Mon, 5 Sep 2011 13:19:42 +0000 (15:19 +0200)]
playbin2: If a audio/video sink was already selected don't check caps of all other possible sinks

13 years agodecodebin2: Add Tim as author for the parser test
Sebastian Dröge [Tue, 6 Sep 2011 06:25:12 +0000 (08:25 +0200)]
decodebin2: Add Tim as author for the parser test

13 years agodocs: more docs clean-ups
Tim-Philipp Müller [Tue, 6 Sep 2011 09:07:33 +0000 (10:07 +0100)]
docs: more docs clean-ups

13 years agovideorate: don't take the object lock twice in {set,get}_property
Vincent Penquerc'h [Mon, 5 Sep 2011 22:00:30 +0000 (23:00 +0100)]
videorate: don't take the object lock twice in {set,get}_property

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

13 years agoaudio: fix GST_AUDIO_FORMAT_INFO_IS_*() macros to return a boolean
Tim-Philipp Müller [Mon, 5 Sep 2011 21:51:38 +0000 (22:51 +0100)]
audio: fix GST_AUDIO_FORMAT_INFO_IS_*() macros to return a boolean

13 years agodocs: some docs love
Tim-Philipp Müller [Mon, 5 Sep 2011 20:40:05 +0000 (21:40 +0100)]
docs: some docs love

13 years agodocs: add GstAudioDecoder and GstAudioEncoder to documentation
Tim-Philipp Müller [Mon, 5 Sep 2011 19:45:22 +0000 (20:45 +0100)]
docs: add GstAudioDecoder and GstAudioEncoder to documentation

13 years agoaudio: rename GstBaseAudioDecoder/Encoder to GstAudioDecoder/Encoder
Tim-Philipp Müller [Mon, 5 Sep 2011 14:01:09 +0000 (15:01 +0100)]
audio: rename GstBaseAudioDecoder/Encoder to GstAudioDecoder/Encoder

API: gst_gst_audio_decoder_finish_frame()
API: gst_gst_audio_decoder_get_audio_info()
API: gst_gst_audio_decoder_get_byte_time()
API: gst_gst_audio_decoder_get_delay()
API: gst_gst_audio_decoder_get_latency()
API: gst_gst_audio_decoder_get_max_errors()
API: gst_gst_audio_decoder_get_min_latenc()y
API: gst_gst_audio_decoder_get_parse_state()
API: gst_gst_audio_decoder_get_plc()
API: gst_gst_audio_decoder_get_plc_aware()
API: gst_gst_audio_decoder_get_tolerance()
API: gst_gst_audio_decoder_get_type()
API: gst_gst_audio_decoder_set_byte_time()
API: gst_gst_audio_decoder_set_latency()
API: gst_gst_audio_decoder_set_max_errors()
API: gst_gst_audio_decoder_set_min_latency()
API: gst_gst_audio_decoder_set_plc()
API: gst_gst_audio_decoder_set_plc_aware()
API: gst_gst_audio_decoder_set_tolerance()

API: gst_gst_audio_encoder_finish_frame()
API: gst_gst_audio_encoder_get_audio_info()
API: gst_gst_audio_encoder_get_frame_max()
API: gst_gst_audio_encoder_get_frame_samples()
API: gst_gst_audio_encoder_get_hard_resync()
API: gst_gst_audio_encoder_get_latency()
API: gst_gst_audio_encoder_get_lookahead()
API: gst_gst_audio_encoder_get_mark_granule()
API: gst_gst_audio_encoder_get_perfect_timestamp()
API: gst_gst_audio_encoder_get_tolerance()
API: gst_gst_audio_encoder_get_type()
API: gst_gst_audio_encoder_proxy_getcaps()
API: gst_gst_audio_encoder_set_frame_max()
API: gst_gst_audio_encoder_set_frame_samples()
API: gst_gst_audio_encoder_set_hard_resync()
API: gst_gst_audio_encoder_set_latency()
API: gst_gst_audio_encoder_set_lookahead()
API: gst_gst_audio_encoder_set_mark_granule()
API: gst_gst_audio_encoder_set_perfect_timestamp()
API: gst_gst_audio_encoder_set_tolerance()

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

13 years agoencodebin: Select muxer further
Thiago Santos [Wed, 3 Aug 2011 16:31:59 +0000 (13:31 -0300)]
encodebin: Select muxer further

Sort muxers based on their caps and ranking before iterating to
find one that fits the profile.

Sorting is done by putting the elements that have a pad template
that can produce the exact caps that is on the profile. For example:
when asking for "video/quicktime, variant=iso", muxers that
have this exact caps on their pad templates will be put first on
the list than ones that have only "video/quicktime".

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

13 years agodecodebin2: Actually iterate over the factories instead of only taking the first one
Sebastian Dröge [Mon, 5 Sep 2011 18:31:04 +0000 (20:31 +0200)]
decodebin2: Actually iterate over the factories instead of only taking the first one

13 years agotests: supress ERROR log output for some tests
Stefan Sauer [Mon, 5 Sep 2011 13:51:25 +0000 (15:51 +0200)]
tests: supress ERROR log output for some tests

Be nice when we tests for correct error handling and don't spam stdout.

13 years agoRevert "playsink: Try include 'pitch', if no other sink is provided"
Tim-Philipp Müller [Mon, 5 Sep 2011 13:40:24 +0000 (14:40 +0100)]
Revert "playsink: Try include 'pitch', if no other sink is provided"

This reverts commit 105814e2c78f9867c61531b9e8166e4ae994296f.

The general consensus seems to be that we should revert this for
now. If such behaviour is desired, we should probably enable it
via a flag. And maybe use the scaletempo plugin instead.

13 years agoplaysink: Don't leak the videochain ts-offset element
Sebastian Dröge [Mon, 5 Sep 2011 10:02:23 +0000 (12:02 +0200)]
playsink: Don't leak the videochain ts-offset element

Also don't leak the audiochain ts-offset element if one is
found but the sink doesn't support volume settings.

13 years agoplaysink: Use gst_object_unref() instead of g_object_unref() for better debugging
Sebastian Dröge [Mon, 5 Sep 2011 09:55:59 +0000 (11:55 +0200)]
playsink: Use gst_object_unref() instead of g_object_unref() for better debugging

13 years agovideoscale: Add modified Lanczos scaling method
David Schleef [Fri, 18 Mar 2011 02:13:58 +0000 (19:13 -0700)]
videoscale: Add modified Lanczos scaling method

Adds a Lanczos-derived scaling method, which is rather slow, but very
high quality.  Adds a few properties that can be used to tune various
scaling properties: sharpness, sharpen, envelope, dither.  Not currently
Orcified, but was designed with that in mind.

13 years agoplayback: Add define for colorspace element
David Schleef [Mon, 16 May 2011 21:46:52 +0000 (14:46 -0700)]
playback: Add define for colorspace element

Single point of change if you want to switch from ffmpegcolorspace
to colorspace.

13 years agovideorate: fix dynamically changing average period
Sjoerd Simons [Thu, 25 Aug 2011 14:14:58 +0000 (15:14 +0100)]
videorate: fix dynamically changing average period

The average_period_set variable can be accessed in different threads, so
always lock it when reading. Furthermore when switching to averaging
mode we should make sure we don't have cached buffers that aren't used
in that mode. And any modeswitch will cause the latency to change, so we
should post a NewLatency message

13 years agovideorate: Port to basetransform
Sjoerd Simons [Tue, 23 Aug 2011 08:11:52 +0000 (10:11 +0200)]
videorate: Port to basetransform

13 years agoCorrect added versions
Sjoerd Simons [Mon, 22 Aug 2011 13:52:57 +0000 (15:52 +0200)]
Correct added versions

13 years agoplaysink: Only unref ts_offset elements if they're not NULL
Sebastian Dröge [Wed, 31 Aug 2011 12:45:08 +0000 (14:45 +0200)]
playsink: Only unref ts_offset elements if they're not NULL

13 years agodecodebin2: Keep the chain mutex locked while connecting to the notify::caps signal
Sebastian Dröge [Wed, 31 Aug 2011 10:39:18 +0000 (12:39 +0200)]
decodebin2: Keep the chain mutex locked while connecting to the notify::caps signal

13 years agoseek: Accept pipeline descriptions for audiosink/videosink
Jan Schmidt [Tue, 30 Aug 2011 08:21:31 +0000 (18:21 +1000)]
seek: Accept pipeline descriptions for audiosink/videosink

Make the element_factory_make_or_warn utility function try parsing
the input string as a bin if element_factory_make() fails. This makes
the --audiosink/--videosink commandline options accept a pipeline
string.

13 years agoplaysink: Try include 'pitch', if no other sink is provided
Jan Schmidt [Tue, 30 Aug 2011 08:21:31 +0000 (18:21 +1000)]
playsink: Try include 'pitch', if no other sink is provided

As a default, try the pipeline 'pitch ! audioconvert ! autoaudiosink'
before trying plain autoaudiosink

13 years agopbutils: don't depend on libgstvideo just to parse some caps
Tim-Philipp Müller [Sat, 27 Aug 2011 13:57:41 +0000 (14:57 +0100)]
pbutils: don't depend on libgstvideo just to parse some caps

Let's extract those ints and fractions ourselves and not depend
on libgstvideo.

13 years agoaudio: add GstBaseAudioDecoder and GstBaseAudioEncoder to build
Tim-Philipp Müller [Sat, 27 Aug 2011 12:31:07 +0000 (13:31 +0100)]
audio: add GstBaseAudioDecoder and GstBaseAudioEncoder to build

However, libgstaudio now depends on libgstvideo (via pbutils).

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

API: gst_audio_info_clear()
API: gst_audio_info_convert()
API: gst_audio_info_copy()
API: gst_audio_info_free()
API: gst_audio_info_from_caps()
API: gst_audio_info_init()
API: gst_audio_info_to_caps()
API: gst_base_audio_decoder_finish_frame()
API: gst_base_audio_decoder_get_audio_info()
API: gst_base_audio_decoder_get_byte_time()
API: gst_base_audio_decoder_get_delay()
API: gst_base_audio_decoder_get_latency()
API: gst_base_audio_decoder_get_max_errors()
API: gst_base_audio_decoder_get_min_latency()
API: gst_base_audio_decoder_get_parse_state()
API: gst_base_audio_decoder_get_plc()
API: gst_base_audio_decoder_get_plc_aware()
API: gst_base_audio_decoder_get_tolerance()
API: gst_base_audio_decoder_get_type()
API: gst_base_audio_decoder_set_byte_time()
API: gst_base_audio_decoder_set_latency()
API: gst_base_audio_decoder_set_max_errors()
API: gst_base_audio_decoder_set_min_latency()
API: gst_base_audio_decoder_set_plc()
API: gst_base_audio_decoder_set_plc_aware()
API: gst_base_audio_decoder_set_tolerance()
API: gst_base_audio_encoder_finish_frame()
API: gst_base_audio_encoder_get_audio_info()
API: gst_base_audio_encoder_get_frame_max()
API: gst_base_audio_encoder_get_frame_samples()
API: gst_base_audio_encoder_get_hard_resync()
API: gst_base_audio_encoder_get_latency()
API: gst_base_audio_encoder_get_lookahead()
API: gst_base_audio_encoder_get_mark_granule()
API: gst_base_audio_encoder_get_perfect_timestamp()
API: gst_base_audio_encoder_get_tolerance()
API: gst_base_audio_encoder_get_type()
API: gst_base_audio_encoder_proxy_getcaps()
API: gst_base_audio_encoder_set_frame_max()
API: gst_base_audio_encoder_set_frame_samples()
API: gst_base_audio_encoder_set_hard_resync()
API: gst_base_audio_encoder_set_latency()
API: gst_base_audio_encoder_set_lookahead()
API: gst_base_audio_encoder_set_mark_granule()
API: gst_base_audio_encoder_set_perfect_timestamp()
API: gst_base_audio_encoder_set_tolerance()

13 years agodocs: add since markers to baseaudio{decoder,encoder} documentation
Tim-Philipp Müller [Sat, 27 Aug 2011 12:15:54 +0000 (13:15 +0100)]
docs: add since markers to baseaudio{decoder,encoder} documentation

13 years agobaseaudiodecoder, baseaudioencoder: fix some compiler warnings
Tim-Philipp Müller [Sat, 27 Aug 2011 11:47:40 +0000 (12:47 +0100)]
baseaudiodecoder, baseaudioencoder: fix some compiler warnings

Leaving the GST_USE_UNSTABLE_API guards in until some of the
ported decoders have been updated and it's clear that I didn't
mess up anywhere porting things to the new audio API.

13 years agobaseaudioutils: remove, merged into or superseded by audio.c
Tim-Philipp Müller [Sat, 27 Aug 2011 11:41:28 +0000 (12:41 +0100)]
baseaudioutils: remove, merged into or superseded by audio.c

13 years agobaseaudioencoder: port to new GstAudioInfo API
Tim-Philipp Müller [Sat, 27 Aug 2011 11:39:50 +0000 (12:39 +0100)]
baseaudioencoder: port to new GstAudioInfo API

13 years agobaseaudiodecoder: port to GstAudioInfo API
Tim-Philipp Müller [Sat, 27 Aug 2011 11:37:16 +0000 (12:37 +0100)]
baseaudiodecoder: port to GstAudioInfo API

13 years agoaudio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free}
Tim-Philipp Müller [Sat, 27 Aug 2011 10:43:02 +0000 (11:43 +0100)]
audio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free}

13 years agoaudio: add GstAudioFormat, GstAudioFormatInfo and GstAudioInfo
Tim-Philipp Müller [Mon, 22 Aug 2011 19:15:15 +0000 (20:15 +0100)]
audio: add GstAudioFormat, GstAudioFormatInfo and GstAudioInfo

Same as in 0.11, but with caps parsing/serialising for 0.10 style
caps. Add setting default channel positions.

13 years agobaseaudioencoder: remove leftover experimental code
Mark Nauwelaerts [Wed, 17 Aug 2011 16:48:41 +0000 (18:48 +0200)]
baseaudioencoder: remove leftover experimental code

13 years agoaudioutils: modify _parse, add GType support functions
Mark Nauwelaerts [Wed, 17 Aug 2011 16:32:54 +0000 (18:32 +0200)]
audioutils: modify _parse, add GType support functions

13 years agobaseaudiodecoder: move properties to private storage and add
Mark Nauwelaerts [Tue, 16 Aug 2011 19:11:42 +0000 (21:11 +0200)]
baseaudiodecoder: move properties to private storage and add
_get/_set

13 years agobaseaudiodecoder: rename property
Mark Nauwelaerts [Tue, 16 Aug 2011 19:11:52 +0000 (21:11 +0200)]
baseaudiodecoder: rename property

13 years agobaseaudiodecoder: replace context helper structure by various
Mark Nauwelaerts [Tue, 16 Aug 2011 18:39:07 +0000 (20:39 +0200)]
baseaudiodecoder: replace context helper structure by various
_get/_set

13 years agobaseaudioencoder: move properties to private storage and add
Mark Nauwelaerts [Tue, 16 Aug 2011 16:59:13 +0000 (18:59 +0200)]
baseaudioencoder: move properties to private storage and add
_get/_set

13 years agobaseaudioencoder: rename some properties
Mark Nauwelaerts [Tue, 16 Aug 2011 16:25:43 +0000 (18:25 +0200)]
baseaudioencoder: rename some properties

13 years agobaseaudioencoder: replace context helper structure by various
Mark Nauwelaerts [Tue, 16 Aug 2011 16:23:14 +0000 (18:23 +0200)]
baseaudioencoder: replace context helper structure by various
_get/_set

13 years agobaseaudio: rename GstAudioState to GstAudioFormatInfo
Mark Nauwelaerts [Tue, 16 Aug 2011 15:27:07 +0000 (17:27 +0200)]
baseaudio: rename GstAudioState to GstAudioFormatInfo

13 years agobaseaudioencoder: TEMP; avoid some imperfect ts jitter ?
Mark Nauwelaerts [Fri, 17 Jun 2011 09:54:08 +0000 (11:54 +0200)]
baseaudioencoder: TEMP; avoid some imperfect ts jitter ?

... even when not in perfect mode ?

13 years agobaseaudioencoder: debug format fixes
Mark Nauwelaerts [Thu, 28 Apr 2011 10:01:43 +0000 (12:01 +0200)]
baseaudioencoder: debug format fixes

13 years agobaseaudiodecoder: debug format fix
Mark Nauwelaerts [Thu, 28 Apr 2011 10:01:30 +0000 (12:01 +0200)]
baseaudiodecoder: debug format fix

13 years agobaseaudiodecoder: fixup documentation
Mark Nauwelaerts [Thu, 31 Mar 2011 12:03:11 +0000 (14:03 +0200)]
baseaudiodecoder: fixup documentation

13 years agobaseaudiodecoder: fix FLUSH_STOP actions
Mark Nauwelaerts [Tue, 29 Mar 2011 13:51:40 +0000 (15:51 +0200)]
baseaudiodecoder: fix FLUSH_STOP actions

13 years agobaseaudiodecoder: preserve upstream seek event seqnum
Mark Nauwelaerts [Mon, 28 Mar 2011 11:16:27 +0000 (13:16 +0200)]
baseaudiodecoder: preserve upstream seek event seqnum

13 years agobaseaudioencoder: use buffer running time for granule calculation
Mark Nauwelaerts [Tue, 22 Mar 2011 10:09:56 +0000 (11:09 +0100)]
baseaudioencoder: use buffer running time for granule calculation

13 years agobaseaudiodecoder: minor fix in ts resync
Mark Nauwelaerts [Tue, 22 Mar 2011 09:45:47 +0000 (10:45 +0100)]
baseaudiodecoder: minor fix in ts resync

13 years agobaseaudiodecoder: improve glitch resilience
Mark Nauwelaerts [Mon, 21 Mar 2011 10:40:31 +0000 (11:40 +0100)]
baseaudiodecoder: improve glitch resilience

Provide a replacement for GST_ELEMENT_ERROR to avoid aborting at the first
atom out of place, while on the other hand not failing indefinitely.

13 years agobaseaudiodecoder: add limited legacy seeking support
Mark Nauwelaerts [Thu, 17 Mar 2011 11:09:47 +0000 (12:09 +0100)]
baseaudiodecoder: add limited legacy seeking support

13 years agobaseaudiodecoder: cater for audio-codec tag
Mark Nauwelaerts [Wed, 16 Mar 2011 13:41:40 +0000 (14:41 +0100)]
baseaudiodecoder: cater for audio-codec tag

13 years agobaseaudiodecoder: initial version
Mark Nauwelaerts [Thu, 10 Mar 2011 15:01:05 +0000 (16:01 +0100)]
baseaudiodecoder: initial version

13 years agobaseaudioencoder: misc fixes
Mark Nauwelaerts [Wed, 16 Mar 2011 17:41:03 +0000 (18:41 +0100)]
baseaudioencoder: misc fixes

13 years agobaseaudio: add audioutils for caps and query handling helper utils
Mark Nauwelaerts [Tue, 15 Mar 2011 16:27:42 +0000 (17:27 +0100)]
baseaudio: add audioutils for caps and query handling helper utils

13 years agobaseaudioencoder: mark unstable API
Mark Nauwelaerts [Mon, 14 Mar 2011 11:39:49 +0000 (12:39 +0100)]
baseaudioencoder: mark unstable API

13 years agobaseaudioencoder: fix clearing context
Mark Nauwelaerts [Thu, 10 Mar 2011 14:12:54 +0000 (15:12 +0100)]
baseaudioencoder: fix clearing context

13 years agobaseaudioencoder: simplify latency variable handling
Mark Nauwelaerts [Thu, 10 Mar 2011 14:12:19 +0000 (15:12 +0100)]
baseaudioencoder: simplify latency variable handling

13 years agobaseaudioencoder: minor fixes and code simplifications
Mark Nauwelaerts [Thu, 10 Mar 2011 13:28:48 +0000 (14:28 +0100)]
baseaudioencoder: minor fixes and code simplifications

Also modify and elaborate a bit on pre_push (though currently unused to no harm).

13 years agobaseaudioencoder: additional documentation on granule semantics and
Mark Nauwelaerts [Wed, 9 Mar 2011 11:44:36 +0000 (12:44 +0100)]
baseaudioencoder: additional documentation on granule semantics and
configuration

13 years agobaseaudioencoder: elaborate property names
Mark Nauwelaerts [Wed, 9 Mar 2011 11:24:34 +0000 (12:24 +0100)]
baseaudioencoder: elaborate property names

13 years agobaseaudioencoder: rename state field xint to is_int
Mark Nauwelaerts [Wed, 9 Mar 2011 11:22:04 +0000 (12:22 +0100)]
baseaudioencoder: rename state field xint to is_int

13 years agobaseaudioencoder: gtk-doc syntax fixes
Mark Nauwelaerts [Wed, 9 Mar 2011 11:18:56 +0000 (12:18 +0100)]
baseaudioencoder: gtk-doc syntax fixes

13 years agobaseaudioencoder: minor fix and cleanup
Mark Nauwelaerts [Wed, 9 Mar 2011 11:17:18 +0000 (12:17 +0100)]
baseaudioencoder: minor fix and cleanup

13 years agobaseaudiocodec: ... and also rename to baseaudiodecoder
Mark Nauwelaerts [Tue, 1 Mar 2011 13:08:18 +0000 (14:08 +0100)]
baseaudiocodec: ... and also rename to baseaudiodecoder

13 years agogst-libs/gst/audio: Remove baseaudiodecoder
Mark Nauwelaerts [Tue, 1 Mar 2011 12:58:31 +0000 (13:58 +0100)]
gst-libs/gst/audio: Remove baseaudiodecoder

Adds little beyond baseaudiocodec (seeking, bit of query), and what it adds
is mainly out-of-scope (e.g. decoder seeking, should be done by upstream
demuxer/parser) and/or based on non-prime example (mad).

13 years agobaseaudiodecoder: Return TRUE if we run into special conversion cases.
Iago Toral [Thu, 17 Sep 2009 11:26:28 +0000 (13:26 +0200)]
baseaudiodecoder: Return TRUE if we run into special conversion cases.

13 years agoaudio: initial version of GstBaseAudioCodec
Iago Toral [Tue, 1 Sep 2009 12:17:53 +0000 (14:17 +0200)]
audio: initial version of GstBaseAudioCodec

Moved most of the code to GstBaseAudioCodec, GstBaseAudioDecode is
now really small, maybe we do not really need it (or its encoder
counterpart). Added more API for subclasses and documentation.

13 years agoAdded src_queries to decoder class. Added handle_discont to decoder
Iago Toral [Fri, 14 Aug 2009 07:45:52 +0000 (09:45 +0200)]
Added src_queries to decoder class. Added handle_discont to decoder
class. Reworked reset. Various other minor fixes.

13 years agoAdded a draft implementation of gstbaseaudiodecoder
Iago Toral [Thu, 6 Aug 2009 13:28:00 +0000 (15:28 +0200)]
Added a draft implementation of gstbaseaudiodecoder

13 years agoAdded audio directory for audio codec base classes
Mark Nauwelaerts [Tue, 1 Mar 2011 10:56:29 +0000 (11:56 +0100)]
Added audio directory for audio codec base classes

13 years agoaudioencoders: add streamheader helper utility
Mark Nauwelaerts [Fri, 18 Feb 2011 15:38:37 +0000 (16:38 +0100)]
audioencoders: add streamheader helper utility

13 years agoaudioencoders: baseaudioencoder and ported encoders
Mark Nauwelaerts [Thu, 27 Jan 2011 15:52:50 +0000 (16:52 +0100)]
audioencoders: baseaudioencoder and ported encoders

13 years agowin32: Add new discoverer API
Sebastian Dröge [Fri, 26 Aug 2011 08:03:26 +0000 (10:03 +0200)]
win32: Add new discoverer API

13 years agodocs: Add new discoverer API
Sebastian Dröge [Fri, 26 Aug 2011 08:03:17 +0000 (10:03 +0200)]
docs: Add new discoverer API

13 years agodiscoverer: retrieve audio track language from tags too
Vincent Penquerc'h [Wed, 24 Aug 2011 15:29:08 +0000 (16:29 +0100)]
discoverer: retrieve audio track language from tags too

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

13 years agodiscoverer: consider subtitles as raw
Vincent Penquerc'h [Wed, 24 Aug 2011 14:09:47 +0000 (15:09 +0100)]
discoverer: consider subtitles as raw

Otherwise, discoverer will generated an "inner" codec
where there can be a tranformation (eg, kate -> DVD SPU,
and various ->text/x-pango-markup).

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

13 years agodiscoverer: add application/x-kate to subtitles caps
Vincent Penquerc'h [Wed, 24 Aug 2011 14:05:38 +0000 (15:05 +0100)]
discoverer: add application/x-kate to subtitles caps

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

13 years agodiscoverer: get language from other tags if we did not get it already
Vincent Penquerc'h [Wed, 24 Aug 2011 13:59:38 +0000 (14:59 +0100)]
discoverer: get language from other tags if we did not get it already

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

13 years agodiscoverer: add subtitles API
Vincent Penquerc'h [Wed, 24 Aug 2011 14:04:50 +0000 (15:04 +0100)]
discoverer: add subtitles API

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

13 years agoplayback: reference count ts_offset
David Schleef [Sun, 21 Aug 2011 21:51:45 +0000 (14:51 -0700)]
playback: reference count ts_offset

Apparently this object is being used after it's freed.  This is one
way to fix it, although perhaps not the best way.  Fixes: #656715.

13 years agotheoraenc: fix caps leak
Vincent Penquerc'h [Thu, 25 Aug 2011 13:55:14 +0000 (14:55 +0100)]
theoraenc: fix caps leak

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

13 years agobasertppayload: Make perfect timestamps reproducible across element restart
Olivier Crête [Sat, 9 Jul 2011 03:06:46 +0000 (23:06 -0400)]
basertppayload: Make perfect timestamps reproducible across element restart

Without the perfect timestamp machinery, the RTP timestamp can be
computed directly from the running time of a buffer, but the perfect
timestamp patch broke that assumption. This patch restores it by
having the first perfect timestamp be the running time of that buffer
and counting from there.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=654434

13 years agooggmux: fix leaks in skeleton writing
Vincent Penquerc'h [Wed, 24 Aug 2011 16:39:11 +0000 (17:39 +0100)]
oggmux: fix leaks in skeleton writing

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

13 years agooggmux: generate message headers from received tags
Vincent Penquerc'h [Thu, 18 Aug 2011 15:36:23 +0000 (16:36 +0100)]
oggmux: generate message headers from received tags

Some message headers can be deduced from tags (eg, "Language").

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

13 years agoogg: use memory slices where appropriate
Vincent Penquerc'h [Thu, 18 Aug 2011 09:05:17 +0000 (10:05 +0100)]
ogg: use memory slices where appropriate

While there, avoid zeroing newly allocated memory where unnecessary

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

13 years agoplaysink{audio,video}convert: Send NEWSEGMENT events to sinkpads instead of pushing...
Sebastian Dröge [Wed, 24 Aug 2011 12:05:27 +0000 (14:05 +0200)]
playsink{audio,video}convert: Send NEWSEGMENT events to sinkpads instead of pushing them

13 years agooggdemux: do not warn when reaching EOS while scanning for the end chain
Vincent Penquerc'h [Tue, 23 Aug 2011 10:12:10 +0000 (11:12 +0100)]
oggdemux: do not warn when reaching EOS while scanning for the end chain

After all, we were asking for it.

This gets rid of the last warning-about-expected-condition.

w00t.

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

13 years agooggdemux: add media type to chain information reports
Vincent Penquerc'h [Tue, 23 Aug 2011 10:08:25 +0000 (11:08 +0100)]
oggdemux: add media type to chain information reports

One more little step in making logs a little less abstruse.

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

13 years agooggstream: correctly identify skeleton EOS packet
Vincent Penquerc'h [Tue, 23 Aug 2011 10:05:11 +0000 (11:05 +0100)]
oggstream: correctly identify skeleton EOS packet

It is 0 byte, and was triggering the "bad packet" logic.

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

13 years agooggdemux: do not warn about expected occurences
Vincent Penquerc'h [Tue, 23 Aug 2011 09:58:20 +0000 (10:58 +0100)]
oggdemux: do not warn about expected occurences

In this case, finding a skeleton packet.
Once upon a time, it used to be rare indeed, but no more.

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

13 years agooggdemux: do not warn when finding a non BOS page
Vincent Penquerc'h [Tue, 23 Aug 2011 09:47:53 +0000 (10:47 +0100)]
oggdemux: do not warn when finding a non BOS page

After all, we do hope to find actual data for these streams.
However, warn if we could not set up a chain when we find a
non BOS page, as that means we don't have a valid Ogg stream.

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

13 years agooggdemux: rename local variable for clarity
Vincent Penquerc'h [Tue, 23 Aug 2011 09:40:12 +0000 (10:40 +0100)]
oggdemux: rename local variable for clarity

While the casual reader might end up bewildered by just why this
change might increase clarity, it just happens than, in the libogg
and associated sources, op is the canonical name for an ogg_packet
whlie og is the canonical name for an ogg_page, and reading this
code confuses me.

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

13 years agooggdemux: do not try to determine duration of header packets
Vincent Penquerc'h [Tue, 23 Aug 2011 09:32:36 +0000 (10:32 +0100)]
oggdemux: do not try to determine duration of header packets

Headers are inherently durationless.
Instead, set duration to 0 to avoid increasing tracked granpos,
and do not warn about it, since it is totally expected.

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

13 years agooggstream: include stream type in warnings
Vincent Penquerc'h [Tue, 23 Aug 2011 09:29:49 +0000 (10:29 +0100)]
oggstream: include stream type in warnings

It makes it easier to work out what's going on.

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

13 years agooggstream: set skeleton stream media type to application/x-ogg-skeleton
Vincent Penquerc'h [Tue, 23 Aug 2011 09:28:33 +0000 (10:28 +0100)]
oggstream: set skeleton stream media type to application/x-ogg-skeleton

This is to match the typefinder, and to make logs clearer.

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

13 years agooggmux: add skeleton write support
Vincent Penquerc'h [Wed, 17 Aug 2011 16:09:44 +0000 (17:09 +0100)]
oggmux: add skeleton write support

Version written is 3.0

Base times are left empty for now.

Content-Type should be the MIME type of the stream. It is set to
the GStreamer media type for now, which is probably the same for
the streams oggmux supports.

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

13 years agooggdemux: do not skip sparse streams when determining start times
Vincent Penquerc'h [Mon, 22 Aug 2011 13:56:38 +0000 (14:56 +0100)]
oggdemux: do not skip sparse streams when determining start times

This fixes demuxing of streams containing only sparse streams,
which would cause an infinite loop in _read_end_chain.

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

13 years agooggdemux: do not ignore sparse streams' start time
Vincent Penquerc'h [Mon, 22 Aug 2011 13:55:59 +0000 (14:55 +0100)]
oggdemux: do not ignore sparse streams' start time

But do not wait for them either, if we don't have a packet for them.

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