Commit graph

4610 commits

Author SHA1 Message Date
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