Wim Taymans [Tue, 6 Sep 2011 10:06:39 +0000 (12:06 +0200)]
audio: change audio format syntax a little
Remove the _ in front of the endianness prefix.
Remove the _3 postfix for the 24 bits formats.
Add a _32 postfix after the formats that occupy extra space beyond their
natural size.
The result is that the GST_AUDIO_NE() macro can simply append the endianness
after all formats and that we only specify a different sample width when it is
different from the natural size of the sample. This makes things more consistent
and follows the pulseaudio conventions instead of the alsa ones.
Wim Taymans [Wed, 31 Aug 2011 11:32:21 +0000 (13:32 +0200)]
video: improve docs a little
Wim Taymans [Tue, 30 Aug 2011 12:04:54 +0000 (14:04 +0200)]
video: add some more macros
Wim Taymans [Mon, 29 Aug 2011 11:33:49 +0000 (13:33 +0200)]
playsink: fix ts_offset refcounting
Wim Taymans [Mon, 29 Aug 2011 11:28:08 +0000 (13:28 +0200)]
base: port to 0.11
Wim Taymans [Mon, 29 Aug 2011 09:42:35 +0000 (11:42 +0200)]
audio: fix after merge
Wim Taymans [Mon, 29 Aug 2011 09:38:01 +0000 (11:38 +0200)]
pbutils: port to new API
Wim Taymans [Mon, 29 Aug 2011 09:37:36 +0000 (11:37 +0200)]
Merge branch 'master' into 0.11
Conflicts:
ext/ogg/gstoggmux.c
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/multichannel.h
gst-libs/gst/pbutils/Makefile.am
gst-libs/gst/pbutils/gstdiscoverer.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
win32/common/libgstaudio.def
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.
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()
Tim-Philipp Müller [Sat, 27 Aug 2011 12:15:54 +0000 (13:15 +0100)]
docs: add since markers to baseaudio{decoder,encoder} documentation
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.
Tim-Philipp Müller [Sat, 27 Aug 2011 11:41:28 +0000 (12:41 +0100)]
baseaudioutils: remove, merged into or superseded by audio.c
Tim-Philipp Müller [Sat, 27 Aug 2011 11:39:50 +0000 (12:39 +0100)]
baseaudioencoder: port to new GstAudioInfo API
Tim-Philipp Müller [Sat, 27 Aug 2011 11:37:16 +0000 (12:37 +0100)]
baseaudiodecoder: port to GstAudioInfo API
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}
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.
Mark Nauwelaerts [Wed, 17 Aug 2011 16:48:41 +0000 (18:48 +0200)]
baseaudioencoder: remove leftover experimental code
Mark Nauwelaerts [Wed, 17 Aug 2011 16:32:54 +0000 (18:32 +0200)]
audioutils: modify _parse, add GType support functions
Mark Nauwelaerts [Tue, 16 Aug 2011 19:11:42 +0000 (21:11 +0200)]
baseaudiodecoder: move properties to private storage and add
_get/_set
Mark Nauwelaerts [Tue, 16 Aug 2011 19:11:52 +0000 (21:11 +0200)]
baseaudiodecoder: rename property
Mark Nauwelaerts [Tue, 16 Aug 2011 18:39:07 +0000 (20:39 +0200)]
baseaudiodecoder: replace context helper structure by various
_get/_set
Mark Nauwelaerts [Tue, 16 Aug 2011 16:59:13 +0000 (18:59 +0200)]
baseaudioencoder: move properties to private storage and add
_get/_set
Mark Nauwelaerts [Tue, 16 Aug 2011 16:25:43 +0000 (18:25 +0200)]
baseaudioencoder: rename some properties
Mark Nauwelaerts [Tue, 16 Aug 2011 16:23:14 +0000 (18:23 +0200)]
baseaudioencoder: replace context helper structure by various
_get/_set
Mark Nauwelaerts [Tue, 16 Aug 2011 15:27:07 +0000 (17:27 +0200)]
baseaudio: rename GstAudioState to GstAudioFormatInfo
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 ?
Mark Nauwelaerts [Thu, 28 Apr 2011 10:01:43 +0000 (12:01 +0200)]
baseaudioencoder: debug format fixes
Mark Nauwelaerts [Thu, 28 Apr 2011 10:01:30 +0000 (12:01 +0200)]
baseaudiodecoder: debug format fix
Mark Nauwelaerts [Thu, 31 Mar 2011 12:03:11 +0000 (14:03 +0200)]
baseaudiodecoder: fixup documentation
Mark Nauwelaerts [Tue, 29 Mar 2011 13:51:40 +0000 (15:51 +0200)]
baseaudiodecoder: fix FLUSH_STOP actions
Mark Nauwelaerts [Mon, 28 Mar 2011 11:16:27 +0000 (13:16 +0200)]
baseaudiodecoder: preserve upstream seek event seqnum
Mark Nauwelaerts [Tue, 22 Mar 2011 10:09:56 +0000 (11:09 +0100)]
baseaudioencoder: use buffer running time for granule calculation
Mark Nauwelaerts [Tue, 22 Mar 2011 09:45:47 +0000 (10:45 +0100)]
baseaudiodecoder: minor fix in ts resync
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.
Mark Nauwelaerts [Thu, 17 Mar 2011 11:09:47 +0000 (12:09 +0100)]
baseaudiodecoder: add limited legacy seeking support
Mark Nauwelaerts [Wed, 16 Mar 2011 13:41:40 +0000 (14:41 +0100)]
baseaudiodecoder: cater for audio-codec tag
Mark Nauwelaerts [Thu, 10 Mar 2011 15:01:05 +0000 (16:01 +0100)]
baseaudiodecoder: initial version
Mark Nauwelaerts [Wed, 16 Mar 2011 17:41:03 +0000 (18:41 +0100)]
baseaudioencoder: misc fixes
Mark Nauwelaerts [Tue, 15 Mar 2011 16:27:42 +0000 (17:27 +0100)]
baseaudio: add audioutils for caps and query handling helper utils
Mark Nauwelaerts [Mon, 14 Mar 2011 11:39:49 +0000 (12:39 +0100)]
baseaudioencoder: mark unstable API
Mark Nauwelaerts [Thu, 10 Mar 2011 14:12:54 +0000 (15:12 +0100)]
baseaudioencoder: fix clearing context
Mark Nauwelaerts [Thu, 10 Mar 2011 14:12:19 +0000 (15:12 +0100)]
baseaudioencoder: simplify latency variable handling
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).
Mark Nauwelaerts [Wed, 9 Mar 2011 11:44:36 +0000 (12:44 +0100)]
baseaudioencoder: additional documentation on granule semantics and
configuration
Mark Nauwelaerts [Wed, 9 Mar 2011 11:24:34 +0000 (12:24 +0100)]
baseaudioencoder: elaborate property names
Mark Nauwelaerts [Wed, 9 Mar 2011 11:22:04 +0000 (12:22 +0100)]
baseaudioencoder: rename state field xint to is_int
Mark Nauwelaerts [Wed, 9 Mar 2011 11:18:56 +0000 (12:18 +0100)]
baseaudioencoder: gtk-doc syntax fixes
Mark Nauwelaerts [Wed, 9 Mar 2011 11:17:18 +0000 (12:17 +0100)]
baseaudioencoder: minor fix and cleanup
Mark Nauwelaerts [Tue, 1 Mar 2011 13:08:18 +0000 (14:08 +0100)]
baseaudiocodec: ... and also rename to 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).
Iago Toral [Thu, 17 Sep 2009 11:26:28 +0000 (13:26 +0200)]
baseaudiodecoder: Return TRUE if we run into special conversion cases.
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.
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.
Iago Toral [Thu, 6 Aug 2009 13:28:00 +0000 (15:28 +0200)]
Added a draft implementation of gstbaseaudiodecoder
Mark Nauwelaerts [Tue, 1 Mar 2011 10:56:29 +0000 (11:56 +0100)]
Added audio directory for audio codec base classes
Mark Nauwelaerts [Fri, 18 Feb 2011 15:38:37 +0000 (16:38 +0100)]
audioencoders: add streamheader helper utility
Mark Nauwelaerts [Thu, 27 Jan 2011 15:52:50 +0000 (16:52 +0100)]
audioencoders: baseaudioencoder and ported encoders
Wim Taymans [Fri, 26 Aug 2011 12:20:30 +0000 (14:20 +0200)]
base: fix for allocation methods rename
Sebastian Dröge [Fri, 26 Aug 2011 08:03:26 +0000 (10:03 +0200)]
win32: Add new discoverer API
Sebastian Dröge [Fri, 26 Aug 2011 08:03:17 +0000 (10:03 +0200)]
docs: Add new discoverer API
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
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
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
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
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
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.
Edward Hervey [Thu, 25 Aug 2011 15:41:53 +0000 (17:41 +0200)]
win32: Update .def files
Edward Hervey [Thu, 25 Aug 2011 15:41:30 +0000 (17:41 +0200)]
win32: Update pre-generated files
Edward Hervey [Thu, 25 Aug 2011 15:41:11 +0000 (17:41 +0200)]
video: Fix typo in interlaced flag (TTF => TFF)
Wim Taymans [Thu, 25 Aug 2011 14:41:54 +0000 (16:41 +0200)]
video: clean up the custom flags
Clean up the flags, make an enum of them. We can now do this because there are
no subclasses of buffer anymore.
Wim Taymans [Thu, 25 Aug 2011 14:30:49 +0000 (16:30 +0200)]
convert: use new caps
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
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
Wim Taymans [Thu, 25 Aug 2011 11:21:14 +0000 (13:21 +0200)]
audiotestsrc: use base class fill method
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
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
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
Wim Taymans [Wed, 24 Aug 2011 16:39:47 +0000 (18:39 +0200)]
multichannel: add some more channels
Wim Taymans [Wed, 24 Aug 2011 14:40:43 +0000 (16:40 +0200)]
audio/video: add format of the pack functions
Replace the unpack_size with an unpack_format, which is more descriptive of the
kind of data the unpack function will create.
Wim Taymans [Wed, 24 Aug 2011 12:13:33 +0000 (14:13 +0200)]
audio: rename UNPOSITIONED to DEFAULT_POSITIONS
Rename the UNPOSITIONED flag to the DEFAULT_POSITIONS flag because that is
really what the resulting GstAudioInfo will contain as the chanel mappings.
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
Wim Taymans [Wed, 24 Aug 2011 11:52:20 +0000 (13:52 +0200)]
video: Add an id to the video frame
Rename @view_id to @id.
Add an id to the video metadata. Add a method to get the metadata from a buffer
with the given id.
Make a method to map a frame with a certain id. This only maps the frame with
the given id on the video metadata. The generic frame id can be used when a
buffer carries multiple video frames such as in multiview mode but maybe also
when dealing with interlaced video that stores the fields in separate buffers.
Wim Taymans [Wed, 24 Aug 2011 09:05:05 +0000 (11:05 +0200)]
audiotestsrc: fix build
Wim Taymans [Wed, 24 Aug 2011 09:04:53 +0000 (11:04 +0200)]
Merge branch 'master' into 0.11
Conflicts:
ext/ogg/gstoggmux.c
ext/vorbis/gstvorbisenc.c
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
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
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
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
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
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
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
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
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
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
Wim Taymans [Tue, 23 Aug 2011 18:34:24 +0000 (20:34 +0200)]
video: fix chroma-site enums
Wim Taymans [Tue, 23 Aug 2011 17:23:03 +0000 (19:23 +0200)]
video: avoid gst-indent breaking the code
Wim Taymans [Tue, 23 Aug 2011 17:04:34 +0000 (19:04 +0200)]
video: fix docs
Wim Taymans [Tue, 23 Aug 2011 16:57:35 +0000 (18:57 +0200)]
video: add colorimetry info
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
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