Tim-Philipp Müller
6ec5fc8d95
audio: don't use GST_PTR_FORMAT for segments
...
Avoids crashes with debugging output enabled.
2011-09-30 10:56:02 +01:00
Wim Taymans
1395378575
audiodecoder: fix refcounting error
2011-09-28 16:08:14 +02:00
Wim Taymans
ca6ebee870
ringbuffer: store info so we can debug it
2011-09-28 16:07:53 +02:00
Wim Taymans
f97a9bdc68
Merge branch 'master' into 0.11
2011-09-28 15:46:40 +02:00
Mark Nauwelaerts
8633eb391d
audiodecoder: really push pending events
2011-09-28 15:42:46 +02:00
Wim Taymans
19626cf27a
audiodecoder: add method to set output caps
...
Add a method to configure the output caps. Subclasses can't use
gst_pad_set_caps() anymore because then we won't see the caps.
Unbreak the padtemplate registration, the GTypeClass that is configured in the
object during _init is not the right one, we need to use the klass passed as the
argument to the init function..
2011-09-28 15:35:56 +02:00
Tim-Philipp Müller
e4e2e3c7b0
audioencoder: remove more tags from upstream tag events such as bitrate tags
...
We want to remove all codec specific tags.
2011-09-28 14:32:20 +01:00
Wim Taymans
19346c2c3b
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudioencoder.c
gst/playback/gstplaybin2.c
gst/videotestsrc/videotestsrc.c
2011-09-28 11:35:46 +02:00
Mark Nauwelaerts
01d27ee084
audioencoder: only got_data if we really got some
...
... which avoids going loopy with casual subclass.
2011-09-27 16:58:44 +02:00
Mark Nauwelaerts
24d71cf7a6
audioencoder: really push pending events
2011-09-27 16:58:41 +02:00
Mark Nauwelaerts
803b65613b
audioencoder: send tag event after pending events
...
... which probably includes a pending newsegment event.
2011-09-27 16:21:55 +02:00
Mark Nauwelaerts
89f6720545
audioencoder: protect pending_events with proper lock
2011-09-27 16:21:45 +02:00
Mark Nauwelaerts
9a9541ff35
audioencoder: clean up some documentation
2011-09-27 16:21:41 +02:00
Wim Taymans
4bf9022e0c
docs: improve docs
2011-09-27 11:19:24 +02:00
Wim Taymans
c290b8044a
audioenc: fix compilation
2011-09-26 21:11:14 +02:00
Wim Taymans
f71511edd2
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudiodecoder.c
gst-libs/gst/audio/gstaudioencoder.c
gst/encoding/gstencodebin.c
2011-09-26 19:22:05 +02:00
Sebastian Dröge
e4c895dfaf
audioencoder: Improve set_frame_sample_{min,max} documentation
2011-09-26 16:35:55 +02:00
Sebastian Dröge
b767be2f68
audiodecoder: Fix thread safety issues if both pads have different streaming threads
2011-09-26 16:22:00 +02:00
Sebastian Dröge
d0bf465248
audiodecoder: Delay sending of serialized events to finish_frame()
2011-09-26 16:19:42 +02:00
Sebastian Dröge
f3f416004f
Revert "audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code"
...
This reverts commit 11e375486e
.
GST_BOILERPLATE() can't define an abstract type and
G_DEFINE_ABSTRACT_TYPE() does not pass the class struct to
the instance_init function and there's no way to get the
class struct of the current type in instance_init().
2011-09-26 16:02:51 +02:00
Sebastian Dröge
4fa9749106
audioencoder: Add support for requesting a minimum and maximum number of samples per frame
...
This extends the special case of a fixed number of samples per frame
that was supported before already.
2011-09-26 15:59:22 +02:00
Sebastian Dröge
16c3d6b3d5
audioencoder: Fix thread safety issues if both pads have different streaming threads
2011-09-26 15:45:40 +02:00
Sebastian Dröge
61ffd7cb42
audioencoder: Delay sending of serialized events to finish_frame()
...
This makes sure that the caps are already set before any serialized
events are sent downstream.
2011-09-26 15:42:14 +02:00
Sebastian Dröge
11e375486e
audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code
2011-09-26 15:34:54 +02:00
Mark Nauwelaerts
abafb030ac
audioencoder: add some tag handling convenience help
2011-09-26 15:15:03 +02:00
Mark Nauwelaerts
a99b313c26
audioencoder: provide CODEC/AUDIO_CODEC handling
2011-09-26 15:10:08 +02:00
Mark Nauwelaerts
aae0312e10
audioencoder: filter AUDIO_CODEC/CODEC tags from passing tag events
2011-09-26 15:10:06 +02:00
Edward Hervey
17bfba09f1
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggdemux.c
ext/pango/gsttextoverlay.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudiosrc.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Edward Hervey
3f45eb1cfc
gst-libs: Temporarily remove dependency of gstaudio on gstpbutils
...
Also re-order the SUBDIRS in the higher-level Makefile so it cleanly
installs.
https://bugzilla.gnome.org/show_bug.cgi?id=657675
2011-09-23 16:17:45 +02:00
Mark Nauwelaerts
001b4a0072
audioencoder: proxy some more optional downstream caps fields to upstream
2011-09-22 15:47:06 +02:00
Mark Nauwelaerts
2a362a95f7
audioencoder: changed is verily the opposite of equal
2011-09-22 15:47:06 +02:00
Mark Nauwelaerts
b420dd54ea
audioencoder: prevent crashing when comparing to a freshly inited GstAudioInfo
2011-09-22 15:46:56 +02:00
Mark Nauwelaerts
7fa7de9221
audio: some more accessor macros for GstAudioInfo
2011-09-22 15:45:05 +02:00
Mark Nauwelaerts
b44978befe
audiodecoder: fix documentation typo
2011-09-22 15:45:01 +02:00
Tim-Philipp Müller
55182ed841
baseaudiosrc: don't try to fixate "width" field for alaw/mulaw
...
Fixes warning when trying to fixate e.g. pulsesrc ! audio/x-alaw ! fakesink.
2011-09-10 18:30:55 +01:00
Tim-Philipp Müller
4529c6dc32
Merge remote-tracking branch 'origin/master' into 0.11
...
Merge in doc updates for audio enums from 0.10, and get rid
of the #if #else in the enum list, since that confuses gtk-doc.
Conflicts:
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h
2011-09-06 16:42:42 +01:00
Wim Taymans
dc28bd1b63
audio: rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN
2011-09-06 16:27:27 +01:00
Wim Taymans
f04b8fd8af
audio/video add descriptions
...
Add a description to the audio and video format info in case we want to use this
later.
2011-09-06 16:46:48 +02:00
Tim-Philipp Müller
36a75bdb71
audio: update internal silent sample defines as well to match 0.11
2011-09-06 15:46:45 +01:00
Wim Taymans
c0d31dd555
rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN
2011-09-06 16:46:02 +02:00
Tim-Philipp Müller
91d1112360
audio: update audio format enums to match changes in 0.11
...
And add new audio format info stuff to docs.
2011-09-06 15:36:51 +01:00
Wim Taymans
7012e88090
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/gstaudiodecoder.c
gst-libs/gst/audio/gstaudiodecoder.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudioencoder.h
gst/playback/Makefile.am
gst/playback/gstplaybin.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
gst/videoscale/gstvideoscale.c
win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
Wim Taymans
33196cdd2c
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.
2011-09-06 12:06:39 +02:00
Tim-Philipp Müller
9a8a989a22
docs: more docs clean-ups
2011-09-06 10:07:33 +01:00
Tim-Philipp Müller
5e61db25b5
audio: fix GST_AUDIO_FORMAT_INFO_IS_*() macros to return a boolean
2011-09-05 23:28:20 +01:00
Tim-Philipp Müller
ba05716485
docs: some docs love
2011-09-05 23:28:20 +01:00
Tim-Philipp Müller
7563e0c9cf
docs: add GstAudioDecoder and GstAudioEncoder to documentation
2011-09-05 23:28:20 +01:00
Tim-Philipp Müller
86e6343759
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
2011-09-05 23:28:13 +01:00
Wim Taymans
e694528155
base: port to 0.11
2011-08-29 13:28:08 +02:00
Wim Taymans
057aecc34e
audio: fix after merge
2011-08-29 11:42:35 +02:00
Wim Taymans
e1287b97ab
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
2011-08-29 11:37:36 +02:00
Tim-Philipp Müller
517153e85a
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()
2011-08-27 14:47:50 +01:00
Tim-Philipp Müller
58f515f06a
docs: add since markers to baseaudio{decoder,encoder} documentation
2011-08-27 14:47:50 +01:00
Tim-Philipp Müller
90e3d25891
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.
2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
52ecb383d7
baseaudioutils: remove, merged into or superseded by audio.c
2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
7f0c7e5f82
baseaudioencoder: port to new GstAudioInfo API
2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
c89b49bfaf
baseaudiodecoder: port to GstAudioInfo API
2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
946ddb6462
audio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free}
2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
63a3d360dc
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.
2011-08-27 14:47:01 +01:00
Mark Nauwelaerts
bf4a28f420
baseaudioencoder: remove leftover experimental code
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
35b172004c
audioutils: modify _parse, add GType support functions
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
a4d5e33224
baseaudiodecoder: move properties to private storage and add
...
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
7939d37936
baseaudiodecoder: rename property
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
d71e427c49
baseaudiodecoder: replace context helper structure by various
...
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
a39a66dd4b
baseaudioencoder: move properties to private storage and add
...
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
41a0d6f8f0
baseaudioencoder: rename some properties
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
6302c9d31d
baseaudioencoder: replace context helper structure by various
...
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
d1ab04f029
baseaudio: rename GstAudioState to GstAudioFormatInfo
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
ecf57f2b73
baseaudioencoder: TEMP; avoid some imperfect ts jitter ?
...
... even when not in perfect mode ?
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
5a40343102
baseaudioencoder: debug format fixes
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
cedbedbbca
baseaudiodecoder: debug format fix
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
8b6109cdbe
baseaudiodecoder: fixup documentation
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
5003868dc7
baseaudiodecoder: fix FLUSH_STOP actions
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
660aa2e2c0
baseaudiodecoder: preserve upstream seek event seqnum
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
d1f5c34fe7
baseaudioencoder: use buffer running time for granule calculation
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
6c04035eec
baseaudiodecoder: minor fix in ts resync
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
d46006b198
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.
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
79b41f59f6
baseaudiodecoder: add limited legacy seeking support
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
0c33df6540
baseaudiodecoder: cater for audio-codec tag
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
1dbbe7c89d
baseaudiodecoder: initial version
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
87409f2587
baseaudioencoder: misc fixes
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
8c61685554
baseaudio: add audioutils for caps and query handling helper utils
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
cb04eaaa8f
baseaudioencoder: mark unstable API
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
b47c08ba17
baseaudioencoder: fix clearing context
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
e3cae1619c
baseaudioencoder: simplify latency variable handling
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
9ce2edc918
baseaudioencoder: minor fixes and code simplifications
...
Also modify and elaborate a bit on pre_push (though currently unused to no harm).
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
d0e9fbf3db
baseaudioencoder: additional documentation on granule semantics and
...
configuration
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
9f7849eac9
baseaudioencoder: elaborate property names
2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
bf61f04577
baseaudioencoder: rename state field xint to is_int
2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
3d2f496b3a
baseaudioencoder: gtk-doc syntax fixes
2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
51acb02342
baseaudioencoder: minor fix and cleanup
2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
90d99f23c6
baseaudiocodec: ... and also rename to baseaudiodecoder
2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
dfd7616f60
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).
2011-08-27 14:46:58 +01:00
Iago Toral
492ab47fd2
baseaudiodecoder: Return TRUE if we run into special conversion cases.
2011-08-27 14:46:50 +01:00
Iago Toral
2ed1331f43
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.
2011-08-27 14:45:47 +01:00
Iago Toral
9740eb35b8
Added src_queries to decoder class. Added handle_discont to decoder
...
class. Reworked reset. Various other minor fixes.
2011-08-27 14:45:47 +01:00
Iago Toral
d05c805b16
Added a draft implementation of gstbaseaudiodecoder
2011-08-27 14:45:47 +01:00
Mark Nauwelaerts
fc6b421227
Added audio directory for audio codec base classes
2011-08-27 14:45:47 +01:00
Mark Nauwelaerts
ef92c7438d
audioencoders: add streamheader helper utility
2011-08-27 14:45:47 +01:00
Mark Nauwelaerts
80241fde8d
audioencoders: baseaudioencoder and ported encoders
2011-08-27 14:45:47 +01:00