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
Wim Taymans
6854f2bbf1
multichannel: add some more channels
2011-08-24 18:39:47 +02:00
Wim Taymans
24ea19935f
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.
2011-08-24 16:40:43 +02:00
Wim Taymans
0a1874461a
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.
2011-08-24 14:13:33 +02:00
Wim Taymans
c6758ecfa9
audio: move function to convert
2011-08-22 16:11:27 +02:00
Wim Taymans
3fab57b5cf
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/videooverlay.c
gst-libs/gst/rtp/gstrtpbuffer.c
po/af.po
po/az.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/eu.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/lt.po
po/lv.po
po/nb.po
po/nl.po
po/or.po
po/pl.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sq.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po
2011-08-22 13:06:27 +02:00
Stefan Kost
01bbdd6bdf
docs: handle warnings emitted by gtk-doc
...
This is useful and in most cases someone had put arbitrary markup into the docs,
misspelled xref'ed symbols, forgot to add stuff to the docs etc..
2011-08-20 19:16:42 +02:00
Wim Taymans
0213407fbc
audio: rename INT -> INTEGER
...
Spell INTEGER fully instead of using the int abreviation.
Remove some old functions.
2011-08-20 10:49:17 +02:00
Wim Taymans
7db6fa37b4
audio: add function to build audio format
2011-08-19 16:00:33 +02:00
Wim Taymans
17dd31b0f4
audio: add more macros
2011-08-19 14:03:23 +02:00
Sebastian Dröge
85a3e7c98c
audiofilter: Pass a const pointer to the audio format info to ::setup()
...
It is not meant to be changed by the subclass.
2011-08-19 10:06:39 +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
Wim Taymans
d1a83d7a41
baseaudiosrc: chain up to parent in fixate
2011-08-17 17:24:35 +02:00
Wim Taymans
33467d9629
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/pango/gsttextoverlay.c
ext/theora/gsttheoradec.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/audioresample/gstaudioresample.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin.c
gst/playback/gstdecodebin2.c
tests/check/elements/decodebin2.c
tests/check/elements/playbin-compressed.c
win32/common/libgsttag.def
2011-08-16 18:01:14 +02:00
Wim Taymans
d6740006d4
audio: remove deprecated methods
2011-08-16 16:59:15 +02:00
Josep Torra
5629ed74b3
Fix debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Wim Taymans
86a10fbb9f
baseaudiosrc: call parent alloc function
...
Call the parent alloc function to allocate buffers.
2011-08-04 18:08:49 +02:00
Stefan Sauer
264d91a502
baseaudiosink: fix latency calculation for live elements
...
Max_latency was computed on already adjusted min_latency. Introduce a new
variable for clarity. Spotted by Blaise Gassend.
Fixes #644284
2011-07-28 14:31:47 +02:00
Mark Nauwelaerts
68231a645a
baseaudiosink: fix max latency calculation
...
... to allow infinite max, as also claimed by comment.
2011-07-28 12:05:06 +02:00
Mark Nauwelaerts
5d0f279fea
baseaudiosink: drop samples that are too late
...
... rather than having all of them rendered at 0 or subsequently aligned,
likely inevitably leading to repeated resyncing.
2011-07-28 11:47:52 +02:00
Wim Taymans
a3971d2afe
baseaudiosink: chain up to parent_class correctly
2011-07-26 12:42:22 +02:00
Wim Taymans
8aea5d34bd
baseaudiosink: use new basesink query vmethod
2011-07-26 12:37:04 +02:00
Tim-Philipp Müller
4bf26ba5d2
Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings
2011-07-05 10:07:08 +01:00
Wim Taymans
a58805216a
audio: clean up headers
2011-06-21 18:17:59 +02:00
Wim Taymans
2e837743c3
audio: clean up audiosink headers
2011-06-21 18:13:48 +02:00
Wim Taymans
d9e1e23094
audio: clean up ringbuffer header
2011-06-21 18:08:12 +02:00
Wim Taymans
f9967e4aac
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/video/video.h
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
tests/check/libs/rtp.c
2011-06-02 12:18:13 +02:00
Stefan Kost
940291dd38
audio: move testchannels example to 'tests/examples' dir
...
Also fix it up a little to not include 'c' file but link to the libs instead.
2011-05-27 15:09:25 +03:00
Wim Taymans
e614c6bd81
feature: use object name instaed of feature name
2011-05-24 18:21:06 +02:00
Wim Taymans
010add200a
scheduling: port to new scheduling query
2011-05-24 17:37:45 +02:00
Wim Taymans
a87c021237
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/video/convertframe.c
2011-05-24 09:47:15 +02:00
Stefan Kost
6bee2cb4ee
docs: add missing documentation for various pieces
2011-05-23 23:56:09 +03:00
Thijs Vermeir
dad50ad1fe
baseaudiosink: recalibrate clock on setcaps
...
Because the spec for the ringbuffer can change when changing
the caps, we must recalibrate the clock.
https://bugzilla.gnome.org/show_bug.cgi?id=610443
2011-05-23 17:02:03 +02:00
Stefan Kost
089fdb7792
docs: fixup audio-library docs
2011-05-23 15:08:24 +03:00
Stefan Kost
d6ea8d5cb3
docs: fix docs for new api
...
Some parameters where wrong, first line missed the ':' and return docs where
broken.
2011-05-23 14:56:17 +03:00
Sebastian Dröge
8a0bdbf2bc
audiofilter: gst_pad_template_new() does not take ownership of the caps anymore
...
There's no need to copy the caps before passing them to that function.
2011-05-17 12:31:18 +02:00
Sebastian Dröge
318ed07598
Revert "-base_port to new query API"
...
This reverts commit c9f4e0676b
.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
d0362c2b87
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/alsa/gstalsasrc.c
gst-libs/gst/audio/gstbaseaudiosink.c
gst-libs/gst/tag/gstxmptag.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Wim Taymans
94dfe80f71
-base: port to new SEGMENT API
2011-05-16 13:48:11 +02:00
Arun Raghavan
623e8781ab
baseaudiosink: Use g_str_equal() instead of strncmp()
...
The strncmp is unnecessary anyway since one of the strings is a const
string.
2011-05-14 18:53:12 +05:30
Arun Raghavan
824e643ec9
baseaudiosink: Fix trivial indentation problems
2011-05-14 18:53:12 +05:30
Arun Raghavan
8ff93a6a3d
audio: Add an IEC 61937 payloading library
...
This can be used by sinks to take compressed formats, correctly payload
these in IEC 61937 frames and feed these to sinks that support
passthrough output over IEC 60958 (S/PDIF) or, in the case of MP3, over
Bluetooth.
Initial implementation includes AC3, E-AC3, MPEG-1, MPEG-2 (non-AAC),
and DTS (type-I/II/II) payloading. More formats can be added as needed.
API: gst_audio_iec61937_frame_size()
API: gst_audio_iec61937_payload()
https://bugzilla.gnome.org/show_bug.cgi?id=642730
2011-05-14 18:53:12 +05:30
Arun Raghavan
643e5f586c
baseaudiosink: Allow subclasses to provide payloaders
...
This allows subclasses to provide a "payload" function to prepare
buffers for consumption. The immediate use for this is for sinks that
can handle compressed formats - parsers are directly connected to the
sink, and for formats such as AC3, DTS, and MPEG, IEC 61937 patyloading
might be used.
API: GstBaseAudioSinkClass:payload()
https://bugzilla.gnome.org/show_bug.cgi?id=642730
2011-05-14 18:23:18 +05:30
Arun Raghavan
9615081f9c
ringbuffer: Add support for E-AC3
...
Adds support for pushing E-AC3 buffers and doing bytes-to-ms conversion
correctly. The assumption (as with other formats) is that something like
IEC 61937 payloading will be used. Correspondingly the ringbuffer spec
is populated so that the data rate is 4x normal AC3.
https://bugzilla.gnome.org/show_bug.cgi?id=642730
2011-05-14 18:21:23 +05:30
Arun Raghavan
193fbf93a9
ringbuffer: Add support for MPEG audio buffers
2011-05-14 18:21:16 +05:30
Arun Raghavan
1a1f2cc50a
ringbuffer: Add AAC format types
...
These are meant to be used for buffers containing AAC data. Nothing uses
this yet, but for now it serves to distinguish from GST_BUFTYPE_MPEG
which represents non-AAC MPEG audio.
API: GST_BUFTYPE_MPEG2_AAC
API: GST_BUFTYPE_MPEG4_AAC
2011-05-14 18:20:37 +05:30
Arun Raghavan
33ef9ab054
ringbuffer: Add support for DTS buffers
2011-05-14 16:53:33 +05:30
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Wim Taymans
816f4e791d
segment: fix for new core API
...
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Sebastian Dröge
68a3828adb
audiofilter: GstElement takes ownership of pad templates and it should be called from class_init now, not base_init
2011-04-19 14:31:20 +02:00
Sebastian Dröge
f50b3af5d7
audio: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 10:52:00 +02:00
Sebastian Dröge
0759ce8533
Merge branch 'master' into 0.11
2011-04-18 13:23:32 +02:00
Håvard Graff
d9f1b3736e
ringbuffer: make sure to not start if the may_start flag is FALSE
...
Fixes #635784
2011-04-18 11:40:06 +02:00
Sebastian Dröge
c8792778f8
Merge branch 'master' into 0.11
2011-04-16 16:06:26 +02:00
Tim-Philipp Müller
1d05e81435
libs: gobject-introspection scanner doesn't need to scan or update plugin info
...
Make sure the scanner doesn't load or introspect or check any plugins,
(especially not outside the build directory).
2011-04-16 11:01:53 +01:00
Wim Taymans
6e160bed3d
Merge branch 'master' into 0.11
...
Conflicts:
android/alsa.mk
android/app.mk
android/app_plugin.mk
android/audio.mk
android/audioconvert.mk
android/decodebin.mk
android/decodebin2.mk
android/gdp.mk
android/interfaces.mk
android/netbuffer.mk
android/pbutils.mk
android/playbin.mk
android/queue2.mk
android/riff.mk
android/rtp.mk
android/rtsp.mk
android/sdp.mk
android/tag.mk
android/tcp.mk
android/typefindfunctions.mk
android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Wim Taymans
da1c863711
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/tag/gstvorbistag.c
2011-04-04 11:31:33 +02:00
Stian Johansen
0f8edca902
baseaudiosrc: Add src object lock around call to ringbuffer parse caps.
...
A race was observed between query() and setcaps() where the latter would
change the ringbuffer spec while the former was performing operations
based this data.
2011-04-04 09:35:58 +02:00
Havard Graff
63cfa2a50d
baseaudiosrc: protect against ringbuffer disappearing while in a query
...
Observed a case where the src went to null-state during the query,
hence the spec pointer was no longer valid, and
gst_util_unit64_scale_int crashed (assertion `denom > 0´failed)
Add locking to make sure the ringbuffer can't disappear.
2011-04-04 09:33:33 +02:00
Havard Graff
588ac0ae6f
baseaudiosink: don't allow aligning behind the read-segment
...
Given a large enough drift-tolerance, one could end up in a situation
where one would keep aligning the written buffers behind the current
read-segment position. The result for the reader would be complete
silence, possible preceded by very choppy audio.
By checking the available headroom, one can determine if there is
room to do alignment, or if one should resort to a resync instead to get
the pointers back on track.
Also refactor the alignment-logic out of the render function for cleaner
code.
2011-04-04 09:31:26 +02:00
Wim Taymans
d96a8c1aa7
Merge branch 'master' into 0.11
2011-03-31 17:53:12 +02:00
Mark Nauwelaerts
e73f293ee5
baseaudiosink: arrange for running clock when rendering eos
...
Commit ba2e500bd9
ensured to provide
a running clock when EOS had finished rendering. However,
other measures are needed (and were in place before) to ensure a
running clock when EOS still needs rendering (i.e. waiting).
So, specifically, re-introduce eos_rendering removed in aforementioned commit,
this time as a public variable so subclasses can be aware of the situation.
Fixes (part of) #645961 .
API: GstBaseAudioSink:eos_rendering
2011-03-31 13:18:53 +02:00
Tim-Philipp Müller
45b6bda76c
libs: make sure gobject-introspection scanner calls gst_init()
...
Cherry-picked from 0.11, since it's the right thing to do (we
now silently rely on various _get_type() working without
gst_init() having been called).
2011-03-30 21:08:29 +01:00
Tim-Philipp Müller
a818fe7381
libs: replace 0.10 with @GST_MAJORMINOR@ in Makefile.am
...
For easier cherry-picking/merging later.
2011-03-30 20:57:32 +01:00
Wim Taymans
248ab2d064
Fix for latest API changes
2011-03-30 16:50:45 +02:00
Wim Taymans
536e86e28f
tests: fix more checks
2011-03-28 19:23:38 +02:00
Wim Taymans
e6dc4c189d
tests: fix some unit tests
2011-03-28 16:54:30 +02:00
Wim Taymans
d10602fbde
audiosink: improve comment
2011-03-28 10:25:38 +02:00
Wim Taymans
3d25a4b470
libs: port to new data API
2011-03-27 13:55:15 +02:00
Tim-Philipp Müller
842911d241
libs: make sure gobject-introspection scanner calls gst_init()
...
Fixes introspection failures caused by type assertions/warnings.
Since we now moved from _get_type() functions to external GType
variables in a couple of places, we actually have to call gst_init()
to make sure these are set when we use GST_TYPE_FOO.
2011-03-09 12:17:14 +00:00
Wim Taymans
8a786d10be
baseaudiosink: use sink preroll lock
2011-03-04 17:25:46 +01:00
Wim Taymans
6aa22111a1
Merge branch 'master' into 0.11
2011-03-04 16:21:13 +01:00
Mark Nauwelaerts
ba2e500bd9
baseaudiosink: start ringbuffer upon going to PLAYING and already EOS
...
... otherwise we may end up without running clock in PLAYING.
Fixes #636886 .
2011-03-04 14:10:30 +01:00
Wim Taymans
65ba216b8c
baseaudiosink: remove deprecated method
2011-02-28 11:50:03 +01:00
Wim Taymans
c6dd11981d
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
Felipe Contreras
21d1e2ded0
baseaudiosink: trivial cleanups
...
It seems these stuff was neglected from commmit d8942e2
.
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-01-30 15:40:53 +02:00
Tim-Philipp Müller
0ed757db33
gobject-introspection: use same PKG_CONFIG_PATH for g-ir-compiler as for g-ir-scanner
...
Make sure to use the PKG_CONFIG_PATH set at configure time instead of
just relying on an env-var set one. This makes sure both g-ir-compiler
and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
paths etc.
2011-01-08 02:10:03 +00:00
Tim-Philipp Müller
9c9afee1cf
baseaudiosink: default to enable-last-buffer=FALSE for audio sinks
...
There isn't really any good reason to get the last buffer from an
audio sink, so don't make the sink keep it around unnecessarily.
2011-01-02 17:21:54 +00:00
Havard Graff
60ff7c0eb4
baseaudiosink: protect against ringbuffer disappearing while in a query
...
Observed a case where the sink went to null-state during the query,
hence the ringbuffer-pointer was NULL, causing a crash.
Moving the ringbuffer-check code until after the query, and hold the
lock during the check and while using the spec-values. It should not matter
to the query wether the ringbuffer is present or not, and it actually
gets a time bit more time to get the ringbuffer set up in this case!
Fixes #635231
2010-12-29 12:29:40 +01:00
Wim Taymans
eee6bc7dc9
more 0.10 -> 0.11 changes
2010-12-06 17:09:10 +01:00
Evan Nemerson
8fb2c27ed0
introspection: Add information on exported packages to GIRs
...
https://bugzilla.gnome.org/show_bug.cgi?id=635392
2010-11-21 00:44:37 +00:00
Stefan Kost
83c14483ed
various: add a missing G_PARAM_STATIC_STRINGS flag to object properties
2010-10-13 16:13:31 +03:00
Tim-Philipp Müller
751c34bffc
audio: make public get_type() functions thread-safe
2010-10-08 11:34:58 +01:00
Tim-Philipp Müller
6b7af81e30
audio: fix enum value name in enums that are public API
...
So run-time bindings can introspect the names correctly (we abuse this
field as description field only in elements, not for public API
(where the description belongs into the gtk-doc chunk).
https://bugzilla.gnome.org/show_bug.cgi?id=629746
2010-10-08 11:34:58 +01:00
Wim Taymans
84dba3698d
baseaudiosink: add Since markers
...
Fixes #630443
2010-09-24 13:09:28 +02:00
Havard Graff
3067a83df2
baseaudiosink: Added getter and setter for drift tolerance.
2010-09-24 13:06:35 +02:00
Wim Taymans
c89082b2dd
baseaudiosink: subtract the render_delay from our latency
...
The latency reported by the base class includes the render_delay, which we don't
want to include when we start slaving our clocks.
See #630441
2010-09-24 12:54:47 +02:00
Sebastian Dröge
550d59354f
ringbuffer: Use G_DEFINE_ABSTRACT_TYPE instead of manual GObject boilerplate code
...
This also makes the _get_type() function threadsafe.
Fixes bug #630440 .
2010-09-23 23:58:50 +02:00
Wim Taymans
24226284b8
baseaudio: avoid taking extra ref on sink/src
...
Don't take an extra ref on the sink and source because that creates a reference
cycle. Instead, use the invalidate method of the clock when the sink and source
are freed. This way, we don't call into the time function anymore after the
objects are disposed.
2010-09-07 18:12:38 +02:00
Wim Taymans
c7972692d3
audioclock: add a function to invalidate the clock
...
Add a function to invalidate the time function of a clock. Useful for when the
function becomes invalid.
2010-09-07 18:12:38 +02:00
Tim-Philipp Müller
e776699036
build: use new AG_GST_PKG_CONFIG_PATH m4 macro from common
...
Sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am
(avoids trailing ':' in PKG_CONFIG_PATH used).
2010-08-14 19:12:37 +01:00
Tim-Philipp Müller
b61b83376a
introspection: set PKG_CONFIG_PATH so that our in-tree libs come first when calling scanner
...
When calling gobject-introspection scanner, make sure our own
freshly-built libs within the source tree (well, build dir) come
first in the PKG_CONFIG_PATH. May or may not help to make sure
that it doesn't pick up older external plugins-base libs (or
.gir files) from outside the source tree / build directory as
dependencies of the introspected lib instead of using the
stuff we just built in a sibling directory.
https://bugzilla.gnome.org/show_bug.cgi?id=623698
2010-08-14 19:11:48 +01:00
Sebastian Dröge
b296c96169
baseaudiosink/baseaudiosrc: Post CLOCK-LOST/CLOCK-PROVIDE when going to/from READY
...
Otherwise the clocks are redistributed every time the pipeline
goes to PAUSED, which is quite expensive.
2010-08-04 15:19:42 +02:00
Wim Taymans
f9404c0b27
ringbuffer: improve debugging
2010-08-04 10:33:32 +02:00
Wim Taymans
2304ff9095
ringbuffer: whitespace fixes
2010-08-04 10:33:32 +02:00
Sebastian Dröge
ed271ff809
baseaudiosink: Post clock-provide and clock-lost messages when going from/to PLAYING
2010-07-16 17:40:45 +02:00
Sebastian Dröge
e84c7f02b4
baseaudiosrc: Post clock-provide and clock-lost messages when going from/to PLAYING
2010-07-16 17:40:45 +02:00
Sebastian Dröge
f1ac770f1b
baseaudiosink: Use new gst_audio_clock_new_full()
2010-07-16 17:40:45 +02:00
Sebastian Dröge
32b0b0aef9
baseaudiosrc: Use new gst_audio_clock_new_full()
2010-07-16 17:40:45 +02:00