| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=753275
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=763081
|
|
|
|
|
| |
Until we fix it up and get rid of the opus dependency and
move it elsewhere too.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=756282
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=756282
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FEC may only be used when PLC is enabled on the audio decoder,
as it relies on empty buffers to generate audio from the next
buffer. Hooking to the gap events doesn't work as the audio
decoder does not like more buffers output than it sends.
The length of data to generate using FEC from the next packet
is determined by rounding the gap duration to nearest. This
ensures that duration imprecision does not cause quantization
to 2.5 milliseconds less than available. Doing so causes the
Opus API to fail decoding. Such duration imprecision is common
in live cases.
The buffer to consider when determining the length of audio
to be decoded is the previous buffer when using FEC, and the
new buffer otherwise. In the FEC case, this means we determine
the amount of audio from the previous buffer, whether it was
missing or not (and get the data either from this buffer, or
the current one if the previous one was missing).
|
|
|
|
|
|
|
| |
This caused a decoding error if the resulting (wrong) buffer size
was passed to the Opus decoding API.
https://bugzilla.gnome.org/show_bug.cgi?id=758158
|
|
|
|
|
|
|
|
| |
rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples
https://bugzilla.gnome.org/show_bug.cgi?id=759432
|
|
|
|
|
|
|
|
|
|
| |
commit da5c41930c4083979b1745f4d8848d97fe03d8eb removed the two uses of the
new value of data:
channels = opus_packet_get_nb_channels (data);
bandwidth = opus_packet_get_bandwidth (data);
Since then, data isn't being used between incrementing it by packet_offset
and going out of scope. Removing this uneeded statement.
|
|
|
|
| |
g_free() is NULL-safe
|
|
|
|
|
|
|
| |
The result of the two expressions will be promoted to guint64 anyway,
perform all the arithmetic in 64 bits to avoid potential overflows.
CID 1338690, CID 1338691
|
|
|
|
|
|
|
|
| |
sample_rate might be used uninitialized if !sink_caps is TRUE. Initialize
it to the default used in gst_codec_utils_opus_parse_caps () when there is
no rate defined in the caps.
CID 1338695
|
|
|
|
|
|
| |
We always require the channel-mapping-field. If it's 0 we require nothing
else, otherwise we need channels, stream-count and coupled count to be
available.
|
|
|
|
|
| |
There always have to be 2 buffers in the streamheaders, even if
the comment buffer is basically empty.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757152
|
|
|
|
|
|
| |
Makes transmuxing from e.g. MPEG-TS to Ogg sample accurate.
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
|
|
|
|
|
|
|
|
|
| |
OpusHead
oggdemux is outputting the meta now, and only outputs if it should really
apply to the current buffer. Previously we would skip N samples also if we
started the decoder in the middle of the stream.
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
|
|
|
|
|
|
|
|
| |
It is doing the wrong thing because of the Opus pre-skip: while the timestamps
are shifted by the pre-skip, the granule positions are not shifted.
oggmux is doing the right thing here already.
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
correct timestamps on it
The first frame has lookahead less samples, the last frame might have some
padding or we might have to encode another frame of silence to get all our
input into the encoded data.
This is because of a) the lookahead at the beginning of the encoding, which
shifts all data by that amount of samples and b) the padding needed to fill
the very last frame completely.
Ideally we would use LPC to calculate something better than silence for the
padding to make the encoding as smooth as possible.
With this we get exactly the same amount of samples again in an
opusenc ! opusdec pipeline.
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757153
|
| |
|
|
|
|
| |
For all the other sample rates the encoder will have to resample internally.
|
|
|
|
|
|
|
|
| |
opus decoder can convert from different number of channels, no
need to check, just let it negotiate and create a new decoder if
needed.
https://bugzilla.gnome.org/show_bug.cgi?id=755059
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=754819
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=754819
|
|
|
|
|
|
|
| |
It is faster than doing a query that propagates downstream and
should be enough
Elements: faac, gsmenc, opusenc, sbcenc, voamrwbenc, adpcmenc, sirenenc
|
|
|
|
|
|
|
|
| |
Avoids useless check of downstream caps when handling an
accept-caps query
Elements: dtsdec, faad, gsmdec, mpg123audiodec, opusdec,
sbcdec, adpcmdec, sirendec
|
|
|
|
|
|
|
|
| |
The payloader didn't copy anything so far, the depayloader copied every
possible meta. Let's make it consistent and just copy all metas without tags or
with only the audio tag.
https://bugzilla.gnome.org/show_bug.cgi?id=751774
|
|
|
|
|
| |
Safer, easier to understand, and more portable. Also, skip
all this if the log level is too low.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, PLC frames always had a length of 120ms, which caused audio
quality degradation and synchronization errors. Fix this by calculating an
appropriate length for the PLC frame.
The length must be a multiple of 2.5ms. Calculate a multiple of 2.5ms that
is nearest to the current PLC length. Any leftover PLC length that didn't
make it into this frame is accumulated for the next PLC frame.
https://bugzilla.gnome.org/show_bug.cgi?id=725167
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=750992
|
| |
|
| |
|
|
|
|
|
|
| |
structure has this field
Just set the rate/channels directly if the caps don't have this field.
|
|
|
|
|
| |
The RTP Opus mapping only allows mono/stereo, and not multistream Opus
streams.
|
|
|
|
|
|
|
| |
As expressed in gst_opus_header_create_caps, value 0 means unset.
Setting rate value to 0 make negotiation with decoder fail.
https://bugzilla.gnome.org/show_bug.cgi?id=748875
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=748594
|
|
|
|
|
|
| |
Use the helper function available in the base class instead.
https://bugzilla.gnome.org/show_bug.cgi?id=748585
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=746617
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=746617
|
|
|
|
|
|
| |
Adding a comment makes coverity happy and quells the issue.
CID 1291629
|
|
|
|
|
| |
We know the caps by then, there's no need to wait until we actually receive
the first buffer.
|
| |
|