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