George Kiagiadakis
ab2548d78d
audio-buffer: fix typo in assignment that causes buggy behavior
2018-07-24 15:09:25 +03:00
George Kiagiadakis
0ce20cef4f
gstaudiodecoder: take into account GstAudioMeta::samples on the output buffers
...
This is useful if the output buffers are planar and have extra padding
on each plane, in which case size/bpf does not represent the number of
valid samples.
https://bugzilla.gnome.org/show_bug.cgi?id=705977
2018-07-23 15:27:08 +03:00
George Kiagiadakis
2d38d2f1d3
gstaudiodecoder: do not aggregate output if buffers are planar
...
Aggregation will break the layout, as it concatenates buffers,
and fixing it here would be much more inefficient than configuring
the actual decoder implementation to output larger buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=705977
2018-07-23 15:27:08 +03:00
George Kiagiadakis
e1bc49923f
libs: audio: implement planar buffer support in gst_audio_buffer_reorder_channels()
...
https://bugzilla.gnome.org/show_bug.cgi?id=796743
2018-07-12 13:38:27 +03: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
George Kiagiadakis
060ecd16cd
libs: audio-converter: complete code to support non-interleaved audio buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=705986
2018-07-11 16:26:13 +03:00
George Kiagiadakis
eefdf32d96
libs: audio-resampler: add support for consuming non-interleaved input buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=705986
2018-07-11 16:26:13 +03:00
George Kiagiadakis
108a911610
libs: audio-channel-mixer: add support for non-interleaved audio buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=705986
2018-07-11 16:26:13 +03:00
George Kiagiadakis
c946e323f6
libs: audio: Implement GstAudioBuffer & GstAudioMeta
...
Library bits to support non-interleaved audio
https://bugzilla.gnome.org/show_bug.cgi?id=751605
2018-07-03 14:06:43 +03:00
wangzq
9f51607723
audiobasesrc: Round down segsize to an integer number of samples
...
https://bugzilla.gnome.org/show_bug.cgi?id=796704
2018-06-29 07:38:20 +02:00
Tim-Philipp Müller
fae8c24590
audio: Update for g_type_class_add_private() deprecation in recent GLib
...
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 21:49:48 +02:00
Thomas Bluemel
7d3c098a7c
audiobasesink: Improve clock skew corrections.
...
The external time should be moved only as much as needed
to get back to the ideal center point, so that the clock
is still allowed to drift both directions after the correction.
This reduces excessive back and forth corrections that were
caused by the assumption of a linear drift.
https://bugzilla.gnome.org/show_bug.cgi?id=788006
2018-06-06 16:11:45 -04:00
Mark Nauwelaerts
751e9640f9
audio: fix some GIR array annotations
2018-05-21 09:18:35 +02:00
Antoine Jacoutot
c765649505
libs: g-ir-scanner: do not hardcode libtool path
...
https://bugzilla.gnome.org/show_bug.cgi?id=726571
2018-05-18 13:41:25 +02:00
Olivier Crête
8583f17e62
audioaggregator: Remove custom get_next_time implementation
...
GstAggregator now offers same thing in a common implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=795486
2018-05-16 22:22:29 +02:00
Sebastian Dröge
5b736d2c7a
audioaggregator: Update converters after updating with the new audioinfo/caps
...
Otherwise subclasses might accidentially use the old audioinfo/caps.
None of the subclasses currently uses the audioinfo/caps, but future
subclasses might.
https://bugzilla.gnome.org/show_bug.cgi?id=795827
2018-05-05 16:40:32 +02:00
Mark Nauwelaerts
9a360a47bf
audio: fix some GIR annotations
...
Mostly related to out and array parameters
2018-04-23 19:33:19 +02:00
Mathieu Duponchelle
83939c81e7
audioaggregator: fix filtered getcaps
...
In the situation described in
https://bugzilla.gnome.org/show_bug.cgi?id=795397 ,
downstream_caps consists of two structures, the first with
the preferred rate, if at all possible (44100), the second
containing the full range of allowed rates, as audioresample
correctly tries to negotiate passthrough caps.
As audioaggregator cannot perform rate conversion, it wants
to return a fixated rate in its getcaps implementation,
however it previously directly used the first structure in
the caps allowed downstream, without taking the filter into
consideration, to determine the rate to fixate to.
With this, we first intersect our downstream caps with the
filter, in order not to fixate to an unsupported rate.
2018-04-23 17:13:22 +02:00
Mathieu Duponchelle
a59fbba141
audioaggregator: unref converted buffer after gst_buffer_replace
2018-04-13 01:07:21 +02:00
Nirbheek Chauhan
b5698995f1
audiobasesrc: posting errors should be always be safe
...
Don't try to signal an error in the ringbuffer if it hasn't been
allocated yet.
https://bugzilla.gnome.org/show_bug.cgi?id=794611
2018-04-09 17:25:32 +05:30
Nirbheek Chauhan
baadc3b302
audioringbuffer: Don't spam INFO for every buffer
...
This makes GST_DEBUG=4 outputs too spammy, and such frequent messages
are meant to go into DEBUG or TRACE anyway.
2018-04-07 11:09:58 +05:30
Edward Hervey
22c9e5f7c1
libs: Documentation cleanup
...
* Fix wrong naming, wrong types and typos
* Add missing sections
* Add missing documentation for entries
* Explicitely mark private structure entries
* Remove items that never existed
2018-04-02 08:53:28 +02:00
Edward Hervey
a034018a75
audio-aggregator: Check return values
...
And copy over already-parsed information
CID #1427140
2018-03-23 14:25:21 +01:00
Alessandro Decina
345aa2cd9e
meson: libs: use gnome.mkenums_simple() to generate enumtypes files
...
This way we no longer need custom wrapper scripts or template files.
2018-03-22 13:15:35 +00:00
Sebastian Dröge
b058de9d90
audiostreamalign: Mark the whole type as new in 1.14
2018-03-15 09:58:11 +02:00
Tim-Philipp Müller
98a8d7eaf5
meson: install new audio-prelude.h
2018-03-13 13:49:57 +00:00
Tim-Philipp Müller
371e3e460a
audio: GST_EXPORT -> GST_AUDIO_API
...
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
2018-03-13 10:36:56 +00:00
Mathieu Duponchelle
e9be107e4a
audioaggregator: fix channel-mask negotiation
...
When outputting more than two channels, a channel-mask has to be
specified in the output caps.
We follow the same heuristic as other cases, when downstream
does not specify a channel-mask, we use that of the first
configured pad, and if there was none we generate a fallback
mask.
https://bugzilla.gnome.org/show_bug.cgi?id=794257
2018-03-12 17:35:53 +01:00
Thibault Saunier
e916ef08fd
audio: Add audioaggregator.h in audio.h
2018-03-11 12:13:32 -03:00
Mathieu Duponchelle
22981e8a42
Port to latest GstAggregator segment API
...
The aggregator segment is now exposed on the src pad
https://bugzilla.gnome.org/show_bug.cgi?id=793944
2018-03-01 15:33:25 +01:00
Mathieu Duponchelle
318eb61e23
audioaggregator: remove GstAudioAggregator->info
...
As we now require subclasses to use a subclass of
GstAudioAggregatorPad, we can reuse its info field
https://bugzilla.gnome.org/show_bug.cgi?id=793943
2018-03-01 15:33:25 +01:00
Mathieu Duponchelle
10835e9919
audioaggregator: refactor conversion API
...
For the rationale, see:
https://bugzilla.gnome.org/show_bug.cgi?id=793917
Also test audiomixer conversion of current output buffer
2018-03-01 00:40:24 +01:00
Sebastian Dröge
fae7f790be
audioaggregator: Document that the pad's audio info is read-only and needs the object lock
...
Also fix indentation in the header a bit.
2018-02-28 15:23:25 +02:00
Mathieu Duponchelle
06ae49f525
audio-converter: fix declaration-after-statement
2018-02-15 21:08:08 +01:00
Mathieu Duponchelle
9cf4293bde
audio-converter: add a convenience conversion method
...
This is useful from python bindings
https://bugzilla.gnome.org/show_bug.cgi?id=793492
2018-02-15 20:51:30 +01:00
Mathieu Duponchelle
6a4a82f355
gst_audio_converter_new: update annotations
...
https://bugzilla.gnome.org/show_bug.cgi?id=793492
2018-02-15 20:51:30 +01:00
Mathieu Duponchelle
9046e6001b
AudioConverter: register as boxed type
...
https://bugzilla.gnome.org/show_bug.cgi?id=793492
2018-02-15 20:51:30 +01:00
Mathieu Duponchelle
3d50d0e8b0
audio-info: annotate gst_audio_info_set_format
...
https://bugzilla.gnome.org/show_bug.cgi?id=793492
2018-02-15 20:51:30 +01:00
Edward Hervey
2c4dfa101a
Update disted backup ORC files
2018-02-15 07:14:20 +01:00
Mathieu Duponchelle
73d2031ffc
gstaudiopack.orc: pack_u32be_swap: actually swap
...
Fixes:
gst-launch-1.0 audiotestsrc ! audio/x-raw, format=U32BE ! \
audioconvert ! autoaudiosink
2018-02-15 01:32:54 +01:00
Tim-Philipp Müller
54655196e7
audioaggregator: remove declaration for function that doesn't exist
2018-02-13 17:16:53 +00:00
Tim-Philipp Müller
4984c84505
docs: add GstAudioAggregator to docs
2018-02-13 17:10:42 +00:00
Tim-Philipp Müller
4647d6684f
GstAudioAggregator: hook up to build
...
https://bugzilla.gnome.org/show_bug.cgi?id=791218
2018-02-13 16:09:09 +00:00
Tim-Philipp Müller
ab758a9a39
audioaggregator, audiomixer, audiointerleave: move from -bad to -base
...
https://bugzilla.gnome.org/show_bug.cgi?id=791218
2018-02-13 15:56:49 +00:00
Tim-Philipp Müller
c443e33a3a
meson: use built-in pic kwarg when building static helper libs
...
instead of passing -fPIC manually.
2018-01-30 20:33:17 +00:00
Tim-Philipp Müller
29534c3829
Update for renamed aggregator pad API
...
https://bugzilla.gnome.org/show_bug.cgi?id=791204
2018-01-23 09:01:00 +00:00
Edward Hervey
558b37d889
audioaggregator: Don't leak pads
...
all audioaggregator subclasses were leaking the first sink pad :)
2017-12-20 15:03:44 +01:00
Mathieu Duponchelle
164b5a7f94
audioaggregator: implement input conversion
...
https://bugzilla.gnome.org/show_bug.cgi?id=786344
2017-12-19 23:39:37 +01:00
Havard Graff
1066690b14
audiodecoder: fix buffer leak in error code path
2017-12-05 20:10:58 +00:00
Thibault Saunier
a37f4eeff8
audio: Add missing G_BEGIN/END_DECLS
2017-12-01 10:15:56 -03:00
Sebastian Dröge
b9aaa7f4f2
audiobasesink: Print signed time offset as a signed number
2017-11-08 19:24:55 +02:00
Sebastian Dröge
9bbcccc21e
audiostreamalign: Add G_BEGIN_DECLS/G_END_DECLS
2017-11-08 19:24:55 +02:00
Tim-Philipp Müller
fc94627778
audioaggregator: use new gst_element_foreach_sink_pad()
...
Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.
https://bugzilla.gnome.org/show_bug.cgi?id=785679
2017-11-02 13:02:07 +00:00
Tim-Philipp Müller
5d3795163b
audioaggregator: make class padding larger
2017-11-02 11:44:54 +00:00
Edward Hervey
cb0b73672c
Update disted orc file
...
For latest orc fixes
2017-10-31 11:57:23 +01:00
Ashish Kumar
346c24dc4b
gst-plugins-base: gstaudiochannels: Handled buffer mapping failure
...
https://bugzilla.gnome.org/show_bug.cgi?id=789458
2017-10-25 13:04:28 +02:00
Matthew Waters
06aba17d19
Revert "audioencoder: flush encoder in transition PAUSED->READY"
...
This reverts commit 2dcdd13512
.
2017-10-22 01:00:06 +11:00
Matthew Waters
b8369ba20d
Revert "audiodecoder: flush decoder in transition PAUSED->READY"
...
This reverts commit e7cf4c058d
.
2017-10-22 01:00:03 +11:00
Olivier Crête
c2b462837b
audioaggregator: Accept buffer with no data, but duration and gap flag
...
These are produced from GAP events by the base class.
https://bugzilla.gnome.org/show_bug.cgi?id=784846
2017-10-21 12:06:08 +02:00
Nicola Murino
2dcdd13512
audioencoder: flush encoder in transition PAUSED->READY
...
https://bugzilla.gnome.org/show_bug.cgi?id=787311
2017-10-20 01:55:04 +11:00
Nicola Murino
e7cf4c058d
audiodecoder: flush decoder in transition PAUSED->READY
...
https://bugzilla.gnome.org/show_bug.cgi?id=787311
2017-10-20 01:54:54 +11:00
Stefan Sauer
023170e2f8
audioaggregator: improve readability in offset calculation
...
Don't reuse the offset variables will contain a sample offset for an
intermediate time value. Instead add a segment_pos variable of type
GstClockTime for this. Use The clock-time macros to check if we got
a valid time.
2017-10-15 10:29:20 +02:00
Stefan Sauer
bd34243177
audioaggregator: move comment to the place it is meant to be
...
This probably got shifted after some changes.
2017-10-14 18:20:30 +02:00
Mathieu Duponchelle
d4db88772b
audioconvert: allow empty mix matrix
...
When an empty mix matrix is passed, audio-channel-mixer
will now generate a (potentially truncated) identity matrix,
this replicates the behaviour of audiomixmatrix in first-channels
mode.
https://bugzilla.gnome.org/show_bug.cgi?id=788833
2017-10-11 22:57:38 +02:00
Mathieu Duponchelle
8e2805cf06
audio-converter: remove unused mix_matrix private field
2017-10-11 17:00:08 +02:00
Stefan Sauer
1b84283396
audioaggregator: remove buffer!=NULL check
...
Acording to the logic this cannot happen (we already check this before). So
add a assert like we do above and remove the check. This make it clearer that
we check for the offset range.
Also remove a dead assignment since we reassign this a few lines below.
2017-10-05 18:12:29 +02:00
Stefan Sauer
f46d80f07d
audioaggreator: update docs
...
Remove wrote references to collectpads. Document the units.
2017-10-05 17:57:35 +02:00
Havard Graff
43985b363d
meson: remove vs_module_defs
...
GST_EXPORT should handle it.
2017-10-05 13:53:14 +01:00
Stefan Sauer
6ecfd599a5
audioaggregator: pass blocksize to mix_buffer()
...
No need to recalc the value twice per run. Establishes that it is the same
value.
2017-10-05 08:57:09 +02:00
Stefan Sauer
926fed92e9
audioaggregator: rename _fill_buffer() to _queue_new_buffer()
...
It does not fill a buffer. Rename it and add a short comment.
2017-10-05 08:57:09 +02:00
Reynaldo H. Verdejo Pinochet
e81c334ca9
Use proper GtkDoc notation for NULL/FALSE/TRUE
2017-10-03 14:31:18 -07:00
Stefan Sauer
5fd4e71da3
audioaggregator: reduce variable scope
...
This is a non-functional change that makes the code more alike to the previous
check. I should be more obvious when we drop a buffer.
2017-10-02 17:01:36 +02:00
Stefan Sauer
17848d7c0c
audioaggregator: update comment for aggregate
...
Replace collect-pads left-over. Remove first paragraph, we're not doing this.
Remove 3), 4) since this is not per pad.
2017-10-02 17:01:36 +02:00
Thibault Saunier
c610076d85
meson: Add mssing GstBase-1.0 include in the gir generation
2017-09-28 21:56:29 -03:00
Sebastian Dröge
bf68e74403
audio: Add stream align API for getting timestamp at discont and number of samples since discont
...
https://bugzilla.gnome.org/show_bug.cgi?id=787560
2017-09-28 14:06:24 +03:00
Sebastian Dröge
d2fd740388
audio: Add reverse playback support to GstAudioStreamAlign
...
https://bugzilla.gnome.org/show_bug.cgi?id=787560
2017-09-28 14:06:07 +03:00
Sebastian Dröge
ec1e20ffe5
audio: Add helper object for audio discontinuity detection and sample alignment
...
This is the same code that is in decklinkaudiosrc, audioringbuffer,
audiomixer and various other places. Have it once instead of copying it
everywhere.
https://bugzilla.gnome.org/show_bug.cgi?id=787560
2017-09-28 14:06:05 +03:00
Mathieu Duponchelle
4196e67ff1
[API]: GST_AUDIO_CONVERTER_OPT_MIX_MATRIX
...
Taken from audiomixmatrix, credits to Vivia Nikolaidou
https://bugzilla.gnome.org/show_bug.cgi?id=785471
2017-09-22 16:19:59 +02:00
Mathieu Duponchelle
877d6faeea
[API]: gst_audio_channel_mixer_new_with_matrix
...
+ Refactor previous constructor to call on that new constructor
+ Reimplement is_passthrough to strictly check whether the matrix
is an identity matrix, comparing channel-masks was incorrect:
the mixer may be remixing from a list of positions to the same
list of positions, but ordered differently, and reciprocally,
the mixer may be remixing from a list of positions to another
list of positions identically ordered
+ Remove unused tmp field, must have been a refactoring leftover
https://bugzilla.gnome.org/show_bug.cgi?id=785471
2017-09-22 16:19:58 +02:00
Stefan Sauer
ceee4db9d0
audioaggregator: fix typo in comment
2017-09-17 21:06:48 -07:00
Tim-Philipp Müller
ece4a096a1
libs: add some more missing GST_EXPORT
2017-08-10 10:27:23 +01:00
Mark Nauwelaerts
00fa39befa
audioencoder: also adjust sample count upon discont to avoid ts overflow
...
Only adjusting the base_ts might lead to a negative ts and as such integer
overflow into a huge timestamp which then propagates into the granulepos
and so on. Instead, resync to incoming buffer timestamp using both base_ts
and sample count rather than only base_ts.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=785948
2017-08-09 09:32:55 +02:00
Stefan Sauer
4080b844c0
audioaggregator: use local var
...
Instead of the self->priv-> deref use the local var we created already.
2017-07-26 09:43:52 +02:00
Tim-Philipp Müller
d95e62be82
audio: mark symbols explicitly for export with GST_EXPORT
2017-07-18 12:46:57 +01:00
Stefan Sauer
35a4149caf
aggregator: code cleanups
...
Fix comment typos, some copy'n'paste in logging. Add more doc comments.
2017-07-13 22:02:17 +02:00
Olivier Crête
930c3cea40
audioaggregate: Don't hold object locks across calls to aggregate_one
...
https://bugzilla.gnome.org/show_bug.cgi?id=782878
2017-05-21 18:44:53 +02:00
Olivier Crête
55ab23cc30
audioaggregator: Use downstream allocator and params if available
...
https://bugzilla.gnome.org/show_bug.cgi?id=746529
2017-05-21 13:24:29 +02:00
Olivier Crête
8a302f1815
aggregator: Remove unused GST_FLOW_NOT_HANDLED
2017-05-20 16:21:17 +02:00
Matthew Waters
57673e608e
aggregator: add simple support for caps handling
...
Modelled off the videoaggregator caps handling as that seems the most
mature aggregtor-using implementation that has caps handling there is.
https://bugzilla.gnome.org/show_bug.cgi?id=776931
2017-05-20 16:21:17 +02:00
Olivier Crête
26819ba296
aggregator: Delay clipping to output thread
...
This is required because the synchronized events like caps or segments
may only be processed on the output thread.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
1e7aaf775f
aggregator: Simplify clip function
...
The return value was ignored anyway
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Sebastian Dröge
2a8784e218
audioclock: Sink the reference in the constructor
...
This is now needed as GstClock does not do that internally anymore,
because that broke bindings.
And mark the function correctly as (transfer full), which it already was
before.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-17 10:40:52 +03:00
Nicolas Dufresne
1ceb40cd1e
audioringbuffer: Accept MPEG 1 layer 3 version 2.5
...
https://bugzilla.gnome.org/show_bug.cgi?id=781929
2017-05-16 15:37:16 -04:00
Tim-Philipp Müller
d7dd381f78
audio: mark symbols explicitly for export with GST_EXPORT
2017-05-16 15:22:26 +01:00
Tim-Philipp Müller
60e9629860
g-i: no need to load registry in g-i scanner
2017-05-04 23:55:20 +01:00
Sebastian Dröge
a3656ba29b
libs: Check if meta transform_func is NULL before using it
...
https://bugzilla.gnome.org/show_bug.cgi?id=782050
2017-05-02 14:31:14 +03:00
Tim-Philipp Müller
5185cce994
audio: resampler: fix typos in docs
2017-04-13 16:40:02 +01:00
Rico Tzschichholz
07a427b403
meson: Pass --c-include accordingly to GIR builds
2017-04-13 12:23:32 +01:00
Sebastian Dröge
8b468c3c36
audio: Generate audiobasesink/src and audiocdsrc GLib enums automatically
...
And ensure that GstAudioBaseSrcSlaveMethod's re-timestamp stays
re-timestamp and doesn't become retimestamp.
2017-04-09 11:49:50 +03:00