Commit graph

107 commits

Author SHA1 Message Date
Thibault Saunier 2fd28195ca Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
Robert Rosengren e99a6f3142 audio: Use GST_BUFFER_PTS instead of deprecated GST_BUFFER_TIMESTAMP
GST_BUFFER_PTS already used in audio code base (e.g. gstaudiodecoder),
so migrate completely from deprecated GST_BUFFER_TIMESTAMP for better
readability, as gstcompat.h defines GST_BUFFER_TIMESTAMP directly to PTS
anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1048>
2021-02-25 02:04:44 +00:00
Vivia Nikolaidou 2527c8f9f8 libs: audio: Handle meta changes in gst_audio_buffer_truncate
Set timestamp and duration to GST_CLOCK_TIME_NONE unless trim==0,
because that function doesn't know the rate and therefore can't
calculate them. Set offset and offset_end to appropriate values. Make it
clear in the documentation that the caller is responsible for setting
the timestamp and duration.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/869

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1039>
2021-02-18 11:25:32 +02:00
Jan Alexander Steffens (heftig) 297a5f09b1 libs: audio: Fix gst_audio_buffer_truncate meta handling
In the non-interleaved case, it made `buffer` writable but then changed
the meta of the non-writable buffer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1035>
2021-02-15 17:32:04 +01:00
George Kiagiadakis b33d70e97f libs: audio: add a new gst_audio_buffer_truncate() function
Essentially this moves the truncation logic out of gst_audio_buffer_clip()
so that it can be used in other places, like in audiorate.

https://bugzilla.gnome.org/show_bug.cgi?id=796740
2018-07-12 12:08:10 +03:00
George Kiagiadakis 9cb09e7269 libs: audio: implement support for non-interleaved audio in gst_audio_buffer_clip()
https://bugzilla.gnome.org/show_bug.cgi?id=796740
2018-07-12 11:59:06 +03:00
Thibault Saunier 099ac9faf2 docs: Convert gtkdoc comments to markdown
Modernizing the documentation, making it simpler to read an
modify and allowing us to possibly switch to hotdoc in the
future.
2017-03-10 18:19:17 -03:00
Stefan Sauer 7986a8ed3d audio: don't deref NULL
gst_buffer_copy_region() can return NULL when the buffer meta-data is invalid.

See https://bugzilla.gnome.org/show_bug.cgi?id=772200
2016-10-20 15:42:50 +02:00
Stefan Sauer 409534f242 audio: fix doc string again.
There was a second '*' at the start of the line. Reword + reformat to make it
obvious.
2016-10-17 09:47:54 +02:00
Stefan Sauer 86d18fa9ff audio: fix typo in doc string 2016-10-14 14:21:52 +02:00
Kipp Cannon f7a31a79f4 audio: Add const to segment parameter of gst_audio_buffer_clip()
e.g., allows this to be used with the reference retrieved by
gst_event_parse_segment().

https://bugzilla.gnome.org/show_bug.cgi?id=765663
2016-04-27 12:26:07 +03:00
Wim Taymans b8bea9d8be audio: add debug categories 2015-11-06 17:29:22 +01:00
Reynaldo H. Verdejo Pinochet aa1883d5d7 audiobase*: Drop trailing withespaces 2013-12-27 01:36:09 -03:00
Matej Knopp dbaf1bf0a3 audio: change buffer timestamp when clipping even if data hasn't been trimmed
https://bugzilla.gnome.org/show_bug.cgi?id=708952
2013-09-28 11:39:43 +02:00
Tim-Philipp Müller 5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Mark Nauwelaerts 162433795a audio: properly handle clipping of empty buffer 2012-10-15 18:48:01 +02:00
Olivier Crête b35bc51ed6 audio: Fix annotations 2012-09-13 17:11:56 -04:00
Edward Hervey 2817bdadc9 libs: Remove "Since" markers and minor doc fixups 2012-07-13 12:11:06 +02:00
Wim Taymans 3da0b71876 audio: split audio header into logical parts 2012-06-08 10:10:08 +02:00
Wim Taymans 4e1ed6f649 audio: fix debug line 2012-03-13 12:39:52 +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
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 2bf1a4428e audio: correctly fill in fallback channel positions in stereo case 2012-02-06 22:10:28 +01:00
Wim Taymans fcdc385aa1 port to new map API 2012-01-25 12:30:53 +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 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 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 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 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 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 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 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 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
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
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
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
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
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