Sebastian Dröge
a103fa85a9
audio{en,de}coder: Track input and output segments separately
...
They can go out of sync for some time if processing of buffers
on the old segment happens after the segment was received.
2012-03-30 13:21:09 +02:00
Sebastian Dröge
9cd9f00799
audioencoder: Add gst_audio_encoder_set_headers() to the docs
2012-03-30 12:57:02 +02:00
Sebastian Dröge
78bcb67ea5
audioencoder: Add function to set in-stream headers
...
API: gst_audio_encoder_set_headers()
This makes the hack in vorbisenc and probably others in ::pre_push()
unnecessary.
2012-03-30 12:47:28 +02:00
Sebastian Dröge
f791ec1f10
audioencoder: Rename ::event() to ::sink_event() and add ::src_event()
2012-03-30 12:23:13 +02:00
Sebastian Dröge
d8cb235fe4
audiodecoder: Rename ::event() to ::sink_event() and add ::src_event()
2012-03-30 12:23:13 +02:00
Sebastian Dröge
40a4f2f8aa
audiodecoder: Rename _byte_time() to _estimate_rate()
...
Which is telling more about what this actually does and is more
consistent with the video base classes.
2012-03-30 11:51:47 +02:00
Mark Nauwelaerts
2ddc6bb63d
audiodecoder: handle downstream seeking query
...
... or not, in line with how segment events are treated.
2012-03-28 16:41:01 +02:00
Wim Taymans
77a4f5865b
audioencoder: avoid caps copy
2012-03-27 15:44:43 +02:00
Wim Taymans
32bd12dba9
Merge branch 'master' into 0.11
...
Conflicts:
.gitignore
common
configure.ac
ext/vorbis/gstvorbisdeclib.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/riff/riff-read.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Wim Taymans
a619d3a8b0
update for memory api changes
2012-03-20 13:20:36 +01:00
Mark Nauwelaerts
278b0f093b
audio: include audio enumtypes
2012-03-19 16:18:56 +01:00
Wim Taymans
dfb8e7cb2c
don't pass random pointers to pull_range
2012-03-16 21:46:47 +01:00
Wim Taymans
4e1ed6f649
audio: fix debug line
2012-03-13 12:39:52 +01:00
Wim Taymans
25137962ad
fix for caps API changes
2012-03-11 19:04:41 +01:00
Wim Taymans
7296ef7c63
audiobasesink: add some G_LIKELY
2012-03-09 17:15:38 +01:00
Wim Taymans
94869bff38
audio: avoid buffer copy when nothing is clipped
...
when nothing is clipped, return the input buffer instead of creating and
returning an identical copy.
2012-03-09 16:17:54 +01:00
Sebastian Dröge
7ff608889a
audio{en,de}coder: Add optional open/close vfuncs
...
This can be used to do something in NULL->READY, like checking
if a hardware codec is actually available and to error out early.
2012-03-09 10:56:07 +01:00
Tim-Philipp Müller
29c266ccff
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
common
docs/libs/gst-plugins-base-libs.types
ext/pango/gsttextoverlay.c
ext/vorbis/gstvorbisdec.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Mark Nauwelaerts
8a3f818dce
audiodecoder: add some tag handling convenience help
2012-03-06 16:17:37 +01:00
Mark Nauwelaerts
5a0fff76f3
audiodecoder: add baseclass _CAST macro
2012-03-06 16:17:33 +01:00
Mark Nauwelaerts
d19f5467cc
audio: add helper function to convert mask to channel positions
...
... as there may be other than raw audio formats using a channel mask,
and there is already one to convert the other way around.
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
debbc75272
audioencoder: stop proxying some old-style 0.10 raw audio caps fields
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
1a2863bf33
audioencoder: store segment event as pending event to forego dropping it
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
aae64c40a8
audiodecoder: plug caps leak when setting output format
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
3b0a2a60da
audiodecoder: enhance some debug statement
2012-03-05 11:04:20 +01:00
Sebastian Dröge
f7939bb43f
Merge branch 'master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-base-plugins.args
docs/plugins/gst-plugins-base-plugins.hierarchy
docs/plugins/gst-plugins-base-plugins.interfaces
docs/plugins/inspect/plugin-adder.xml
docs/plugins/inspect/plugin-alsa.xml
docs/plugins/inspect/plugin-app.xml
docs/plugins/inspect/plugin-audioconvert.xml
docs/plugins/inspect/plugin-audiorate.xml
docs/plugins/inspect/plugin-audioresample.xml
docs/plugins/inspect/plugin-audiotestsrc.xml
docs/plugins/inspect/plugin-cdparanoia.xml
docs/plugins/inspect/plugin-encoding.xml
docs/plugins/inspect/plugin-ffmpegcolorspace.xml
docs/plugins/inspect/plugin-gdp.xml
docs/plugins/inspect/plugin-gio.xml
docs/plugins/inspect/plugin-gnomevfs.xml
docs/plugins/inspect/plugin-libvisual.xml
docs/plugins/inspect/plugin-ogg.xml
docs/plugins/inspect/plugin-pango.xml
docs/plugins/inspect/plugin-playback.xml
docs/plugins/inspect/plugin-subparse.xml
docs/plugins/inspect/plugin-tcp.xml
docs/plugins/inspect/plugin-theora.xml
docs/plugins/inspect/plugin-typefindfunctions.xml
docs/plugins/inspect/plugin-uridecodebin.xml
docs/plugins/inspect/plugin-videorate.xml
docs/plugins/inspect/plugin-videoscale.xml
docs/plugins/inspect/plugin-videotestsrc.xml
docs/plugins/inspect/plugin-volume.xml
docs/plugins/inspect/plugin-vorbis.xml
docs/plugins/inspect/plugin-ximagesink.xml
docs/plugins/inspect/plugin-xvimagesink.xml
gst-libs/gst/app/gstappsink.c
gst-libs/gst/audio/mixer.c
gst-libs/gst/audio/mixer.h
gst-libs/gst/tag/gstxmptag.c
gst-libs/gst/video/colorbalance.c
gst-libs/gst/video/colorbalance.h
gst/adder/gstadder.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/videoscale/gstvideoscale.c
tests/check/elements/videoscale.c
tests/examples/seek/seek.c
tests/examples/v4l/probe.c
win32/common/_stdint.h
win32/common/audio-enumtypes.c
win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans
502c12f827
update for metadata API changes
2012-02-29 17:25:10 +01:00
Wim Taymans
a232714065
meta: add return value to transform
2012-02-28 16:18:30 +01:00
Wim Taymans
1c05eeece5
update for metadata tags
2012-02-28 12:10:14 +01:00
Philippe Normand
63ace8872d
audio: link against libm
...
It is used in gststreamvolume.
2012-02-27 14:36:25 +00:00
Edward Hervey
59918e841f
Suppress deprecation warnings in selected files, for g_value_array_* mostly
2012-02-27 14:28:15 +01:00
Wim Taymans
5a0354b416
audioencoder: don't leak event
2012-02-27 13:08:36 +01:00
Wim Taymans
15eb385412
audioencoder: use default event function
...
Implement a default event function so that subclasses can call it without having
to return FALSE (and make it impossible to report errors).
2012-02-27 12:49:52 +01:00
Wim Taymans
525f330142
update for metadata changes
2012-02-24 10:26:04 +01:00
Wim Taymans
268d52fd33
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/rtsp/gstrtspconnection.c
win32/common/libgstaudio.def
2012-02-17 23:46:17 +01:00
Tim-Philipp Müller
0f6c8a27a7
docs: add new audio base class API to docs and .def file
2012-02-17 15:08:36 +00:00
Wim Taymans
e44dd9db8f
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/pbutils/gstdiscoverer.c
2012-02-16 14:23:28 +01:00
Mark Nauwelaerts
439884d628
audiodecoder: add some properties to tweak baseclass behaviour
...
... so subclass can also rely upon never being bothered with some NULL buffer
it can't do any interesting with, or with any data before it received
any format configuration (and setup properly).
2012-02-16 12:35:53 +01:00
Mark Nauwelaerts
5b4dc02523
audioencoder: add some properties to tweak baseclass behaviour
...
... so subclass can also rely upon never being bothered with less data
than it desires or with some NULL buffer it can't do any interesting with.
2012-02-16 12:35:51 +01:00
Mark Nauwelaerts
95306e8fef
audiodecoder: assert some more that subclass parsed frame has proper len
2012-02-16 12:35:40 +01:00
Wim Taymans
c7d0fb556f
audiodecoder: chain up to parent for defaults
...
Chain up to the parent instead of using the FALSE return value from
the event function (because it's otherwise impossible to return an error).
2012-02-15 13:42:19 +01:00
Wim Taymans
b2fbb2e587
audiodecoder: call default event handler
...
Call the default event handler for unknown events.
2012-02-15 13:03:59 +01:00
Wim Taymans
a75e9102c5
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 15:17:49 +01:00
Mark Nauwelaerts
97d60612a4
audiodecoder: remove stray obsolete declaration
2012-02-06 22:10:28 +01:00
Mark Nauwelaerts
2bf1a4428e
audio: correctly fill in fallback channel positions in stereo case
2012-02-06 22:10:28 +01:00
Wim Taymans
6c08f53416
audiofilter: configure info after calling vmethod
...
First call the vmethod and then configure the audioinfo in the baseclass. This
allows subclasses to know about the old format.
2012-02-06 13:23:26 +01:00
Wim Taymans
fe3e9b90dd
audioencoder: don't unref caps parameter
...
Fix refcounting on incomming caps to make sure we don't unref it too much.
2012-02-03 09:51:00 +01:00
Sebastian Dröge
1cb4029d00
audioencoder: gst_pad_get_pad_template_caps() now returns a new reference, don't forget to unref
2012-02-01 16:33:30 +01:00
Sebastian Dröge
5aa6748151
audio{enc,dec}oder: Check if srcpad caps are a subset of the template caps
2012-02-01 16:32:53 +01:00
Sebastian Dröge
0370b0dc12
audioencoder: Add gst_audio_encoder_set_output_format() function for consistency
2012-02-01 16:27:47 +01:00
Sebastian Dröge
dbd43c7dd3
audiodecoder: Rename set_outcaps() to set_output_format() and take a GstAudioInfo as parameter
2012-02-01 16:27:47 +01:00
Wim Taymans
30af2fe7d6
audiosrc: wait on the right cond variable
...
This broke with a merge commit
2012-01-27 18:27:26 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Sebastian Dröge
68c0790817
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/propertyprobe.c
sys/xvimage/xvimagesink.c
2012-01-25 11:50:54 +01:00
Wim Taymans
3d42f0f6ed
port to new glib thread API
2012-01-19 11:36:17 +01:00
Tim-Philipp Müller
576bbb4fd8
Remove compatibility code cruft for old GLib versions
2012-01-18 17:22:21 +00:00
Mark Nauwelaerts
3e312e6e16
baseaudiosink: commit correct number of samples when not syncing
2012-01-17 21:46:58 +01:00
Mark Nauwelaerts
974c678ec8
audiodecoder: register state change function
2012-01-17 11:53:51 +01:00
Sebastian Dröge
de19cfdd8a
audio: More UNPOSITION flag sanity checks
...
..and turn the GST_WARNING() into a g_warning(). This is a programming
error and should be fixed.
2012-01-11 10:49:49 +01:00
Sebastian Dröge
a03f70e3cd
audio: Add validity check for the UNPOSITIONED audio flag
...
Also reset the flag when parsing caps.
2012-01-11 10:44:37 +01:00
Sebastian Dröge
05beab5382
audiometa: Improve GstAudioDownmixMeta to be actually usable
...
This now has a two-dimensional array of coefficients
as required and also stores the source and destination
channel positions.
2012-01-10 12:46:05 +01:00
Sebastian Dröge
67c8b0dfbd
audio: Don't crash if NULL positions are passed to gst_audio_info_set_format()
2012-01-10 12:02:56 +01:00
Sebastian Dröge
5cb3d75dbf
audiobasesink: Fix infinite recursion by chaining up to the correct parent class vfunc
2012-01-09 14:19:54 +01:00
Sebastian Dröge
bb3eb93ee9
audio: Don't check for channel positions in valid order when converting to a channel mask
2012-01-09 08:24:23 +01:00
Edward Hervey
82da418201
audio: Fix size check
...
We fail (and return) if the size is *NOT* a multiple of samples.
2012-01-06 15:14:59 +01:00
Wim Taymans
dd43d0697e
audio: expose API to convert channel array to a mask
2012-01-05 13:59:32 +01:00
Sebastian Dröge
9e072ea844
audio: Improve/fix handling of NONE layouts
2012-01-05 10:34:25 +01:00
Sebastian Dröge
8dcea5d498
audio: Add support again for more than 64 channels with NONE layouts
2012-01-05 10:34:25 +01:00
Sebastian Dröge
31c9f7d09a
audio: Fix GST_AUDIO_CHANNEL_POSITION_MASK macro
2012-01-05 10:34:25 +01:00
Sebastian Dröge
9d56bf7712
audioencoder: Proxy the channel mask field instead of the old channel-layout field
2012-01-05 10:34:24 +01:00
Sebastian Dröge
8fe5dc53e0
audiocdsrc: Add the layout field to the caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
810bfec656
audio: Add "layout" field to the raw audio caps
...
This can be used to differentiate between interleaved
and non-interleaved audio and whatever comes in the future.
2012-01-05 10:34:24 +01:00
Sebastian Dröge
e2c6b8ec4d
audio: Add function to reorder channel positions from any order to the GStreamer order
2012-01-05 10:34:24 +01:00
Sebastian Dröge
bd40936409
audioringbuffer: Use new function to get a channel reordering map
2012-01-05 10:34:24 +01:00
Sebastian Dröge
9e930a1ade
audio: Add documentation for the new functions
2012-01-05 10:34:24 +01:00
Sebastian Dröge
c9c12372a5
audio: Add public functions to check channel positions validity and to get a reorder map
2012-01-05 10:34:24 +01:00
Sebastian Dröge
225238a913
audioringbuffer: Add support for reordering of channels
2012-01-05 10:34:16 +01:00
Sebastian Dröge
c227f5e77e
audio: Add new channel positions and simplify channel expression in the caps
...
The available channel positions are all channels from SMPTE 2036-2-2008
(in that order) and DTS Coherent Acoustics, which are basically all 28
channels that currently can appear.
The channels are now expressed in the caps as a channel-mask, which
describes which of the channels are present, and an optional
channel-reorder-map, which must only be used after negotiation for
fixated caps.
For negotiation only the channel-mask and the channel count is relevant
and all elements are expected to handle all reorder maps. Elements that
don't can use the new API to reorder an audio buffer from any order to
another order.
This simplifies negotiation a lot while still having as few reorderings
necassary as possible and still allow all kinds of channel layouts.
2012-01-05 10:27:21 +01:00
Wim Taymans
e9eaf17eae
audioencoder: turn assert into a real error
...
Post a real error instead of just asserting. Fixes a unit test.
2012-01-02 15:42:39 +01:00
Tim-Philipp Müller
26e612aeda
playback, mixerutils: gst_registry_get_default() -> gst_registry_get()
2012-01-02 14:32:11 +00:00
Wim Taymans
ed6fd4eb2f
audio: add flag for unpositioned layout
...
Check if thr layout is explicitly unpositioned and set a flag in the
audio info structure.
2012-01-02 15:01:58 +01:00
Tim-Philipp Müller
c3e6e23b85
audio, rtsp: remove private/protected gtk-doc markup for enums
...
This confuses glib-mkenums, and is not really useful anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=666618
2012-01-02 00:19:57 +00:00
Tim-Philipp Müller
d877ef13f5
docs: make gtk-doc happier
2011-12-30 19:24:09 +00:00
Tim-Philipp Müller
62e5a67376
audiocdsrc: remove some probing-related vfuncs
...
GstPropertyProbe was removed, so these aren't actually used
and we probably want something different for the new API.
2011-12-30 16:26:47 +00:00
Tim-Philipp Müller
6a85353a92
audiocdsrc: update for GstIndex removal
2011-12-30 16:18:39 +00:00
Tim-Philipp Müller
31890ef59b
audiocdsrc: make private bits private
2011-12-30 16:12:30 +00:00
Edward Hervey
f562a29284
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
gst-libs/gst/tag/gstexiftag.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/playback/gstdecodebin2.c
gst/playback/gstsubtitleoverlay.c
tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Tim-Philipp Müller
3dfdd6be9d
audioringbuffer: rename GST_BUFTYPE_* to GST_AUDIO_RING_BUFFER_FORMAT_TYPE_*
...
Bit unwieldy, but more appropriate. Could also be moved into
audio.h as GstAudioFormatType.
2011-12-25 21:38:21 +00:00
Tim-Philipp Müller
80095caa40
audioringbuffer: remove unused GstAudioRingBufferSegState enum and field
2011-12-25 21:23:11 +00:00
Mark Nauwelaerts
e3c78ff661
audioencoder: add a few more debug statements
2011-12-22 16:58:37 +01:00
Mark Nauwelaerts
9bfa65b7d3
audiodecoder: tweak documentation
2011-12-22 16:58:34 +01:00
Wim Taymans
ddc05e0ed1
propertyprobe: remove propertyprobe
...
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Sebastian Dröge
2760dd2068
audiobasesrc: Use guint8 instead of guchar
2011-12-20 14:36:28 +01:00
Sebastian Dröge
338622fe7e
audioringbuffer: Use guint8 instead of guchar
2011-12-20 14:36:28 +01:00
Mark Nauwelaerts
c41f3cbef0
audiodecoder: set a non-zero default maximum tolerated errors
...
Whereas the previous default 0 was backwards compatible in that it lead
to erroring out immediately upon any error, elements that are really
ported and using the base class error macro can be assumed to intend to
improve behaviour rather than maintaining the old one. So, make it easy
on those and any future one and tolerate some errors by default, as intended.
Fixes #666579 .
2011-12-20 12:50:18 +01:00
Wim Taymans
7505b7a55c
add audio metadata
...
Add some audio metadata to describe a downmix matrix.
Add metadata to media type document.
2011-12-20 12:02:25 +01:00
Vincent Penquerc'h
12be1e6fc5
baseaudiosink: fix late buffer leak
2011-12-13 12:55:45 +00:00
Tim-Philipp Müller
fb6d09055a
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/alsa/gstalsadeviceprobe.c
ext/alsa/gstalsamixer.c
ext/pango/gsttextoverlay.c
ext/pango/gsttextoverlay.h
gst-libs/gst/audio/gstaudiobasesink.c
gst-libs/gst/audio/gstaudioringbuffer.c
gst-libs/gst/audio/gstaudiosrc.c
gst-libs/gst/video/Makefile.am
gst-libs/gst/video/video.c
gst/encoding/gststreamcombiner.c
gst/encoding/gststreamsplitter.c
gst/playback/gstplaybasebin.c
gst/playback/gststreamsynchronizer.c
gst/playback/gstsubtitleoverlay.c
gst/playback/gsturidecodebin.c
sys/xvimage/xvimagesink.c
tests/examples/Makefile.am
win32/common/libgstvideo.def
Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Wim Taymans
f096b8a8d8
ringbuffer: remove old _full version
2011-12-06 15:06:12 +01:00
Wim Taymans
9e97260c9f
fix for basesrc changes
2011-12-06 13:59:11 +01:00
Tim-Philipp Müller
5440ae3c18
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-04 20:50:25 +00:00
Tim-Philipp Müller
0d98aa25b8
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Wim Taymans
1225aa9a78
update for basesink event handler changes
2011-12-02 22:24:43 +01:00
Tim-Philipp Müller
177525f89f
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/netbuffer/gstnetbuffer.c
gst/ffmpegcolorspace/avcodec.h
gst/ffmpegcolorspace/gstffmpegcodecmap.c
gst/ffmpegcolorspace/imgconvert.c
gst/ffmpegcolorspace/imgconvert_template.h
gst/ffmpegcolorspace/mem.c
gst/playback/README
gst/playback/gstplaybasebin.c
gst/playback/gstplaybasebin.h
gst/playback/gstplaybin.c
sys/v4l/v4lmjpegsrc_calls.c
sys/v4l/videodev_mjpeg.h
tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0
various: typo fixes
...
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Wim Taymans
59113af604
Use the new GstSample for snapshots
...
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Edward Hervey
e44db979f9
audio: Add audio-marshal.list to dist-ed files
2011-11-30 11:33:41 +01:00
Wim Taymans
47cbb230e9
audio: move audio interfaces
...
Move the audio related interfaces to the audio library.
2011-11-30 07:57:02 +01:00
Tim-Philipp Müller
0c056a04fe
Merge commit '4a58223e4c824fedc024af435337a769e8ce593e' into 0.11
2011-11-28 21:20:10 +00:00
Wim Taymans
5b868bd424
Update for indexable change
2011-11-28 18:24:03 +01:00
Wim Taymans
468d1dde89
audio: update for clock provider API change
2011-11-28 17:51:41 +01:00
Mark Nauwelaerts
4a58223e4c
audioencoder: elaborate some documentation
2011-11-28 11:37:33 +01:00
Mark Nauwelaerts
9f57d91137
audiodecoder: add some documentation
2011-11-28 11:37:27 +01:00
Mark Nauwelaerts
856a5dd581
audiodecoder: really discard NULL decoded frame altogether
...
... including any timestamp, rather than having that one influence base_ts.
2011-11-28 11:37:23 +01:00
Tim-Philipp Müller
32b14c6ed3
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisenc.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkconvertbin.c
gst/videorate/gstvideorate.c
2011-11-26 12:12:59 +00:00
Tim-Philipp Müller
a0639dad38
audio: remove unstable API guards from the audio decoder and encoder base classes
2011-11-25 13:11:54 +00:00
Matej Knopp
817f39608c
Fix printf format compiler warnings for OSX / 64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662607
2011-11-22 01:00:59 +00:00
Wim Taymans
8fc2a21775
update for activation changes
2011-11-21 13:35:34 +01:00
Wim Taymans
d0bd5f04c0
update for new scheduling query
2011-11-18 17:58:58 +01:00
Wim Taymans
1ad4d20607
add parent to activate functions
2011-11-18 13:56:04 +01:00
Wim Taymans
285702a1a6
fix for scheduling mode rename
2011-11-18 12:37:10 +01:00
Wim Taymans
7afdff3575
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudiodecoder.c
2011-11-17 17:07:41 +01:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Mark Nauwelaerts
69c2c46472
audioencoder: invalidate format info when setup negotiation failed
...
... which ensures nothing subsequently tries to slip past _chain
and into a possibly improperly setup subclass.
2011-11-16 19:03:47 +01:00
Vincent Penquerc'h
f17f918b75
audiodecoder: accept dropped buffers before we know the format
...
This allows flacdec to not emit audio for headers, while allowing
the base audio decoder to keep its timestamps in sync.
2011-11-16 16:54:03 +00:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25:17 +01:00
Wim Taymans
28157e6f21
_query_peer_*() -> _peer_query_*()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Vincent Penquerc'h
3e095382a1
audiodecoder: accept dropped buffers before we know the format
...
This allows flacdec to not emit audio for headers, while allowing
the base audio decoder to keep its timestamps in sync.
2011-11-15 13:29:31 +00:00
Robert Swain
a23dff1fbb
audio: Remove some unused variables
2011-11-14 12:49:50 +01:00
Mark Nauwelaerts
38615abdd8
audiodecoder: improve reverse playback
...
... by doing some more (reverse) timestamp interpolating and
refactoring downstream pushing.
Fixes #661983 .
2011-11-14 12:00:06 +01:00
Tim-Philipp Müller
c76e5804b3
Update for GstURIHandler get_protocols() changes
2011-11-13 23:44:23 +00:00
Tim-Philipp Müller
455f337e3d
gio, appsrc, appsink, cdaudiosrc: update for GstURIHandler API changes
2011-11-13 18:22:06 +00:00
Tim-Philipp Müller
4b0dce5148
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/audio/Makefile.am
gst-libs/gst/audio/audio.h
tests/examples/seek/jsseek.c
tests/examples/seek/seek.c
tests/icles/test-colorkey.c
2011-11-13 13:36:29 +00:00
Tim-Philipp Müller
cd21e69913
audio: add GST_AUDIO_INFO_IS_VALID macro and use in audio decoder base class
...
API: GST_AUDIO_INFO_IS_VALID
2011-11-13 13:18:16 +00:00
Tim-Philipp Müller
394b1f8c3c
audio: fix order in LIBADD
...
Local libs must come first.
2011-11-12 12:13:05 +00:00
Tim-Philipp Müller
756c9e2948
audio: fix order in LIBADD
...
Local libs must come first.
2011-11-12 11:58:59 +00:00
Tim-Philipp Müller
dfc13ec632
cdda: rename GstCddaBaseSrc to GstAudioCdSrc and move to libgstaudio
...
Another mini-lib down, to make space for new mini libs.
Remove bogus copyright line while at it.
2011-11-12 11:58:58 +00:00
Wim Taymans
c42e257751
audio: fix docs
2011-11-11 19:13:52 +01:00
Wim Taymans
b645287775
audio: fix headers
...
Add const to some methods.
Add padding.
Add GType for GstAudioInfo and GstAudioFormatInfo.
Add new/copy/free for GstAudioInfo.
2011-11-11 17:53:03 +01:00
Wim Taymans
a3416bc11f
rename baseaudio* -> audiobase*
2011-11-11 12:00:52 +01:00
Wim Taymans
ee7072fe7e
rename GstBaseAudio* ->GstAudioBase*
2011-11-11 11:52:47 +01:00
Wim Taymans
3d0ac3ded2
rename files to match contained objects
2011-11-11 11:33:15 +01:00
Wim Taymans
6511f36fdb
audio: GstRingBuffer -> GstAudioRingBuffer
2011-11-11 11:21:41 +01:00
Wim Taymans
b81af23992
audio: rename internal audio ringbuffer
2011-11-11 10:54:39 +01:00
Wim Taymans
ad8f694ec6
remove bogus files
...
They got somehow commited in 7012e88090
2011-11-11 10:39:52 +01:00
Wim Taymans
e338792ab0
update for adapter api changes
2011-11-10 18:32:39 +01:00
Wim Taymans
f8ef57ca48
Merge branch 'master' into 0.11
2011-11-10 17:26:12 +01:00
Vincent Penquerc'h
0d47c615ad
baseaudiosink: make unsigned properties unsigned, not signed
2011-11-10 15:55:31 +00:00
Wim Taymans
57eaf388e0
audio: fix base class vmethods
2011-11-10 16:24:12 +01:00
Wim Taymans
ea9bc40bf9
audiosrc: avoid deadlock
2011-11-10 16:05:19 +01:00
Wim Taymans
1f8fe283f6
audioclock: remove _full version
2011-11-10 13:51:23 +01:00
Wim Taymans
d77c8cafee
Merge branch 'master' into 0.11
...
Conflicts:
common
ext/pango/gsttextoverlay.c
gst-libs/gst/video/video.c
2011-11-09 12:11:59 +01:00
Wim Taymans
372b9329b9
remove query types
2011-11-09 11:47:54 +01:00
Tim-Philipp Müller
d7fc45f42e
docs: fix up some Since: markers
2011-11-07 23:05:44 +00:00
Wim Taymans
7ac25e9b26
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkaudioconvert.h
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstplaysinkvideoconvert.h
2011-11-07 12:23:15 +01:00
Felipe Contreras
3df415d4c7
baseaudiosink: make discont-wait configurable
...
Now we can configure how much time to wait before deciding that a
discont has happened.
Also, adds getter and setter to allow derived implementations to set
this value upon construction.
Suggestions and several improvements by Havard Graff.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-11-07 11:58:46 +01:00
Felipe Contreras
0a111bf26e
baseaudiosink: delay the resyncing of timestamp vs ringbuffertime
...
A common problem for audio-playback is that the timestamps might not
be completely linear. This is specially common when doing streaming over
a network, where you can have jittery and/or bursty packettransmission,
which again will often be reflected on the buffertimestamps.
Now, the current implementation have a threshold that says how far the
buffertimestamp is allowed o drift from the ideal aligned time in the
ringbuffer. This was an instant reaction, and ment that if one buffer
arrived with a timestamp that would breach the drift-tolerance, a resync
would take place, and the result would be an audible gap for the
listener.
The annoying thing would be that in the case of a "timestamp-outlier",
you would first resync one way, say +100ms, and then, if the next
timestamp was "back on track", you would end up resyncing the other way
(-100ms) So in fact, when you had only one buffer with slightly off
timestamping, you would end up with *two* audible gaps. This is the
problem this patch addresses.
The way to "fix" this problem with the previous implementation, would
have been to increase the "drift-tolerance" to a value that was greater
than the largest timestamp-outlier one would normally expect. The big
problem with this approach, however, is that it will allow normal
operations with a huge offset timestamp vs running-time, which is
detrimental to lip-sync. If the drift-tolerance is set to 200ms, it
basically means that lip-sync can easily end up being off by that much.
This patch will basically start a timer when the first breach of
drift-tolerance is detected. If any following timestamp for the next n
nanoseconds gets "back on track" within the threshold, it has basically
eliminated the effect of an outlier, and the timer is stopped. If,
however, all timestamps within this time-limit are breaching the
threshold, we are probably facing a more permanent offset in the
timestamps, and a resync is allowed to happen.
So basically this patch offers something as rare as both higher
accuracy, it terms of allowing smaller drift-tolerances, as well as much
smoother, less glitchy playback!
Commit message and improvments by Havard Graff.
Fixes bug #640859 .
2011-11-07 11:33:32 +01:00
Felipe Contreras
3f1395afae
baseaudiosink: rename some variables
2011-11-07 11:18:34 +01:00
Felipe Contreras
fbde258be6
baseaudiosink: use gst_util_uint64_scale_int when appropriate
...
It's probably safer this way.
2011-11-07 11:11:08 +01:00
Felipe Contreras
369cf3f14a
baseaudiosink: split drift-tolerance into alignment-threshold
...
So that drift-tolerance is used for clock slaving resync, and
alignment-threshold is for timestamp drift.
2011-11-07 11:10:05 +01:00
Felipe Contreras
58b9818853
baseaudiosink: trivial comment fixes
...
Some found by Havard Graff.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-11-07 10:57:56 +01:00
Wim Taymans
2f8292b495
ringbuffer: store bpf in the right variable
2011-11-04 13:21:24 +01:00
Wim Taymans
a5fa136c0b
update for tag API removal
2011-11-02 12:11:16 +01:00
Wim Taymans
5bdfd6d899
structure: fix for api update
2011-11-02 09:04:27 +01:00
Tim-Philipp Müller
b52c5819fb
Update for pad API changes
...
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:34:28 +00:00
Tim-Philipp Müller
220ccdf275
audioencoder: save audio info parsed in setcaps in encoder context
...
Otherwise we'll just error out when the first buffer gets pushed.
This is a porting artefact, in 0.10 the infos were allocated on the
heap, now we're doing everything with stack-allocated structs.
2011-10-31 14:22:39 +00:00
Tim-Philipp Müller
5ee51e47a1
ext, gst, gst-libs, tests: update for tag list API changes
2011-10-31 14:22:39 +00:00
René Stadler
7eb0985282
audio: remove old C file generated from template
...
Not sure how this one got pulled into a merge. In 0.10, it was moved away to
gst-template a long time ago. gstaudiofilterexample.c got generated from
gstaudiofiltertemplate.c.
2011-10-31 15:19:54 +01:00
Wim Taymans
95281cc306
Merge branch 'master' into 0.11
2011-10-28 16:24:44 +02:00
Mersad Jelacic
d430eb65c5
audiosink: avoid deadlocking audioringbuffer thread
...
... when it goes into wait for ringbuffer starting just after such
having been signalled.
Fixes #661738 .
2011-10-28 14:07:40 +02:00
Wim Taymans
b70275fa10
audiofilter: use BPF for unit_size
2011-10-28 11:37:31 +02:00
René Stadler
9beff28579
audiofilter: fix get_unit_size
2011-10-28 11:24:00 +02:00
René Stadler
5d2154ff4b
audiofilter: init audio info sooner
2011-10-28 11:24:00 +02:00
René Stadler
372cf41a6d
audio, video: init audio/video format info to UNKNOWN format
...
This is to prevent e.g. GST_AUDIO_INFO_FORMAT() from crashing on a NULL pointer
dereference when used with an unset info.
2011-10-28 11:24:00 +02:00
Wim Taymans
016d036137
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/audioconvert/channelmixtest.c
gst/playback/gstplaybasebin.c
gst/playback/gstsubtitleoverlay.c
tests/examples/Makefile.am
tests/examples/audio/Makefile.am
2011-10-27 15:44:58 +02:00
Stefan Sauer
53d7d2e966
interfaces: clean up the use of iface and class/klass
2011-10-21 14:46:48 +02:00
Mark Nauwelaerts
981070eb44
audiodecoder: having gather queue contents implies some draining is in order
...
... which ensures e.g. processing and sending last fragment of reverse playback
downstream at EOS.
2011-10-19 16:51:09 +02:00
Tim-Philipp Müller
4e59e63ff7
baseaudiosink: fix unused variable compiler warning if debugging in core is disabled
...
https://bugzilla.gnome.org/show_bug.cgi?id=660150
2011-10-19 00:32:13 +01:00
Edward Hervey
12a8fff8ac
audio: Add some default channel positions
2011-10-17 12:00:55 +02:00
Edward Hervey
b4858253dc
audio: Properly handle signedness in gst_audio_format_build_integer()
2011-10-17 12:00:16 +02:00
Edward Hervey
45c4a19472
audio: Indent and doc fixes
2011-10-17 11:45:39 +02:00
Wim Taymans
f1088ed647
update for UNEXPECTED -> EOS flowreturn
2011-10-10 11:39:52 +02:00
Tim-Philipp Müller
ab949eebbd
audiodecoder: update to 0.11 API after merge
2011-10-09 16:15:54 +01:00
Tim-Philipp Müller
303dbaf84b
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
tests/check/pipelines/vorbisdec.c
tests/check/pipelines/vorbisenc.c
2011-10-09 16:08:36 +01:00
Alessandro Decina
bc6f00becb
audioencoder: fix compile warning
2011-10-09 16:48:18 +02:00
Mark Nauwelaerts
871b1584c9
audioencoder: only resync to upstream upon discont in perfect ts mode
...
... as documented, where discont is marked here if tolerance has been
exceeded.
2011-10-08 20:20:10 +02:00
Mark Nauwelaerts
a7ce550d04
audiodecoder: fix timestamp tolerance handling
2011-10-08 20:20:06 +02:00
Mark Nauwelaerts
d8312994aa
audiodecoder: handle empty input by discarding
2011-10-08 20:20:03 +02:00
Wim Taymans
73b894107a
Merge branch 'master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisdec.c
ext/vorbis/gstvorbisenc.c
ext/vorbis/gstvorbisenc.h
gst/audiotestsrc/gstaudiotestsrc.c
2011-10-08 10:19:06 +02:00
Mark Nauwelaerts
37c629fcc6
audioencoder: make upstream queries MT-safe
2011-10-07 14:52:50 +02:00
Mark Nauwelaerts
77069f01b1
audiodecoder: make upstream queries and events MT-safe
2011-10-07 14:52:48 +02:00
Edward Hervey
b8219faa90
audio: Make sure 'channels' and 'channel-positions' are coherent
...
If channel-positions are present, check they match the reported
'channels' value.
2011-10-05 11:57:54 +02:00
Edward Hervey
70d967da7c
audio: Fix overread in channel positions
...
The array we're writing to is limited to 64 ... but the amount of
input positions might be lower than 64. Therefore use MIN and not
MAX to know how many values to read from the array.
2011-10-05 11:51:07 +02:00
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
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
Sebastian Dröge
8989ad93d9
audioclock: API: Add gst_audio_clock_new_full() with a GDestroyNotify for the user_data
...
Elements usually use their own instance as instance data but the
clock can have a longer lifetime than their elements and the clock
doesn't own a reference of the element.
Fixes bug #623807 .
2010-07-16 17:40:17 +02:00
Wim Taymans
2ced0a3d5d
ringbuffer: check for ringbuffer state first
...
Check for the state of the ringbuffer before doing the checks of the other
buffer properties, when we're not started, we don't care about those values.
2010-06-25 17:21:57 +02:00
Sebastian Dröge
a5c35621c3
Revert "baseaudiosink: Allocate and free the clock in NULL->READY and reverse"
...
This reverts commit cea2644ed8
.
Many audio sink assume that they can create a clock in
the instance init function and it will be there forever
and not be cleared by the state change functions.
2010-06-03 13:44:40 +02:00
Sebastian Dröge
cea2644ed8
baseaudiosink: Allocate and free the clock in NULL->READY and reverse
2010-06-03 10:23:22 +02:00
Vincent Untz
764c899215
libs: point gobject-introspection scanner to .la files
...
Point g-ir-scanner to the .la file of our library, which hopefully
makes it find the right dependencies in all cases (ie. our locally
built libgstreamer and not the system-installed one). This is also
how it's done in Gtk+ and how it's documented in the wiki, see
http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration
Fixes #603710 .
2010-04-03 14:03:45 +01:00
Tim-Philipp Müller
b37c993e4e
gst-libs: more gobject-introspection fixes
...
Use right .pc file variable for compiler includes this time:
g-ir-compiler wants the girdirs not the typelibdirs as includes.
2010-03-30 23:46:10 +01:00
Tim-Philipp Müller
64cfa6bf73
gst-libs: fix up gobject-introspection some more
...
Use new girdir and typlibdir from core .pc files, so we can figure
out the right includes to pass to the gobject-introspection tools,
whether core is installed in the same prefix as gobject-introspection
or in a different prefix or uninstalled. This also keeps us from adding
bogus paths to the includes that only work if core is uninstalled.
Also add some missing includes/pkgs where needed.
2010-03-30 19:56:56 +01:00
Tim-Philipp Müller
58a92964c6
build: Makefile.am fixes
...
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00:00
Mark Nauwelaerts
dcc4b25686
baseaudiosink: arrange for a running ringbuffer/clock for _wait_eos
...
Fixes #612223 .
2010-03-16 15:30:12 +01:00
Tim-Philipp Müller
e836151009
docs: more helper libraries docs fixes
...
Quieten gtk-doc a bit more.
2010-03-16 00:44:50 +00:00
Benjamin Otte
43b1683421
Add -Wmissing-declarations -Wmissing-prototypes to warning flags
...
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Sebastian Dröge
d5a4ca9962
build: Make some more rules silent if requested
2010-03-09 21:01:38 +00:00
Tim-Philipp Müller
e6d868c31c
audiosrc: add gratuitious FIXME for use of generic G_TYPE_POINTER type
2010-01-27 00:42:37 +00:00
Sebastian Dröge
6dfc0270ec
audio: Use rounding scaling functions for GST_CLOCK_TIME_TO_FRAMES and _FRAMES_TO_CLOCK_TIME
...
Fixes bug #607381 .
2010-01-19 09:26:37 +01:00
Tim-Philipp Müller
848a7f2868
baseaudiosink: increase default drift tolerance to fix glitches with WMA
...
Increase default drift tolerance to 40ms to avoid glitches with decoders
or formats where there's a lot of timestamp jitter for some reason or
another (in this case: asf/wma), at least until we implement timestamp
smoothing.
2009-12-20 23:19:41 +00:00
Sebastian Dröge
51e2cafe0e
audiofilter: Use G_DEFINE_ABSTRACT_TYPE_WITH_CODE
...
...and fix code style a bit.
2009-11-26 10:38:29 +01:00
Sebastian Dröge
3949cba47d
audiofilter: Add _CAST variants of the cast macros
2009-11-26 10:38:28 +01:00
Wim Taymans
75c5aed1ba
audiosink: add adjustement when slaving
...
Our calibration against the pipeline clock is done with the adjusted
ringbuffer time, so take the adjustement into account. Fixes some audio dropouts
when reusing audio sinks after switching clocks and slaving methods in a
pipeline.
2009-11-25 10:26:16 -06:00
Stefan Kost
9e8db533a1
debug: fix format string that was missing a var
2009-11-21 17:47:26 +02:00
Wim Taymans
0e6b9e596d
baseaudiosink: fix initial calibration
...
When we are calibrating the internal clock against the external clock take into
account the time offset applied to our internal clock because we will subtract
that in the render_function again.
2009-11-18 17:11:03 +01:00
Mark Nauwelaerts
0fb680f680
baseaudiosrc: fix 'uninitialized' compiler warning
2009-11-18 12:37:44 +01:00
Wim Taymans
4f3f9a1054
basesrc: fix startup position in the ringbuffer
...
When we start and we need to produce the first sample, go to the next sample
that will be written into the ringbuffer instead of trying to go to sample 0.
We relied on rather small ringbuffer sizes to correctly go to the current
sample, which breaks whith large buffers.
Fixes #600945
2009-11-06 12:22:00 +01:00
Wim Taymans
d8942e2850
baseaudiosink: make drift tolerance configurable
...
Add drift-tolerance property (defaulting to 20ms) to handle resync after clock
drift or timestamp drift instead of relying on the latency-time value for clock
drift and 500ms for timestamp drift.
Remove warning about discont timestamp and simply resync. The warning is in some
cases not correct and is triggered more frequently now that we lower the
tolerance value.
2009-11-04 16:16:31 +01:00
Tim-Philipp Müller
6f4c1ac583
Remove GST_DEBUG_FUNCPTR where they're pointless
...
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2009-10-28 00:59:35 +00:00
Stefan Kost
f1c32d0fbb
build: fix previous commit to fully accomodate the glib-gen.mak changes
...
I also renamed glib_enum_prefix to glib_gen_prefix as we also use that for the
marshallers. Also rename the rtsp-marshal.list to work with the unified prefix.
2009-10-16 10:56:56 +03:00
Stefan Kost
a89c1de0ea
build: use gst-glib-gen.mak to fix the glib build rules. Fixes #598114
...
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-16 10:23:09 +03:00
Tommi Myöhänen
02cbde648c
baseaudiosrc: fix timestamp comparission, Fixes #597407
2009-10-13 19:17:49 +03:00
Wim Taymans
5dbaccabca
audioclock: whitespace fixes
2009-10-12 15:47:28 +02:00
Josep Torra
ccec231d2b
audio: fix warnings building on macosx
2009-10-09 14:09:02 +02:00
Sebastian Dröge
df9b8b57b3
introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH
...
This way g-ir-scanner can find the gstreamer-*-0.10 pkg-config files.
2009-09-13 11:19:50 +02:00
Tim-Philipp Müller
e4e8417eeb
ringbuffer: fix build against core that has debugging disabled
...
The macro is called GST_DISABLE_GST_DEBUG, not GST_DISABLE_DEBUG.
2009-09-11 10:03:56 +01:00
Stefan Kost
312d7d8014
ringbuffer: add human readable format names when logging
...
Add string array with human readable names for format and type to be used in log
statements.
2009-09-10 23:01:36 +03:00
Wim Taymans
35cddfb1e3
baseaudiosink: add ugly backward compat hack
...
Check for pulsesink < 0.10.17 because it includes code that is now included in
baseaudiosink. Disable that code in baseaudiosink to be compatible with the
older version.
2009-09-10 12:40:01 +02:00
Wim Taymans
06be2b8632
baseaudiosink: take clock time in setcaps
...
Take the time of the clock so that the last_time field is set. This is important
for sinks that restart their internal ringbuffer after a caps change and need to
know the last know position.
2009-09-09 18:26:03 +02:00
Wim Taymans
451789735c
audioclock: add some more debug
2009-09-09 18:26:03 +02:00
Wim Taymans
fe47c6c4d5
baseaudiosink: correct for clock reset
...
When going to NULL, we reset the ringbuffer so that it starts beck from 0. We
also make sure that the clock is updated with the elapsed time so that it
alsways increments even when the ringbuffer goes back to 0. When this happened
we need to adjust the sample position for the reset ringbuffer.
Fixes #594136
2009-09-09 16:19:32 +02:00
Wim Taymans
47550f6984
baseaudiosink: whitespace fixes
2009-09-09 16:17:02 +02:00
Wim Taymans
70f01fd797
ringbuffer: add more debug
2009-09-09 16:16:40 +02:00
Håvard Graff
058776bcf1
baseaudiosrc: improve slave skew resync
...
The old one did the mistake of not actually advancing the ringbuffer, it just
adjusted the segbase, introducing the whole lenght of the ringbuffer as an
extra delay in the pipeline.
Also make sure that the resync can never go back in time, producing the same
timestamps that has already been produced, as this can cause severe problems
for sinks and other synching mechanisms.
Fixes #594256
2009-09-08 12:59:20 +02:00
Sebastian Dröge
40aba9e0dc
introduction: Fix out-of-tree build
2009-09-05 13:46:58 +02:00
Sebastian Dröge
c53499c62b
audio: Remove debug echo
2009-09-05 13:09:17 +02:00
Sebastian Dröge
93e19acfec
audio: Fix build of introspection data by using dependency order for the headers/sources
2009-09-05 13:08:19 +02:00
Sebastian Dröge
7e90e0846c
introspection: Strip Gst prefix from all types/functions
2009-09-05 12:31:47 +02:00
Sebastian Dröge
7794caf9f8
introspection: Fix build if gir-repository is not installed
2009-09-05 11:49:41 +02:00
Sebastian Dröge
d91f5000e1
libs: Add nodist headers and sources to the introspection files
2009-09-05 11:31:48 +02:00
Sebastian Dröge
403f353bba
audio: Add gobject-introspection support
2009-09-05 11:09:33 +02:00
Eero Nurkkala
8ad8591e41
ringbuffer: Improve audiosink startup performance
...
When we start the ringbuffer, immediatly continue processing samples if the
writer prepared some for us.
Fixes #545807
2009-08-24 13:30:11 +02:00
Tim-Philipp Müller
0021e6b765
Revert inlines that cause compiler warnings and are not needed anyway
2009-08-08 17:51:10 +01:00
Edward Hervey
9329b8be72
gst-libs: Remove dead assignments and resulting unused variables.
2009-08-08 15:54:57 +02:00
Wim Taymans
090808a295
baseaudiosrc: change default slave method
...
Set the default slave method to the much better skew slaving algortihm.
2009-08-06 12:58:58 +02:00
Olivier Crête
429d3555a2
audiofilter: Don't assert on slightly different caps
...
Plugins should not assert on incompatible caps, caps negotiation will
fail anyway.
2009-07-30 14:34:05 +01:00
Olivier Crête
4e88633de4
audiosink: Add stream-status messages
...
Fixes #587695
2009-07-20 12:54:37 +02:00
Olivier Crête
cc0da016f8
audiosrc: Add stream-status messages
...
See #587695
2009-07-20 12:54:37 +02:00
Stefan Kost
0e967f1b14
multichannel: rewrite the new doc comment a bit
...
Its part of the audio lib.
2009-06-29 17:49:58 +03:00
Wim Taymans
8601862e27
ringbuffer: add vmethod to clear the ringbuffer
...
Add a vmethod so that subclasses can be notified when they should clear the data
in the ringbuffer.
2009-06-29 15:17:25 +02:00
Stefan Kost
57a7d6f699
docs: add basic section docs for multichannel and relocate the ones for audio
...
Add section docs for multichannel, so that it has a short desc in the toc too.
Move the section docs in adio up, so that the follow the copyright like
elsewhere.
2009-06-27 23:25:09 +03:00
Wim Taymans
ffd90dda89
audiosrc: fix get_offset
...
When we need to jump to the most recently captured sample, jump to where the
next sample will be written instead of to some old data.
Fixes #581460
2009-06-17 14:00:23 +02:00
Wim Taymans
57a13f28de
audiosink: free the ringbuffer when going to NULL
...
Unparent and free the ringbuffer when going to NULL, like we do with the
audiosrc element. We can do this now because we correctly manage the time
jumping back to 0.
2009-06-17 13:18:18 +02:00
Wim Taymans
e4492c24ea
audio: correctly handle short read/writes
2009-06-17 13:17:30 +02:00
René Stadler
2c5f455423
baseaudiosrc: add some extra logging for buffer timestamps
2009-06-17 12:36:50 +02:00
Tim-Philipp Müller
70089160f8
audiosink, audiosrc: do the class_ref()s in the right class_init functions
...
Spotted by Philip Jägenstedt. Hopefully fixes #585970 for real.
2009-06-16 14:14:26 +01:00
Tim-Philipp Müller
3767cb6005
audiosink,audiosrc: ref the audio ring buffer class and type in class_init
...
Hack around thread-safety issues in GObject and our racy _get_type()
functions (we could easily fix the _get_type() functions, but we still
need to hack around the GObject class races until we require a newer
GLib version, I think).
2009-06-15 15:39:09 +01:00
Wim Taymans
a5491ba218
audiosrc: return FALSE when receiving a SEEK event
...
When receiving a seek event, return FALSE as we don't implement seeking.
2009-06-15 12:57:39 +02:00
Wim Taymans
a9c82f9472
ringbuffer: handle border cases in resampler
2009-06-11 19:13:28 +02:00
Wim Taymans
69b7fb3845
baseaudiosink: reset accum when dropping samples
...
When we are resampling and we drop samples because we paused, reset the accum
counter because it's now invalid.
2009-06-11 12:38:35 +02:00
Tim-Philipp Müller
249d9b4aa1
Don't include config.h multiple times when build audio testchannel app.
...
Fixes build problem on win32 (#585075 ).
2009-06-10 21:37:29 +01:00
Wim Taymans
38e59ec75d
baseaudiosink: no need to cause discont when clipping
...
Remove the discont-when-clipping hack now that basesink provides us with
correctly clipped samples when stepping.
2009-06-09 12:09:15 +02:00
Wim Taymans
cb4952fc2e
audiosink: don't align when we clip
...
Don't align samples when they were clipped. Not entirely correct but better than
nothing for now.
2009-06-08 17:26:59 +02:00
Andy Wingo
c7ca6abe53
add can-activate-pull property to baseaudiosink
...
* gst-libs/gst/audio/gstbaseaudiosink.c: Add can-activate-pull property
to baseaudiosink.
2009-05-26 13:17:44 +02:00
Wim Taymans
81170c4989
audiosink: improve debug message
2009-05-21 10:48:49 +02:00
Wim Taymans
c68a361e31
audiosink: return the return value of wait_preroll
...
Return the value that _wait_preroll() returned instead of always WRONG_STATE.
2009-05-19 17:17:37 +02:00
Wim Taymans
b9723f6e1c
audioclock: make our internal time monotonic
...
Make the internal time increase monotonically.
2009-05-13 21:38:56 +02:00
Wim Taymans
d655120ee6
audioclock: make sure values are ever increasing
2009-05-12 10:39:41 +02:00
Andy Wingo
9f74ce745f
Revert "add can-activate-pull property to baseaudiosink"
...
This reverts commit c4074a2ee4
.
2009-04-29 11:18:42 +02:00
Andy Wingo
219a31fa3c
Revert "[baseaudiosink] add docs for can-activate-pull"
...
This reverts commit 416ce16f26
.
2009-04-29 11:18:33 +02:00
Andy Wingo
416ce16f26
[baseaudiosink] add docs for can-activate-pull
...
* gst-libs/gst/audio/gstbaseaudiosink.c: Add documentation for
can-activate-pull.
2009-04-28 18:48:33 +02:00
Andy Wingo
c4074a2ee4
add can-activate-pull property to baseaudiosink
...
* gst-libs/gst/audio/gstbaseaudiosink.c: Add can-activate-pull property
to baseaudiosink.
2009-04-28 18:28:50 +02:00
Wim Taymans
32904de58f
baseaudiosink: don't unparent the ringbuffer
...
when going to NULL, don't unparent the ringbuffer because we don't support going
back to 0 very well yet.
Fixes #579203
2009-04-17 11:03:32 +02:00
Stefan Kost
ab24d9d65c
log: use G_GUINT64_FORMAT instead of llu
2009-04-15 00:02:39 +03:00
Wim Taymans
dffd1bcc97
baseaudiosrc: adjust the internal timestamp
...
Adjust the internal timestamp before comparing it against the adjusted clock
time.
Fixes #578506
2009-04-14 13:16:14 +02:00
Wim Taymans
0c4c1410f9
baseaudiosink: use new clock time methods
...
Use the unadjusted internal clock times to calculate the internal/external
offset when calibrating the clock.
When going to NULL, unparent and free the ringbuffer, like we do in the source
element.
See #578506
2009-04-14 13:12:59 +02:00
Wim Taymans
4231d54823
audioclock: add methods for the internal offset
...
Add two methods for getting the unadjusted time of the clock and one for
adjusting an internal time. We will need these methods for correctly handling
the time after a gst_audio_clock_reset().
Add a debug category and some debug lines to the audio clock.
API: gst_audio_clock_get_time()
API: gst_audio_clock_adjust()
API: GST_AUDIO_CLOCK_CAST()
2009-04-14 13:08:52 +02:00
Wim Taymans
251f152c20
baseaudiosink: use the internal clock time
...
We can't assume that the internal clock time is the same as the function we
installed on our provided clock because somebody might have changed it.
2009-04-10 21:50:55 +02:00
Wim Taymans
e6798c5cce
ringbuffer: allow for custom commit functions
...
Allow subclasses to override the commit method.
2009-04-09 18:04:44 +02:00
Wim Taymans
cae2981f83
baseaudiosink: fix a small glitch after pause
...
After we pause the stream and interrupt the writeout to the ringbuffer, also adjust
the amount of output samples we consumed. We can't do this reliably with the
current API when we are doing trick modes but we can do the right thing for
normal playback.
2009-04-08 18:06:54 +02:00
Stefan Kost
ff9ee1dc5a
audiofilter: don't leak pad-template
...
gst_element_class_add_pad_template() does not take ownership.
2009-04-07 22:39:07 +03:00
Tim-Philipp Müller
0267e79778
audiosrc: improve 'Dropped n samples' warning message
2009-03-25 11:27:44 +00:00
Stefan Kost
251e4d160a
docs: don't put random stuff in tags.
...
Tags like Since: or Returns: can only be followed by more tags. gtk-doc has no
tag to append text again to the documentation body.
2009-02-26 10:09:59 +02:00
Stefan Kost
486fe43cb9
Add a FIXME 0.11. Make the log message a bit more detailed and add comments.
2009-02-02 18:05:42 +02:00
Stefan Kost
950d0c0a7d
Link to the class, as we can't link to the members yet.
2009-01-31 18:44:32 +02:00
Jan Schmidt
63c9ede3d0
Extend and clean up git ignores
2009-01-23 23:16:11 +00:00
José Alburquerque
7431789249
gst-libs/gst/audio/gstaudioclock.*: Make gst_audio_clock_new use const gchar* to ease the wrapping of
...
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu svn gnome org>
* gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_new):
* gst-libs/gst/audio/gstaudioclock.h:
Make gst_audio_clock_new use const gchar* to ease the wrapping of
C++ bindings. Fixes #566723 .
2009-01-06 17:30:31 +00:00
Wim Taymans
0a4c1bc64c
gst-libs/gst/audio/gstbaseaudiosink.c: Avoid holding the OBJECT_LOCK when calling ringbuffer functions that take the ...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_change_state):
Avoid holding the OBJECT_LOCK when calling ringbuffer functions that
take the ringbuffer lock because rinbuffer lock > OBJECT_LOCK. We can do
this because the async_play method is deprecated and usually not called
anymore.
2009-01-05 17:13:13 +00:00
Edward Hervey
e2fcc71650
Switch glib-mkenum for gst-libs/gst/audio from multichannel- to audio- in order to wrap all enums declarations of tha...
...
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/multichannel.h:
* gst-libs/gst/audio/testchannels.c:
* win32/MANIFEST:
* win32/common/audio-enumtypes.c:
(gst_audio_channel_position_get_type),
(gst_ring_buffer_state_get_type),
(gst_ring_buffer_seg_state_get_type),
(gst_buffer_format_type_get_type), (gst_buffer_format_get_type):
* win32/common/audio-enumtypes.h:
* win32/common/multichannel-enumtypes.c:
* win32/common/multichannel-enumtypes.h:
* win32/vs6/grammar.dsp:
* win32/vs6/libgstaudio.dsp:
* win32/vs7/libgstaudio.vcproj:
* win32/vs8/libgstaudio.vcproj:
Switch glib-mkenum for gst-libs/gst/audio from multichannel- to
audio- in order to wrap all enums declarations of that library.
This modification should not matter since that header file is not a
public header (it will be included by public headers).
Modify win32 crap^Wfiles accordingly.
2008-12-31 11:20:26 +00:00
Edward Hervey
20adaa1328
gst-libs/gst/audio/: Complete Sebastien's commit from the 13th by exporting the _slave_method_get_type() methods.
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.h:
* gst-libs/gst/audio/gstbaseaudiosink.h:
Complete Sebastien's commit from the 13th by exporting the
_slave_method_get_type() methods.
2008-12-30 17:55:07 +00:00
Wim Taymans
a579eba73d
gst-libs/gst/audio/gstbaseaudiosink.c: Pause the write thread before deactivating and releasing the ringbuffer to avo...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_setcaps):
Pause the write thread before deactivating and releasing the ringbuffer
to avoid a deadlock when we do gapless playback with different sample
rates in playbin2. Fixes #564929 .
2008-12-20 12:45:03 +00:00
Sebastian Dröge
4ed1f5d6fd
gst-libs/gst/audio/gstbaseaudiosrc.c: Make GstAudioSrcSlaveMethod get_type() function non-static as it's public now.
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
Make GstAudioSrcSlaveMethod get_type() function non-static
as it's public now.
* win32/common/libgstaudio.def:
* win32/common/libgstnetbuffer.def:
Add some missing functions to the list of exported symbols.
2008-12-19 13:03:00 +00:00
Sebastian Dröge
04d9ff9a24
gst-libs/gst/audio/: API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the public API. This is needed for the C...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_slave_method_get_type),
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_slave_method_get_type),
(gst_base_audio_src_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the
public API. This is needed for the C++ bindings to be able
to use this base classes. Fixes bug #564200 , #564206 .
2008-12-13 06:57:09 +00:00
Wim Taymans
af354dbef3
gst-libs/gst/audio/gstbaseaudiosrc.c: Avoid nasty int overflows after about 12 hours and 25 minutes when these code p...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_offset), (gst_base_audio_src_create):
Avoid nasty int overflows after about 12 hours and 25 minutes when these
code paths are triggered.
A free beer to Håvard Graff for finding this!
2008-11-27 16:47:41 +00:00
Wim Taymans
6983c1c85b
gst-libs/gst/audio/gstbaseaudiosink.c: Really fix audiosink drain handling by keeping track of the running_time of th...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event),
(gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
Really fix audiosink drain handling by keeping track of the running_time
of the last sample.
2008-11-25 10:32:49 +00:00
Stefan Kost
a8264f66c7
gst-libs/gst/audio/gstbaseaudiosink.c: Time is already in running_time. Remove base_time handling. Fixes audiosinks n...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
Time is already in running_time. Remove base_time handling. Fixes
audiosinks not draining and thus chopping some audio in the end.
2008-11-24 20:11:52 +00:00
Stefan Kost
7f937c99d4
gst-libs/gst/audio/gstbaseaudiosink.c: Add one log message to check for audio_drained. Sync one log message with the ...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
Add one log message to check for audio_drained. Sync one log message
with the condition. Send EOS after draining audio in pull mode.
2008-11-24 12:56:54 +00:00
Wim Taymans
e701e64005
gst-libs/gst/audio/gstbaseaudiosink.c: Use gst_base_sink_do_preroll() to wait for PLAYING and before waiting for the ...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
(gst_base_audio_sink_callback):
Use gst_base_sink_do_preroll() to wait for PLAYING and before waiting
for the latency to expire, fixes #559567 .
2008-11-10 14:22:09 +00:00
Wim Taymans
6eed8ca285
gst-libs/gst/audio/gstaudiosink.c: Implement a separate activate functions to start monitoring the segments or, in pu...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_activate), (gst_audioringbuffer_release),
(gst_audioringbuffer_stop):
Implement a separate activate functions to start monitoring the segments
or, in pull mode, pulling in data.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_init), (gst_base_audio_sink_dispose),
(gst_base_audio_sink_query_pad), (gst_base_audio_sink_query),
(gst_base_audio_sink_setcaps), (gst_base_audio_sink_callback),
(gst_base_audio_sink_activate_pull),
(gst_base_audio_sink_async_play),
(gst_base_audio_sink_change_state):
Implement pad and element convert query function.
Activate the ringbuffer.
Use the segment last_stop value as the offset to pull.
Use new basesink _do_preroll() method to preroll in the pulling thread.
Take appropriate locking in the pulling thread.
* gst-libs/gst/audio/gstringbuffer.h:
Update some docs.
2008-10-20 15:35:37 +00:00
Wim Taymans
a6b78893c0
Add methods to more accuratly control the pulling thread of a ringbuffer.
...
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_convert),
(gst_ring_buffer_activate), (gst_ring_buffer_is_active):
* gst-libs/gst/audio/gstringbuffer.h:
Add methods to more accuratly control the pulling thread of a
ringbuffer.
Add format conversion helper code to the ringbuffer.
API: GstRingBuffer:gst_ring_buffer_activate()
API: GstRingBuffer:gst_ring_buffer_is_active()
API: GstRingBuffer:gst_ring_buffer_convert()
2008-10-17 13:19:05 +00:00
Wim Taymans
927999603a
gst-libs/gst/audio/gstaudiosink.c: Signal thread startup earlier so that we can immediatly go into pull mode when we ...
...
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_acquire), (gst_audioringbuffer_release),
(gst_audioringbuffer_stop):
Signal thread startup earlier so that we can immediatly go into pull
mode when we have to and block on preroll.
2008-10-16 15:44:37 +00:00