Commit graph

14795 commits

Author SHA1 Message Date
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
Sebastian Dröge
844aa3e6a9 playbin: Use the caps query instead of accept-caps to detect if a sink accepts caps
accept-caps is only for one element, caps query is recursive. Fixes playback
with totem and other situations.

https://bugzilla.gnome.org/show_bug.cgi?id=760234
2016-01-08 16:32:32 +02: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
Aurélien Zanelli
9b9f913809 videotestsrc: add missing break in set_property switch case
To avoid future issue when adding new properties.

https://bugzilla.gnome.org/show_bug.cgi?id=760204
2016-01-06 13:21:06 +02:00
Koop Mast
17b16e7a83 tests: audioconvert: fix test compilation with clang
With clang 3.7.1 on FreeBSD:
elements/audioconvert.c:650:12: error: shifting a negative signed value is
      undefined [-Werror,-Wshift-negative-value]
      (-32 << 16) + (1 << 15), (-32 << 16) - (1 << 15),
       ~~~ ^

https://bugzilla.gnome.org/show_bug.cgi?id=760134
2016-01-06 01:13:32 +00:00
Tim-Philipp Müller
e5fb7275c2 tests: fix indentation of various unit tests 2016-01-06 01:12:13 +00:00
Tim-Philipp Müller
63d7a2a89a docs: add new audio API 2016-01-05 22:52:34 +00: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
eb09889176 audioconvert: Pass pointer arrays instead of singleton pointers to gst_audio_converter_samples()
In this specific case it wouldn't cause problems as we only ever access the
first array element, but let's make explicit what is happening here.

CID 1346530 and 1346529
2015-12-29 18:14:54 +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
898940a37f audioconvert: add a test for gap handling 2015-12-29 14:40:32 +01: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
Tim-Philipp Müller
f2ecf85103 tools: gst-device-monitor: print uint properties in both decimal and hex
Some values are easier to read and make sense of in hex.

https://bugzilla.gnome.org//show_bug.cgi?id=759780
2015-12-29 11:29:31 +00: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
Sebastian Dröge
0416f121f2 typefindfunctions: Make sure that enough data is available in AAC/ADTS typefinder
We would otherwise read beyond the array bounds and crash every now and then.
This was introduced with 5640ba17c8.

https://bugzilla.gnome.org/show_bug.cgi?id=759910
2015-12-28 13:51:02 +02:00
Stefan Sauer
267e7ba1d9 tests: remove commented code from audioconvert test
This is just what we have in gst_check_buffer_data().
2015-12-27 19:41:43 +01: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
Tim-Philipp Müller
69d3b098a2 tools: gst-device-monitor: print non-string device properties too 2015-12-26 11:43:22 +00: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
6a57399270 playsink: Don't leak audio/video filters due to floating references weirdness
The filters' floating references are sinked during set_property() already,
which means that GstBin takes a new reference when adding the filter to it.
Get rid of the additional reference after adding the filter to the bin.
2015-12-25 11:34:10 +01:00
Sebastian Dröge
a136ac0e2f playsink: Allow reuse of audio/video filters by unparenting them from their bins
And also recreate the chains if the filter is changing.
2015-12-25 10:36:44 +01:00
Sebastian Dröge
24181db083 playsink: Don't leak audio/video filters when using non-raw media 2015-12-25 10:28:02 +01:00
Sebastian Dröge
7de6b06ade Back to development 2015-12-24 15:27:43 +01:00
Sebastian Dröge
7fddeaa878 pbutils: Link to libgstbase for bytewriter and adapter 2015-12-24 13:59:52 +01:00
Sebastian Dröge
5f98203bd7 Release 1.7.1 2015-12-24 13:59:15 +01:00
Sebastian Dröge
1975bdcd1c Update .po files 2015-12-24 13:10:08 +01:00
Sebastian Dröge
2361745117 po: Update translations 2015-12-24 12:22:04 +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
Koop Mast
d08b96b0b7 configure: Make -Bsymbolic check work with clang.
Update the -Bsymbolic check with the version glib has. This version
works with clang.

https://bugzilla.gnome.org/show_bug.cgi?id=759713
2015-12-21 12:27:58 +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
Thiago Santos
8b05f682b0 examples: playback-test: remove unused variables
audiosink and videosink string variables are unused
2015-12-18 19:01:09 -03:00
Matthew Waters
023af2d3b1 playbin: only add the template caps when the result is empty
Unconditionally adding the template caps when proxying the caps query will play
havoc with decoders that attempt to choose an output format based on some caps
features.  Creating a sink that does not include those caps features and a
decoder/parser/etc that preferentially chooses some specific caps feature when
available, will always return the decoder/parser/etc template caps and choose a
feature that downstream will be unable to support.

Fix by limiting the addition of the template caps to when the result is actually
empty.

https://bugzilla.gnome.org/show_bug.cgi?id=758212
2015-12-18 21:55:00 +11:00
Sebastian Dröge
aadefefba8 configure: Don't use AG_GST_CHECK_FEATURE for checking for gio-unix-2.0
It's meant to be used for external plugins that can then all be disabled via
--disable-external. gio-unix-2.0 however is just an optional dependency for
the TCP unit test.

Also when using AG_GST_CHECK_FEATURE like this, in the --disable-external part
there needs to be an AM_CONDITIONAL for the feature with FALSE.
2015-12-17 13:39:01 +01:00
Sebastian Dröge
60bad4815d Revert "decodebin2: fix deadlock on chain shutdown"
This reverts commit 77dc09c3a9.

It can cause the FLUSH_START/STOP events to go to the sink elements, which
then causes state changes and various other problems. We shouldn't really
flush downstream here, the idea is to do *draining*.

Apart from that the testcase for the original bug here works without this
commit now.
2015-12-16 17:09:25 +01:00
Luis de Bethencourt
29cfb9a6d7 multifdsink: fix typo in GST_WARNING_OBJECT
This should make easier to parse the debug logs.
s/fnctl/fcntl
2015-12-16 11:12:03 +00:00
Vincent Penquerc'h
033ce9b20d videorate: remove dead code
Since the loops increasing count from 0 are always run at least
once (if count < 1), count will always be at least one when
compared to the drop/dup conditions.

Coverity 1139674
2015-12-16 11:00:22 +00: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
Wim Taymans
8bcf183c7f audioconvert: clear convert object 2015-12-16 11:13:15 +01:00
Sebastian Dröge
559fd76d7d docs: update to git 2015-12-16 09:35:38 +01:00