Wim Taymans
984ee8a3f6
audio-resampler: small optimizations
2016-03-28 13:25:55 +02:00
Wim Taymans
cf9059f070
audio-resampler: improve non-interleaved flags
...
Make it possible to have different interleaving on input and output
because we can quite trivially do that.
2016-03-28 13:25:55 +02:00
Wim Taymans
33855f0fe1
audio-resampler: unroll some more loops
...
Unroll some loops.
2016-03-28 13:25:55 +02:00
Wim Taymans
90a41b81dc
audio-resampler: keep precision
...
Transpose and add before applying the cubic interpolation to avoid
overflows when using full precision.
2016-03-28 13:25:55 +02:00
Wim Taymans
cc9d8594fe
audio-resampler: small cleanups
2016-03-28 13:25:55 +02:00
Wim Taymans
e209c0d565
audio-resampler: optimize no resampling
...
Switch to the faster nearest resample method when are doing no rate
conversion.
2016-03-28 13:25:54 +02:00
Wim Taymans
f692d5e459
audio-resampler: add VARIABLE_RATE flag
...
Add a VARIABLE rate flag that selects an interpolating filter.
Move some function setup code in the _new function.
2016-03-28 13:25:54 +02:00
Wim Taymans
7bb149dcc1
audio-resampler: more neon optimizations
2016-03-28 13:25:54 +02:00
Wim Taymans
6dd5e5259f
audio-resampler: avoid overflow in cubic interpolation
...
Shift out an extra bit to have some more headroom when doing cubic
interpolation.
2016-03-28 13:25:54 +02:00
Wim Taymans
61460fdfad
audio-resampler: overread only 8 taps
...
We only need 8 taps of zeroes as headroom for the SIMD optimized
functions.
2016-03-28 13:25:54 +02:00
Wim Taymans
4772ebbddf
audio-converter: use helper to check intermediate format
2016-03-28 13:25:54 +02:00
Wim Taymans
00e5a8bab8
audio-resampler: fix phase
2016-03-28 13:25:54 +02:00
Wim Taymans
9182ea17b5
audio-resampler: fix neon assembler
2016-03-28 13:25:53 +02:00
Wim Taymans
027165621b
audio-resampler: avoid some format conversion
...
Store the filter in the desired sample format so that we can simply do a
linear or cubic interpolation to get the new filter instead of having to
go through gdouble and then convert.
2016-03-28 13:25:53 +02:00
Wim Taymans
2c33c2134c
audio-resampler: fix neon linear float interpolation
2016-03-28 13:25:53 +02:00
Wim Taymans
d969a7a9d8
audio-resampler: reorder filter coefficients for more speed
...
Reorder the filter coefficients to make it easier to use SIMD for
interpolation.
Fix orc flags a little.
Add specialized nearest resampling function.
2016-03-28 13:25:53 +02:00
Wim Taymans
107f53ea0a
audio-resampler: remove stereo optimizations
...
The stereo optimizations don't give enough benefit.
Rename none to full to make it clear that we use a full filter instead
of an interpolated one
2016-03-28 13:25:53 +02:00
Wim Taymans
b820074a49
audio-resample: remove neon double stubs
...
NEON does not have double types.
2016-03-28 13:25:53 +02:00
Wim Taymans
6f9237dfb5
audio-resampler: add more neon optimizations
2016-03-28 13:25:53 +02:00
Wim Taymans
307f360cca
audio-resampler: add more neon optimizations
2016-03-28 13:25:53 +02:00
Wim Taymans
d5abdd83c9
audio-resampler: add neon optimizations
...
Unroll some more loops in the fallback code that seems to work fine
for ARM.
Add some simple ARM optimizations taken from speex.
2016-03-28 13:25:53 +02:00
Wim Taymans
25d81ffb55
audio-resampler: give better hints about the precision
...
Give better hints to the compiler about the precision we expect from
the multiplications.
2016-03-28 13:25:53 +02:00
Wim Taymans
ea497b509f
audio-resample: small optimizations
...
Remove some inline functions that are called in the slow path.
Unroll C fallback functions a little.
2016-03-28 13:25:52 +02:00
Wim Taymans
167a415717
audio-resampler: Use n_phases when calculating taps offset
...
Tweak linear interpolation oversampling.
Clear filter cache on rate changes when using a full filter.
2016-03-28 13:25:52 +02:00
Wim Taymans
524ea147cc
audio-resampler: improve filter construction
...
Remove some unused variables from the inner product functions.
Make filter coefficients by interpolating if required.
Rename some fields.
Try hard to not recalculate filters when just chaging the rate.
Add more proprties to audioresample.
2016-03-28 13:25:52 +02:00
Wim Taymans
0f3ff9177f
audio-resampler: avoid overflow in fraction calculation
2016-03-28 13:25:52 +02:00
Wim Taymans
651ae201bc
audio-resampler: increase precision
2016-03-28 13:25:52 +02:00
Wim Taymans
4cb52f1831
audio-resampler: add more optimizations
2016-03-28 13:25:52 +02:00
Wim Taymans
bdf194a09a
audio-resample: fix taps conversion
...
We do taps conversion in place so make sure we don't overwrite the
input with temporary data.
Optimize some more gint16 functions.
2016-03-28 13:25:52 +02:00
Wim Taymans
f6e0481ab5
audio-resampler: Improve taps memory layout
...
Rearrange the oversampled taps in memory to make it easier to use
SIMD instructions on them. this simplifies some sse code.
Add some more optimizations
2016-03-28 13:25:52 +02:00
Wim Taymans
e9fc039bb1
audio-resampler: add cubic interpolation
2016-03-28 13:25:52 +02:00
Wim Taymans
58dcd0587d
audio-resampler: add more functions
...
Use some macros to generate more functions
2016-03-28 13:25:51 +02:00
Wim Taymans
e02af5c534
audio-resampler: add linear interpolation method
...
Make more functions into macros.
Add linear interpolation of filter coefficients.
2016-03-28 13:25:51 +02:00
Wim Taymans
05d238def9
audio-resampler: add max-phase-error config
2016-03-28 13:25:51 +02:00
Wim Taymans
13e5b986cd
audio-resampler: improve tap calculation
...
Return the taps from make_taps, this makes it possible to not actually
have to cache the taps when we want to.
Fix overflow in phase calculation.
2016-03-28 13:25:51 +02:00
Wim Taymans
6397db74cd
audio-resampler: fix guint -> gint
2016-03-28 13:25:51 +02:00
Wim Taymans
45574ba4f4
audio-resampler: improve phase error
...
Accept a phase error of maximum 10%, which turns out to be inaudible.
2016-03-28 13:25:51 +02:00
Wim Taymans
b0b3350717
audio-resampler: improve phase calculation
...
Also calculate the GCD with the current phase so that we can accurately
represent the current phase with the new resample rates.
2016-03-28 13:25:51 +02:00
Wim Taymans
bbdb447b2b
audio-resampler: fix history after buffer resize
...
When we resize the temp buffer, move the history in its new place.
2016-03-28 13:25:51 +02:00
Wim Taymans
ed747492ef
audio-resampler: add reset function
...
Add a function to reset the audio-resampler.
Use new function in audio-converter
Use the new functions in gstaudioresample and fixup drain functions.
2016-03-28 13:25:51 +02:00
Wim Taymans
ea469ad9a8
audio-resampler: Small fixes
...
Fix the phase.
Reset the new sample buffer with 0.
Move samples around when we change the filter size.
2016-03-28 13:25:51 +02:00
Wim Taymans
a489f9ddb3
audio-resampler: Rework make_taps
...
Make it return a pointer to the generated taps. That way we can later
decide to actually cache it or not.
2016-03-28 13:25:51 +02:00
Wim Taymans
05eb109c0d
audio-resampler: handle filter length changes
...
Update the buffer with history samples when the filter length changes
because of an update of the parameters or sample rates.
2016-03-28 13:25:51 +02:00
Wim Taymans
8dfb3ffb99
audio-resampler: fix samples_avail
...
We only know the taps after we calculate them.
2016-03-28 13:25:51 +02:00
Wim Taymans
c8fc9d88a7
audio-resampler: work on dynamically changing the samplerate
...
Calculate the new phase for the new sample rate.
Fix some docs.
2016-03-28 13:25:51 +02:00
Wim Taymans
4e48867097
audio-resampler: small cleanups
2016-03-28 13:25:51 +02:00
Wim Taymans
85c77659b9
audio-resampler: add fallback to mono function
...
Remove stereo implementations. Implement fall back to mono functions
when the stereo function is missing.
2016-03-28 13:25:50 +02:00
Wim Taymans
2555317a71
audio-resampler: add float stereo SSE function
2016-03-28 13:25:50 +02:00
Wim Taymans
e74c207433
audio-resampler: Fix compilation of intrinsics
...
Only compile intrinsics when we are building for the selected
architecture.
Add sse4.1 optimized int32 resampler code.
2016-03-28 13:25:50 +02:00
Wim Taymans
98bd349b88
audioconvert: only resample on supported formats
2016-03-28 13:25:50 +02:00
Wim Taymans
d348fbb9b9
audio-converter: make some optimized functions
...
Make an optimized function that just calls the resampler when possible.
Optimize the resampler transform_size function a little.
2016-03-28 13:25:50 +02:00
Wim Taymans
23531bdc93
audio-resampler: remove mirror function
...
We don't need to mirror the input, just assume 0 samples.
Always move the processed samples to the start of the buffer.
Add some G_LIKELY
2016-03-28 13:25:50 +02:00
Wim Taymans
6f685410b1
audio-resampler: also enable sse when sse2 is available
2016-03-28 13:25:50 +02:00
Wim Taymans
71871c5048
audio-resampler: optimizations
...
Improve int16 resampling by using pmaddwd
Use intrinsics to scale and pack int16 samples
Align the coefficients so that we can use aligned loads
Add padding to taps and samples so that we don't have to use partial
loads for the remainder of the loops.
Remove copy_n, we can reuse the plain copy function with some new
parameters.
Align and pad the sample array.
2016-03-28 13:25:50 +02:00
Wim Taymans
f55a67ca7c
audio-resampler: make pluggable optimized functions
...
Add support for x86 specialized functions and select them at runtime.
2016-03-28 13:25:50 +02:00
Wim Taymans
819c4c26c7
audio-resampler: combine functions
2016-03-28 13:25:50 +02:00
Wim Taymans
de37491662
audio-converter: simplify API
...
Remove the consumed/produced output fields from the resampler and
converter. Let the caler specify the right number of input/output
samples so we can be more optimal.
Use just one function to update the converter configuration.
Simplify some things internally.
Make it possible to use writable input as temp space in audioconvert.
2016-03-28 13:25:50 +02:00
Wim Taymans
1d9a793545
audio-converter: more work on resampling
...
- Fix the resampler in the audio converter
- fix memory leaks
2016-03-28 13:13:59 +02:00
Wim Taymans
75d668e152
audio-converter: add resampler
...
Add a resampler to the processing chain when needed.
port the audio resampler to the new audioconverter library
2016-03-28 13:13:59 +02:00
Tim-Philipp Müller
f4fb623aba
audiodecoder: avoid unnecessary gst_pad_has_current_caps() checks
...
No need to do this for each input buffer, we have the input caps
stored somewhere already.
https://bugzilla.gnome.org/show_bug.cgi?id=763337
2016-03-24 14:49:12 +02:00
Jimmy Ohn
65f721b326
codec-utils: Add utilities for AAC and the AACHead header
...
Add utilities about the channels and sample rate for AAC.
https://bugzilla.gnome.org/show_bug.cgi?id=749110
2016-03-24 14:27:21 +02:00
Vineeth TM
44b70ca3a1
base: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763075
2016-03-24 14:25:41 +02:00
Stian Selnes
93196092d1
rtcpbuffer: Add API for APP packets
...
https://bugzilla.gnome.org/show_bug.cgi?id=761944
2016-03-24 14:24:11 +02:00
Haakon Sporsheim
d8e9a711a0
rtcpbuffer: Add profile-specific extension API.
...
https://bugzilla.gnome.org/show_bug.cgi?id=761950
2016-03-24 14:22:54 +02:00
Víctor Manuel Jáquez Leal
327d617d39
install-plugins: update documentation
...
Use gst-inspect-1.0 instead of gst-inspect-0.10
https://bugzilla.gnome.org/show_bug.cgi?id=763316
2016-03-24 10:29:27 +02:00
Wim Taymans
c0ef1ea553
audio-channel-mixer: improve non-interleaved flags
...
Make separate flags for non-interleaved input and output because the
channel mixer should be able to convert between the two layouts in the
future.
2016-03-04 17:17:33 +01:00
Tim-Philipp Müller
b424712644
video: update disted orc backup file
...
https://bugzilla.gnome.org/show_bug.cgi?id=761851
2016-02-27 00:13:03 +00:00
Göran Jönsson
babcf4d30c
video-converter: add direct UYVY to GRAY8 conversion function
...
https://bugzilla.gnome.org/show_bug.cgi?id=761851
2016-02-26 23:56:51 +00:00
Lim Siew Hoon
5ae5f9055f
pbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>
...
They are converted into <para></para> by gtk-doc...
https://bugzilla.gnome.org/show_bug.cgi?id=762674
2016-02-26 14:46:44 +02:00
Sebastian Dröge
87f380867b
audiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib-mkenums
...
That happens automatically already anyway.
2016-02-25 20:40:02 +02:00
Tim-Philipp Müller
c64dae3e1d
video: flesh out docs for gst_video_frame_map()
2016-02-25 17:46:31 +00:00
Luis de Bethencourt
e23b12b1c9
visual: correct type name
...
Base class type name should not reference libvisual since not all child
elements use this. This was an oversight when merging audiovisualizers into
a common base class.
2016-02-25 10:51:50 +00:00
Wim Taymans
221e661f07
audio-quantize: fix feedback dither
...
Make sure we allocated enough extra space in the error buffer to
store the feedback error.
2016-02-24 14:57:31 +01:00
Wim Taymans
3e8cf31a96
audio-converter: perform dithering on the current format
...
Use the current (intermediate) format to decide how to set up dithering
instead of the input format.
2016-02-24 14:57:31 +01:00
Sebastian Dröge
2c29f09da8
rtpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully
2016-02-23 18:23:45 +02:00
Adam Miartus
2bab28f494
tag: id3v2: read conductor tag
...
ID3v2 features the TPE3 info frame, which contains information
about the conductor.
https://bugzilla.gnome.org/show_bug.cgi?id=762451
2016-02-22 21:16:54 +00:00
Tim-Philipp Müller
a62c7bd54c
Fix use of undeclared core debug category symbols
...
libgstreamer currently exports some debug category
symbols GST_CAT_*, but those are not declared in any
public headers.
Some plugins and libgstvideo just use GST_DEBUG_CATEGORY_EXTERN()
to declare and use those, but that's just not right at
all, and it won't work on Windows with MSVC. Instead look
up the categories via the API.
2016-02-20 11:31:43 +00:00
Tim-Philipp Müller
ddfe7a2808
win32: remove outdated build cruft
...
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
2016-02-20 10:05:17 +00:00
Havard Graff
1cb19d1146
rtp: build audio library before rtp
...
Because audio-enumtypes.h needs to be available for
gstrtpbaseaudiopayload.c
https://bugzilla.gnome.org/show_bug.cgi?id=761949
2016-02-16 17:42:44 +02:00
Stian Selnes
85f297d648
videoencoder: Fix leak when pre_push does not return OK
...
https://bugzilla.gnome.org/show_bug.cgi?id=761951
2016-02-13 10:09:45 -03:00
Wim Taymans
5cef3f31ad
audio-converter: make a copy if we can't write in unpack
...
If we don't have writable memory, make sure to make a copy of the input
samples into a temporary (writable) buffer, even if we are dealing with
a native intermediate format that we don't need to call the unpack
function for.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=761655
2016-02-10 12:51:23 +01:00
HoonHee Lee
dfa2f49523
audio/videodecoder: Minor cleanup of last commit
...
https://bugzilla.gnome.org/show_bug.cgi?id=761218
2016-01-28 13:21:49 +01:00
HoonHee Lee
15df3c812b
audio/videodecoder: use gst_pad_peer_query_caps to make output caps
...
gst_pad_get_allowed_caps() will return NULL if the srcpad has no peer.
In that case, use gst_pad_peer_query_caps() with template caps as filter
to have negotiated output caps properly before forwarding GAP event.
https://bugzilla.gnome.org/show_bug.cgi?id=761218
2016-01-28 11:34:22 +01:00
Aurélien Zanelli
43db5e5ebd
video-format: fix GstVideoFormatInfo documentation warnings
...
Add missing ':' to tile_ws and tile_hs fields documentation to avoid
bad render of these two fields, mark reserved bytes as private to hide
field and avoid gtkdoc warning and add parameters description to
documented macro to avoid gtkdoc warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=761132
2016-01-26 14:48:19 -05:00
Wim Taymans
03566e5002
audio-converter: add reset function
2016-01-26 17:19:34 +01:00
Wim Taymans
2d971df593
audio-converter: handle NULL input
...
Allow NULL as input to mean silence samples.
2016-01-26 17:19:34 +01:00
Wim Taymans
6050509b65
audio-converter: improve _update_config
...
Allow NULL config to keep the existing parameters.
Fix the docs.
2016-01-26 17:19:34 +01:00
Wim Taymans
0f757bc23c
audio-converter: audio-converter: make some optimized functions
...
Make optimized functions for generic and passthrough conversion.
2016-01-26 17:19:34 +01:00
Wim Taymans
cde091ae81
audio-quantize: add _reset function
...
Add a reset function that clears any history.
2016-01-26 16:45:44 +01:00
Wim Taymans
3674742957
audio-converter: ensure correct alignment of samples
...
Make sure that the data we allocate for our temporary buffers is
properly aligned.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=760938
2016-01-21 16:27:50 +01:00
Wim Taymans
c99caa6b37
video-color: add Adobe RGB primaries and transfer function
2016-01-21 10:45:40 +01:00
Wim Taymans
773e2476e6
video-info: enfore RGB matrix for RGB formats
...
In gst_video_info_to_caps(), make sure we end up with an RGB matrix for
RGB formats and warn when the GstVideoInfo colorimetry is wrong.
In gst_video_info_from_caps(), fix the GstVideoInfo with an RGB matrix
for RGB formats and warn about inconsistent caps.
See https://bugzilla.gnome.org/show_bug.cgi?id=759624
2016-01-20 10:19:34 +01:00
Wim Taymans
83fe1c7705
video-converter: ignore matrix for RGB formats
...
For RGB formats, the matrix in the colorimetry (conversion from YUV to
RGB) is irrelevant and we should ignore it and assume the identity
transform for everything we do.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=759624
2016-01-20 10:02:20 +01:00
Thibault Saunier
1bf18f6f44
videoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPED
...
It was never actually supported or used
https://bugzilla.gnome.org/show_bug.cgi?id=760666
2016-01-20 09:51:09 +02:00
Thibault Saunier
7d35a07f1a
Revert "videoencoder: Release video frame when ->handle return ERROR or DROPPED"
...
This reverts commit 63517d0ed3
.
It was wrong ref counting wise and we decided to deprecated DROPPED
return value
https://bugzilla.gnome.org/show_bug.cgi?id=760666
2016-01-20 09:50:17 +02:00
Arun Raghavan
91084f49c0
appsrc: Minor documentation cleanup
2016-01-19 12:56:20 +05:30
Evan Callaway
a1f789770d
Add WAIT_ON_EOS flag to gstappsink.
...
If set, an appsink that receives an EOS will wait until all of its buffers have been processed before continuing.
https://bugzilla.gnome.org/show_bug.cgi?id=756187
2016-01-18 13:23:55 +02:00
Sebastian Dröge
761142e15a
audioencoder: Add note to the documentation about various settings being reset before set_format()
...
It's quite unexpected behaviour that various subclass settings are just
reset before set_format(). Unfortunately changing this now has the risk
of breaking existing code but we should reconsider this for 2.0.
2016-01-16 11:05:13 +01:00
Thibault Saunier
63517d0ed3
videoencoder: Release video frame when ->handle return ERROR or DROPPED
...
https://bugzilla.gnome.org/show_bug.cgi?id=760666
2016-01-16 08:53:35 +01:00
Wim Taymans
1b412a523d
audio-channel-mixer: round before truncating
...
Round the result before truncating for int channel mixing.
2016-01-12 15:56:36 +01:00
Wim Taymans
ef3844cf6f
audio-converter: Avoid conversion when possible
...
When the input and output formats are the same and in a possible
intermediate format, avoid unpack and pack.
Never do passthrough channel mixing.
Only do dithering and noise shaping in S32 format
2016-01-12 15:27:16 +01:00
Wim Taymans
4d47d43a13
audio-channel-mixer: add more formats
...
Add support for float and int16 mixing
Remove in-place processing, this simplifies things as we won't be using it.
Don't do clipping for float audio formats
2016-01-12 11:43:20 +01:00
Wim Taymans
8a8b12189e
audio-converter: improve processing loop
...
Process as many samples as we can from the input and return the number
of processed samples from the chain. This simplifies some code.
Fix the IN_WRITABLE handling, don't overwrite the flags.
2016-01-12 11:37:17 +01:00
Wim Taymans
85afad72ec
audio-converter: small API tweaks
...
Pass flags in _converter_new() so that we can configure ourselves
differently depending on some options.
SOURCE_WRITABLE -> IN_WRITABLE because the array is called 'in'
2016-01-08 17:34:50 +01:00
Wim Taymans
7f49b946cc
audio-converter: prepare API for rate changes
...
Use the update function to update the sample rates along with the config
once we implement resampling.
2016-01-08 17:28:31 +01:00
Wim Taymans
980163457e
audio-convert: simplify API
...
Simplify the API, we don't need the consumed and produced output
arguments. The caller needs to use the _get_in_frames/get_out_frames API
to check how much input is needed and how much output will be produced.
2016-01-08 17:19:58 +01:00
Sebastian Dröge
0da2709d0c
audio/video: Use G_GNUC_INTERNAL for internal functions
2016-01-08 17:50:50 +02:00
Wim Taymans
40f4c5e352
audio: GstAudioChannelMix -> GstAudioChannelMixer
...
Rename the GstAudioChannelMix object to GstAudioChannelMixer because it
looks better and to avoid a conflict with a library in -bad.
2016-01-08 16:41:17 +01:00
Aurélien Zanelli
c119715e25
videopool: store videoinfo after choosing the biggest buffer size
...
Otherwise, pool could be negotiated with a size which will be different
from the one used in allocation which is the GstVideoInfo.
https://bugzilla.gnome.org/show_bug.cgi?id=760222
2016-01-06 11:29:42 -05:00
Tim-Philipp Müller
7ffd9ce291
docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc
...
gtk-doc can handle static inline functions just fine these days,
there's no need for this stuff any more.
2016-01-03 17:21:18 +00:00
Sebastian Dröge
4d1726fddd
riff: Add missing closing parenthesis to GST_RIFF_WAVE_FORMAT_ANTEX_ADPCME
...
Apparently this #define is unused.
2016-01-03 10:33:53 +02:00
Stefan Sauer
f4ae53144e
riff-ids: remove trailing whitespace
2016-01-02 23:29:43 +01:00
Stefan Sauer
adb24a54ca
riff-ids: fix two swapped ids
...
For these fourcc ids the name and value is swapped. This was causing a warning
when registering the avi ids.
2016-01-02 23:29:43 +01:00
Sebastian Dröge
81cfb23945
sdp: Also reorder SUBDIRS to try even harder to build the RTP library first
2015-12-31 20:43:28 +02:00
Sebastian Dröge
bbd82057ab
sdp: The SDP library depends on the RTP library now and is not independent anymore
...
Fix up the build dependencies.
2015-12-31 20:41:38 +02:00
Hyunjun Ko
682b523652
sdp: add helper fuctions from/to sdp from/to caps
...
<gstsdpmessage.h>
GstCaps* gst_sdp_media_get_caps_from_media (const GstSDPMedia *media, gint pt);
GstSDPResult gst_sdp_media_set_media_from_caps (const GstCaps* caps, GstSDPMedia *media);
gchar * gst_sdp_make_keymgmt (const gchar *uri, const gchar *base64);
GstSDPResult gst_sdp_message_attributes_to_caps (GstSDPMessage *msg, GstCaps *caps);
GstSDPResult gst_sdp_media_attributes_to_caps (GstSDPMedia *media, GstCaps *caps);
<gstmikey.h>
GstMIKEYMessage * gst_mikey_message_new_from_caps (GstCaps *caps);
gchar * gst_mikey_message_base64_encode (GstMIKEYMessage* msg);
https://bugzilla.gnome.org/show_bug.cgi?id=745880
2015-12-31 17:11:57 +02:00
Sebastian Dröge
43655580e7
encoding-profile: Check for FALSE'ness directly, not by comparing with FALSE
2015-12-29 17:56:21 +02:00
Sebastian Dröge
f31240a765
encoding-profile: Don't use preset_name string after free
...
When we run the loop for another time and do not have a preset name, we would
try to print the preset name of a previous iteration that is already freed.
Also move some other variables into the block where they are actually used
to prevent similar mistakes in the future.
CID 1346536
2015-12-29 17:55:23 +02:00
Stefan Sauer
7bbfa39ada
audioconvert: fix passthrough operation
...
We did not take the sample size into account. Rearrange the tests to have more
conversion test and an extra test case for passthrough operations.
Fixes #759890
2015-12-29 14:40:32 +01:00
Reynaldo H. Verdejo Pinochet
e61f5b2138
videoblend: special case 1x1 src dims on increment computation
...
Fix crash with 1x1 overlay pixmap
https://bugzilla.gnome.org/show_bug.cgi?id=757290
2015-12-28 14:16:41 -08:00
Stefan Sauer
0bd3f818bb
audio-converter: code cleanup
...
Rename samples to num_samples, since we also have samples in chain, but that is
the data pointer. Always use gzize for num_samples. Make the log output a bit
more homogenous.
2015-12-27 19:25:20 +01:00
Sebastian Dröge
3459bd6854
audio: Fix some documentation warnings
...
Remove/rename function parameters and skip some functions that can't
be used by bindings as they are now.
2015-12-26 09:43:56 +01:00
Sebastian Dröge
3ba59f0b62
videoaffinetransformmeta: Add (transfer none) annotation for return value
2015-12-26 09:43:51 +01:00
Sebastian Dröge
7fddeaa878
pbutils: Link to libgstbase for bytewriter and adapter
2015-12-24 13:59:52 +01:00
Thibault Saunier
512ac3ea72
encodebin: Implement an encoding profile serialization format
...
https://bugzilla.gnome.org/show_bug.cgi?id=759356
2015-12-24 09:52:53 +01:00
Kazunori Kobayashi
d43f1b2a5a
appsrc: Clear is_eos flag when receiving the flush-stop event
...
The EOS event can be propagated to the downstream elements when
is_eos flag remains set even after leaving the flushing state.
This fix allows this element to normally restart the streaming
after receiving the flush event by clearing the is_eos flag.
https://bugzilla.gnome.org/show_bug.cgi?id=759110
2015-12-19 11:35:39 +01:00
Wim Taymans
08734e7598
audio-converter: rework the main processing loop
...
Rework the main processing loop. We now create an audio processing
chain from small core functions. This is very similar to how the
video-converter core works and allows us to statically calculate an
optimal allocation strategy for all possible combinations of operations.
Make sure we support non-interleaved data everywhere.
Add functions to calculate in and out frames and latency.
2015-12-16 11:13:15 +01:00
Xavier Claessens
429860e51f
base: Add g_autoptr() support to all types
...
https://bugzilla.gnome.org/show_bug.cgi?id=754464
2015-12-14 13:39:43 -05:00
Sebastian Dröge
b0c834df1b
rtspconnection: Properly initialize stack-allocated RTSP message to all-zeroes
2015-12-14 19:03:33 +01:00
Evan Callaway
5ac65d9e3a
rtspconnection: Use relative URI for non-proxy tunneled requests
...
Match the section 5.1.2 of the HTTP/1.0 spec by using relative URIs unless we
are using a proxy server. Also, send Host header for compatability with
HTTP/1.1 and some HTTP/1.0 servers.
https://bugzilla.gnome.org/show_bug.cgi?id=758922
2015-12-14 18:21:10 +01:00
Evan Callaway
65c7bd7a2c
rtspconnection: Support authentication during tunneling setup
...
gst_rtsp_connection_connect_with_response accepts a response pointer
which it fills with the response from setup_tunneling if the
connection is configured to be tunneled. The motivation for this is to
allow the caller to inspect the response header to determine if
additional authentication is required so that the connection can be
retried with the appropriate authentication headers.
The function prototype of gst_rtsp_connection_connect has been
preserved for compatability with existing code and wraps
gst_rtsp_connection_connect_with_response.
https://bugzilla.gnome.org/show_bug.cgi?id=749596
2015-12-14 16:00:45 +01:00
Sebastian Dröge
d6be67265f
rtpbasedepayload: Check if the packet loss event actually has timestamp and duration fields
...
CID 1139615
2015-12-14 13:11:21 +01:00
Wim Taymans
f5a3f70571
audio: adapt API for non-interleaved formats
...
Allow an array of sample blocks to be passed to the channel mix and
quantizer functions to support non-interleaved formats.
2015-12-14 09:16:08 +01:00
Wim Taymans
aec17c63fd
audio-converter: improve API for non-interleaved formats
...
Make it possible to pass an array of sample blocks when dealing with
non-interleaved formats.
2015-12-14 09:16:08 +01:00
Luis de Bethencourt
055ed65d92
riff: add FourCC aliases
...
Support media using the aliases defined in http://www.fourcc.org/ that are
exact duplicates of already known codes.
2015-12-12 20:22:44 +00:00
Luis de Bethencourt
98e93ec5ee
riff: use defined FourCC
...
Make gst_riff_create_video_caps() use the FourCC available in riff-ids.h,
like gst_riff_create_audio_caps() does.
2015-12-12 20:22:09 +00:00
Julien Isorce
4f396ae61c
videodecoder: add some debug around pool negotiation
...
It lets us know easily which pool is activated or
inactivated during the negotiation.
https://bugzilla.gnome.org/show_bug.cgi?id=720597
2015-12-11 14:55:46 +00:00
Song Bing
a476145797
video/convertframe: Add crop meta support via videocrop
...
https://bugzilla.gnome.org/show_bug.cgi?id=759329
2015-12-11 16:14:59 +02:00
Tim-Philipp Müller
f0db396e63
rtpbasedepay: when setting discont flag make sure rtpbuffer is current
...
Depayloaders will look at rtpbuffer->buffer for the discont flag.
When we set the discont flag on a buffer in the rtp base depayloader
and we have to make the buffer writable, make sure the rtpbuffer
actually contains the newly-flagged buffer, not the original input
buffer. This was introduced with the addition of the process_rtp_packet
vfunc, but would only trigger if the input buffer wasn't flagged
already and was not writable already.
2015-12-11 11:06:35 +00:00
Tim-Philipp Müller
86350ff8b7
rtpbasedepay: fix possible refcounting issue when detecting a discont
...
When we detect a discont and the input buffer isn't already flagged
as discont, handle_buffer() does a gst_buffer_make_writable() on the
input buffer in order to set the flag. This assumed it had ownership
of the input buffer though, which it didn't. This would still work
fine in most scenarios, but could lead to crashes or mini object
unref criticals in some cases when a discont is detected, e.g. when
using pcapparse in front of a depayloader. This problem was
introduced in bc14cdf529
.
2015-12-11 10:38:14 +00:00
Wim Taymans
5e55968546
audio-convert: improve converter API
...
Improve the converter API to allow for an max input and output number of
samples and return the number of consumed/produced samples.
2015-12-09 17:16:26 +01:00
Philippe Normand
872f40d7d9
appsrc: duration query support based on the size property
...
https://bugzilla.gnome.org/show_bug.cgi?id=759126
2015-12-08 12:42:46 +02:00
Edward Hervey
d34aaf9e9b
videodecoder: Avoid pushing buffers before segment start
...
In the case where the stream doesn't have a framerate set and the frames
don't have a duration set, we still want to use the clipping path to
make sure we don't push buffers outside of the segment.
The problem was the previous iteration was setting a duration of 2s, which
meant that any buffer which was less than 2s before the segment start would
end up getting pushed.
Instead, use a saner 40ms (25fps single frame duration) to figure out whether
the frame could be within the segment or not
2015-12-03 16:42:50 +01:00
Reynaldo H. Verdejo Pinochet
4ed7b0a0e6
Drop usage of deprecated g-ir-scanner --strip-prefix flag
2015-12-02 20:19:43 -08:00
Edward Hervey
f9b9472ad4
discoverer: Also consider XSUB as a subtitle format
2015-12-02 16:37:50 +01:00
Edward Hervey
817c780380
pbutils: Add description for XSUB subpicture format
2015-12-02 16:37:50 +01:00
Edward Hervey
27f2328348
riff: 'DXSA' is the same as 'DXSB'
...
Which is subpicture/x-xsub
2015-12-02 16:37:50 +01:00
Evan Callaway
e47643122c
rtspconnection: Update capitalization of x-sessioncookie
...
Some servers incorrectly parse header names with strict case-sensitivity. For
compatibility with these systems change X-Sessioncookie to x-sessioncookie.
https://bugzilla.gnome.org/show_bug.cgi?id=758921
2015-12-02 16:29:53 +02:00
Sebastian Dröge
2f3eb47a95
audiobasesrc: Post latency message on the bus after set_caps()
...
The latency is only known once the caps are known, and might change
whenever the caps are changing.
https://bugzilla.gnome.org/show_bug.cgi?id=758911
2015-12-01 19:58:25 +02:00
Michael Olbrich
43155807cd
audiobasesink: Post latency message on the bus after set_caps()
...
Any latency query before this will not get the correct latency so a new
latency query should be triggered once the audio sink know its own latency.
Without this the initial latency query from the pipeline arrives too early
sometimes and the resulting latency is too short.
https://bugzilla.gnome.org/show_bug.cgi?id=758911
2015-12-01 19:58:25 +02:00
Luis de Bethencourt
2a70c86e85
codec-utils: accept wrong version field in OpusHead header
...
Some Opus files found on the wild have 0 in the version field of the
OpusHead header, instead of the correct value of 1. The files still
play, don't make this error fatal.
https://bugzilla.gnome.org/show_bug.cgi?id=758754
2015-12-01 15:47:35 +00:00
William Manley
aae0dc37c9
allocators: add debug category for fd memory and allocator
...
Debugging can now be viewed by setting GST_DEBUG=fdmemory:9
https://bugzilla.gnome.org/show_bug.cgi?id=758744
2015-11-27 15:33:47 +00:00
Ravi Kiran K N
df5725e683
id3v2frames: Handle private frames
...
Handle PRIV ID3 tag having owner information (string)
and binary data, add to tag messages list.
https://bugzilla.gnome.org/show_bug.cgi?id=730926
2015-11-20 20:20:18 +00:00
Tim-Philipp Müller
93a92d7f70
tags: id3: make sure to register private-id3v2-frame tag before using it
2015-11-20 19:15:22 +00:00
Ognyan Tonchev
7a702df863
rtspconnection: Add support for parsing custom headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=758235
2015-11-18 00:15:32 +00:00
Reynaldo H. Verdejo Pinochet
0c95b0a738
Remove unnecessary NULL checks before g_free()
...
g_free() is NULL-safe
2015-11-17 14:50:27 -08:00
Luis de Bethencourt
09c881ee14
codec-utils: guint8 can't hold value over 255
...
channels is a guint8, so the max value is 255 and checking if it value is
> 256 will never be false.
CID 1338687, CID 1338688
2015-11-12 14:39:22 +00:00
Luis de Bethencourt
df16e8dd5a
audio-converter: remove unneeded check for unsigned < 0
...
Commit ff6d1a2a25
changed sample's type from
gint to gsize (and renamed it to in_samples). gsize is an unsigned long,
which means it can never be a negative value and the check making sure that
in_samples is >= 0 is never going to be false. Removing it.
CID 1338689
2015-11-12 14:18:30 +00:00
Vineeth TM
3f099e3c29
pbutils:encoding-target: Fix string memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=757926
2015-11-11 15:40:52 +01:00
Vineeth TM
b61e1465b7
audio-quantize: Fix dither_buffer memory leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=757928
2015-11-11 15:01:08 +01:00
Matthew Waters
0b98ed32ce
videometa: add GstVideoAffineTransformationMeta
...
Adds a simple 4x4 affine transformations meta for passing arbitrary
transformations on buffers.
Based on patch by Matthieu Bouron
https://bugzilla.gnome.org/show_bug.cgi?id=731791
2015-11-11 00:19:25 +11:00
Wim Taymans
ff6d1a2a25
audio-converter: add output size argument
...
Make it possible to have a different number of output samples than input
samples when we, for example, want to add resampling later.
2015-11-10 09:53:59 +01:00
Thibault Saunier
629b63d1f2
discoverer: Check API arguments and assert if needed
2015-11-07 00:46:47 +01:00
Wim Taymans
30977cf1a5
audio-converter: require interleaved samples and no resampling
...
We can't yet do resampling or anything other than interleaved audio.
2015-11-06 18:00:41 +01:00
Wim Taymans
7abed02858
audio: update ORC dist files
2015-11-06 17:54:21 +01:00
Wim Taymans
e3f0f3b91e
audio-converter: move audio converter to audio libs
...
Move the audio-converter helper to the audio library.
2015-11-06 17:53:22 +01:00
Wim Taymans
dfa25a40fc
audio-channel-mix: move channel mixer to audio libs
...
Move the channel mixer code to the audio library
2015-11-06 17:39:33 +01:00
Wim Taymans
b8bea9d8be
audio: add debug categories
2015-11-06 17:29:22 +01:00
Wim Taymans
59db8ce542
audio-quantize: update docs
...
Update docs
Add another flag for the quantizer
2015-11-06 13:02:19 +01:00
Wim Taymans
dfbeb78342
audio: update orc files
2015-11-06 12:37:14 +01:00
Wim Taymans
c36ac3ce45
audioconvert: move audio quantize code to libs
...
Move the audio quantize code from audioconvert to the audio library.
work on making an audio converter helper function similar to the video
converter.
Fold fastrandom directly into the quantizer, add some ORC code to
optimize this later.
2015-11-06 12:10:48 +01:00
Wim Taymans
a7789854d5
audio-channels: rename get_default_mask
...
Rename _get_default_mask() to _get_fallback_mask() to make it more
clear that the function only provides a fallback if nothing else can be
done. Also clarify this in the documentation.
API: gst_audio_channel_get_fallback_mask()
2015-11-05 12:50:18 +01:00
Wim Taymans
f86ed8cdf6
audio-channels: make method to get default channel-mask
...
Add a new method to get the default channel-mask.
Use the new method on audiodecoder and audioconvert.
API: gst_audio_channel_get_default_mask()
2015-11-05 10:52:53 +01:00
Arnaud Vrac
dfe250d17d
video: blend using OVER operation
...
Also support all premultiplied/non-premultiplied source/destination
configurations
https://bugzilla.gnome.org/show_bug.cgi?id=681447
2015-11-04 21:58:32 +01:00
Sebastian Dröge
bcd7b2fff2
codec-utils: Add utilities for Opus caps and the OpusHead header
...
https://bugzilla.gnome.org/show_bug.cgi?id=757152
2015-11-03 20:35:33 +02:00
Sebastian Dröge
35ea6fdddf
audio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=757153
2015-11-03 20:35:33 +02:00
Tim-Philipp Müller
1f2fdd3789
audio: update disted orc backup files
2015-11-03 16:38:09 +00:00
Luis de Bethencourt
94a7f9fc4e
audioclock: use GST_STIME_FORMAT for GstClockTimeDiff
...
GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
handle negative values better.
https://bugzilla.gnome.org/show_bug.cgi?id=757480
2015-11-03 14:08:29 +00:00
Luis de Bethencourt
227f1d1e0f
videodecoder: Print GstClockTimeDiff as a signed integer in debug logs
2015-11-03 13:44:39 +00:00
Wim Taymans
801f7ca464
audio-format: add TRUNCATE_RANGE flag
...
Add a TRUNCATE_RANGE flag for unpack functions to fill the least
significate bits with 0 (as did the old code). Also add functions
that don't truncate. Use the TRUNC flag in audioconvert for
backwards compatibility for now.
2015-11-03 12:12:08 +01:00
Wim Taymans
914aa4aed1
audiopack: improve pack functions
...
Avoid shifts by using convh functions.
2015-11-03 12:12:08 +01:00
Luis de Bethencourt
fe62e797d5
audiobasesink: use GST_STIME_ARGS for GstClockTimeDiff
...
No need to use G_GINT64_FORMAT for potentially negative values of
GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS.
Plus it creates more readable values in the logs.
https://bugzilla.gnome.org/show_bug.cgi?id=757480
2015-11-02 17:35:20 +00:00
Sebastian Dröge
443171bb4c
audio: Fix parameters to gst_buffer_get_audio_downmix_meta() in macro
2015-11-02 17:35:45 +02:00
Luis de Bethencourt
b81b3f07ec
videodecoder: subtract time difference with GST_CLOCK_DIFF
...
To ensure the subtraction of two GstClockTime values (which are guint64)
can be negative. Use GST_CLOCK_DIFF which returns a gint64.
CID 1338049
2015-11-02 12:09:45 +00:00
Thibault Saunier
a7123ebb58
encoding-profile: Do not force user to provide an encoding profile name
...
And use the profile called `default` if none provided.
2015-11-02 11:35:55 +01:00
Thibault Saunier
83fa06aab5
encoding-target: Do not unconditionally break when searching for a target
...
Otherwise the loop is useless!
Fixes CID 1338051
2015-11-02 11:31:34 +01:00
Sebastian Dröge
736a27fe1e
audiofilter: Clip input buffers to the segment before handling them
...
https://bugzilla.gnome.org/show_bug.cgi?id=757068
2015-11-02 10:20:37 +02:00
Sebastian Dröge
1da79c76a7
videodecoder: Print another time difference as a signed integer instead of a huge unsigned one
2015-10-29 16:52:49 +02:00
Sebastian Dröge
f17758d9e3
videodecoder: Print GstClockTimeDiff as a signed integer in debug logs
2015-10-29 16:01:26 +02:00
Thibault Saunier
2e20f3ba4f
encoding-target: Add a GST_ENCODING_TARGET_PATH envvar to find target files
2015-10-28 16:07:44 +01:00
Thibault Saunier
96f69fa998
encoding-target: Allow having encoding target without a category set
...
There was already some code to handle that, but the support was not
complete in those code paths.
2015-10-28 16:07:44 +01:00
Thibault Saunier
0256381f6f
encoding-target: Create directory before trying to save encoding targets
2015-10-28 16:07:44 +01:00
Thibault Saunier
db272cf9cb
encoding-profile: Allow specifying the target category in the serialized encoding target
2015-10-28 16:07:44 +01:00
Pavel Bludov
8051434c03
video: overlay-composition: fix rectangle and composition cast macros
...
Closing parenthesis was missing in two cases.
https://bugzilla.gnome.org/show_bug.cgi?id=756893
2015-10-22 09:24:01 +01:00
Sebastian Dröge
5bdeed32bc
rtp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1
2015-10-20 12:10:52 +03:00
eunhae choi
e98b96247f
audiobasesink: fix issue about eos handling during flushing
...
If the flush-start is arrived during _eos_wait() in basesink,
the 'eos' flag is overwritten to TRUE after exiting the _eos_wait().
To resolve the overwritten issue,
the subclass doing the _eos_wait() call should return the right value.
If the eos flag is set to TRUE again, it will cause error(enter the eos flow)
of the following state changing from PAUSED to PLAYING in basesink.
https://bugzilla.gnome.org/show_bug.cgi?id=754980
2015-10-19 12:12:12 -03:00
Sebastian Dröge
df0d5aa4d5
video: Add out annotations to the out parameters of gst_video_calculate_display_ratio()
...
https://bugzilla.gnome.org/show_bug.cgi?id=754567
2015-10-17 20:37:22 +03:00
Stian Selnes
0a668c1866
rtpbuffer: Add map flag to skip padding
...
Encrypted RTP buffers may contain encrypted padding, hence it's
necessary to have an option to relax the validation in order to
successfully map the buffer.
When the flag GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is set
gst_rtp_buffer_map() will map the buffer like if padding is not
present.
https://bugzilla.gnome.org/show_bug.cgi?id=752705
2015-10-15 22:42:37 +03:00
Sebastian Dröge
79d4765525
Revert "rtpbuffer: increase logging level when map fails"
...
This reverts commit e3c8a82017
.
It causes too much noise in the logs.
2015-10-15 22:40:50 +03:00
Miguel París Díaz
e3c8a82017
rtpbuffer: increase logging level when map fails
...
https://bugzilla.gnome.org/show_bug.cgi?id=756641
2015-10-15 16:48:08 +03:00