Wim Taymans [Tue, 12 Jan 2016 14:56:36 +0000 (15:56 +0100)]
audio-channel-mixer: round before truncating
Round the result before truncating for int channel mixing.
Wim Taymans [Tue, 12 Jan 2016 14:27:16 +0000 (15:27 +0100)]
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
Wim Taymans [Tue, 12 Jan 2016 10:43:20 +0000 (11:43 +0100)]
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
Wim Taymans [Tue, 12 Jan 2016 10:37:17 +0000 (11:37 +0100)]
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.
Thiago Santos [Mon, 11 Jan 2016 21:24:48 +0000 (18:24 -0300)]
subtitleoverlay: replace accept-caps with caps query
Those accept caps are actually checking if downstream supports
some particular caps to check if it need to negotiate a different
format. Checking only the next element with accept-caps is not enough
to guarantee that it is supported.
Using a caps query makes it obtain the supported caps for downstream
as a whole instead of only the next element.
Sebastian Dröge [Fri, 8 Jan 2016 19:27:16 +0000 (21:27 +0200)]
audio: Update exported symbols list
Thiago Santos [Fri, 8 Jan 2016 18:05:38 +0000 (15:05 -0300)]
videorate: replace accept-caps with a caps query
accept-caps is only a shallow check, it needs to know
whether downstream as a whole accepts the framerate
Tim-Philipp Müller [Fri, 8 Jan 2016 16:08:47 +0000 (16:08 +0000)]
docs: fix up for GstAudioChannelMix rename as well
Wim Taymans [Fri, 8 Jan 2016 16:34:50 +0000 (17:34 +0100)]
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'
Wim Taymans [Fri, 8 Jan 2016 16:28:31 +0000 (17:28 +0100)]
audio-converter: prepare API for rate changes
Use the update function to update the sample rates along with the config
once we implement resampling.
Wim Taymans [Fri, 8 Jan 2016 16:17:44 +0000 (17:17 +0100)]
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.
Sebastian Dröge [Fri, 8 Jan 2016 15:50:21 +0000 (17:50 +0200)]
audio/video: Use G_GNUC_INTERNAL for internal functions
Wim Taymans [Fri, 8 Jan 2016 15:22:25 +0000 (16:22 +0100)]
audio: GstAudioChannelMix -> GstAudioChannelMixer
Rename the GstAudioChannelMix object to GstAudioChannelMixer because it
looks better and to avoid a conflict with a library in -bad.
Sebastian Dröge [Thu, 7 Jan 2016 13:24:25 +0000 (15:24 +0200)]
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
Aurélien Zanelli [Wed, 6 Jan 2016 14:49:59 +0000 (15:49 +0100)]
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
Aurélien Zanelli [Wed, 6 Jan 2016 11:14:39 +0000 (12:14 +0100)]
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
Koop Mast [Wed, 6 Jan 2016 01:04:31 +0000 (01:04 +0000)]
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
Tim-Philipp Müller [Wed, 6 Jan 2016 01:06:10 +0000 (01:06 +0000)]
tests: fix indentation of various unit tests
Tim-Philipp Müller [Tue, 5 Jan 2016 22:52:34 +0000 (22:52 +0000)]
docs: add new audio API
Tim-Philipp Müller [Sun, 3 Jan 2016 17:21:18 +0000 (17:21 +0000)]
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.
Sebastian Dröge [Sun, 3 Jan 2016 08:33:53 +0000 (10:33 +0200)]
riff: Add missing closing parenthesis to GST_RIFF_WAVE_FORMAT_ANTEX_ADPCME
Apparently this #define is unused.
Stefan Sauer [Sat, 2 Jan 2016 22:29:22 +0000 (23:29 +0100)]
riff-ids: remove trailing whitespace
Stefan Sauer [Sat, 2 Jan 2016 22:27:44 +0000 (23:27 +0100)]
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.
Sebastian Dröge [Thu, 31 Dec 2015 18:43:28 +0000 (20:43 +0200)]
sdp: Also reorder SUBDIRS to try even harder to build the RTP library first
Sebastian Dröge [Thu, 31 Dec 2015 18:41:38 +0000 (20:41 +0200)]
sdp: The SDP library depends on the RTP library now and is not independent anymore
Fix up the build dependencies.
Hyunjun Ko [Wed, 7 Oct 2015 09:50:18 +0000 (18:50 +0900)]
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
Sebastian Dröge [Tue, 29 Dec 2015 16:14:54 +0000 (18:14 +0200)]
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
Sebastian Dröge [Tue, 29 Dec 2015 15:56:21 +0000 (17:56 +0200)]
encoding-profile: Check for FALSE'ness directly, not by comparing with FALSE
Sebastian Dröge [Tue, 29 Dec 2015 15:54:44 +0000 (17:54 +0200)]
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
Stefan Sauer [Tue, 29 Dec 2015 13:40:04 +0000 (14:40 +0100)]
audioconvert: add a test for gap handling
Stefan Sauer [Tue, 29 Dec 2015 13:23:59 +0000 (14:23 +0100)]
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
Tim-Philipp Müller [Tue, 29 Dec 2015 11:29:31 +0000 (11:29 +0000)]
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
Reynaldo H. Verdejo Pinochet [Thu, 12 Nov 2015 22:01:03 +0000 (14:01 -0800)]
videoblend: special case 1x1 src dims on increment computation
Fix crash with 1x1 overlay pixmap
https://bugzilla.gnome.org/show_bug.cgi?id=757290
Sebastian Dröge [Mon, 28 Dec 2015 10:28:26 +0000 (12:28 +0200)]
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
5640ba17c8db80976b7718904e4024dcfe9ee1a0.
https://bugzilla.gnome.org/show_bug.cgi?id=759910
Stefan Sauer [Sun, 27 Dec 2015 18:41:43 +0000 (19:41 +0100)]
tests: remove commented code from audioconvert test
This is just what we have in gst_check_buffer_data().
Stefan Sauer [Sun, 27 Dec 2015 18:25:20 +0000 (19:25 +0100)]
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.
Tim-Philipp Müller [Sat, 26 Dec 2015 11:34:47 +0000 (11:34 +0000)]
tools: gst-device-monitor: print non-string device properties too
Sebastian Dröge [Sat, 26 Dec 2015 08:43:56 +0000 (09:43 +0100)]
audio: Fix some documentation warnings
Remove/rename function parameters and skip some functions that can't
be used by bindings as they are now.
Sebastian Dröge [Sat, 26 Dec 2015 08:43:51 +0000 (09:43 +0100)]
videoaffinetransformmeta: Add (transfer none) annotation for return value
Sebastian Dröge [Fri, 25 Dec 2015 10:34:10 +0000 (11:34 +0100)]
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.
Sebastian Dröge [Fri, 25 Dec 2015 09:36:44 +0000 (10:36 +0100)]
playsink: Allow reuse of audio/video filters by unparenting them from their bins
And also recreate the chains if the filter is changing.
Sebastian Dröge [Fri, 25 Dec 2015 09:28:02 +0000 (10:28 +0100)]
playsink: Don't leak audio/video filters when using non-raw media
Sebastian Dröge [Thu, 24 Dec 2015 14:27:43 +0000 (15:27 +0100)]
Back to development
Sebastian Dröge [Thu, 24 Dec 2015 12:59:52 +0000 (13:59 +0100)]
pbutils: Link to libgstbase for bytewriter and adapter
Sebastian Dröge [Thu, 24 Dec 2015 12:59:15 +0000 (13:59 +0100)]
Release 1.7.1
Sebastian Dröge [Thu, 24 Dec 2015 12:10:08 +0000 (13:10 +0100)]
Update .po files
Sebastian Dröge [Thu, 24 Dec 2015 11:22:04 +0000 (12:22 +0100)]
po: Update translations
Thibault Saunier [Fri, 11 Dec 2015 14:38:00 +0000 (15:38 +0100)]
encodebin: Implement an encoding profile serialization format
https://bugzilla.gnome.org/show_bug.cgi?id=759356
Koop Mast [Sun, 20 Dec 2015 23:43:49 +0000 (00:43 +0100)]
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
Kazunori Kobayashi [Thu, 3 Dec 2015 02:53:05 +0000 (11:53 +0900)]
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
Thiago Santos [Wed, 16 Dec 2015 21:11:05 +0000 (18:11 -0300)]
examples: playback-test: remove unused variables
audiosink and videosink string variables are unused
Matthew Waters [Sun, 29 Nov 2015 23:28:55 +0000 (10:28 +1100)]
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
Sebastian Dröge [Thu, 17 Dec 2015 12:39:01 +0000 (13:39 +0100)]
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.
Sebastian Dröge [Wed, 16 Dec 2015 16:07:54 +0000 (17:07 +0100)]
Revert "decodebin2: fix deadlock on chain shutdown"
This reverts commit
77dc09c3a9a5e5e371e189f39b5557db440a8dc9.
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.
Luis de Bethencourt [Wed, 16 Dec 2015 11:12:00 +0000 (11:12 +0000)]
multifdsink: fix typo in GST_WARNING_OBJECT
This should make easier to parse the debug logs.
s/fnctl/fcntl
Vincent Penquerc'h [Thu, 10 Apr 2014 14:36:15 +0000 (15:36 +0100)]
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
Wim Taymans [Wed, 16 Dec 2015 09:45:48 +0000 (10:45 +0100)]
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.
Wim Taymans [Wed, 16 Dec 2015 09:44:16 +0000 (10:44 +0100)]
audioconvert: clear convert object
Sebastian Dröge [Wed, 16 Dec 2015 08:35:38 +0000 (09:35 +0100)]
docs: update to git
Nicolas Dufresne [Mon, 14 Dec 2015 18:59:02 +0000 (13:59 -0500)]
Revert "alsasrc: Disable HW timestamp"
This reverts commit
3642e9a3913a35c00f379034780c27298d09929c.
Xavier Claessens [Tue, 10 Nov 2015 17:54:23 +0000 (12:54 -0500)]
base: Add g_autoptr() support to all types
https://bugzilla.gnome.org/show_bug.cgi?id=754464
Nicolas Dufresne [Thu, 24 Sep 2015 22:26:51 +0000 (18:26 -0400)]
alsasrc: Disable HW timestamp
This is a workaround for broken pulse module.
Sebastian Dröge [Mon, 14 Dec 2015 18:03:33 +0000 (19:03 +0100)]
rtspconnection: Properly initialize stack-allocated RTSP message to all-zeroes
Evan Callaway [Mon, 14 Dec 2015 15:57:19 +0000 (10:57 -0500)]
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
Evan Callaway [Mon, 14 Dec 2015 14:10:16 +0000 (09:10 -0500)]
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
Sebastian Dröge [Mon, 14 Dec 2015 12:11:21 +0000 (13:11 +0100)]
rtpbasedepayload: Check if the packet loss event actually has timestamp and duration fields
CID 1139615
Wim Taymans [Thu, 10 Dec 2015 16:46:26 +0000 (17:46 +0100)]
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.
Wim Taymans [Thu, 10 Dec 2015 15:26:40 +0000 (16:26 +0100)]
audio-converter: improve API for non-interleaved formats
Make it possible to pass an array of sample blocks when dealing with
non-interleaved formats.
Luis de Bethencourt [Sat, 12 Dec 2015 16:49:28 +0000 (17:49 +0100)]
riff: add FourCC aliases
Support media using the aliases defined in http://www.fourcc.org/ that are
exact duplicates of already known codes.
Luis de Bethencourt [Sat, 12 Dec 2015 16:04:21 +0000 (17:04 +0100)]
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.
Julien Isorce [Fri, 11 Dec 2015 14:42:09 +0000 (14:42 +0000)]
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
Song Bing [Fri, 11 Dec 2015 13:42:00 +0000 (21:42 +0800)]
video/convertframe: Add crop meta support via videocrop
https://bugzilla.gnome.org/show_bug.cgi?id=759329
Tim-Philipp Müller [Fri, 11 Dec 2015 11:01:53 +0000 (11:01 +0000)]
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.
Tim-Philipp Müller [Fri, 11 Dec 2015 00:18:30 +0000 (00:18 +0000)]
tests: rtpbasedepayload: add test for seqnum gap discont setting
The problem was triggered only when the input buffers were not
writable, so add extra ref to test this code path.
Tim-Philipp Müller [Fri, 11 Dec 2015 10:25:00 +0000 (10:25 +0000)]
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
bc14cdf529e.
Wim Taymans [Thu, 10 Dec 2015 11:18:04 +0000 (12:18 +0100)]
multisocketsink: add GstNetworkMessage event
Add a property and logic to send a GstNetworkMessage event containing
the message that was received from a client. This can be used to
implement simply bidirectional communication.
Wim Taymans [Thu, 10 Dec 2015 11:14:37 +0000 (12:14 +0100)]
multisocketsink: add dispatched event
Add a property and logic to send a GstNetworkMessageDispatched
event upstream to notify that a buffer has been sent. This can be used
to keep track of what client received what buffers.
Wim Taymans [Fri, 4 Dec 2015 10:17:37 +0000 (11:17 +0100)]
socketsrc: handle GstNetworkMessage events
Add a property to handle GstNetworkMessage events. These events contain
a buffer that is sent on the socket to allow for simple bidirectional
communication.
Wim Taymans [Wed, 9 Dec 2015 16:16:26 +0000 (17:16 +0100)]
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.
Philippe Normand [Tue, 8 Dec 2015 10:15:34 +0000 (11:15 +0100)]
appsrc: duration query support based on the size property
https://bugzilla.gnome.org/show_bug.cgi?id=759126
Nicolas Dufresne [Mon, 7 Dec 2015 14:08:05 +0000 (09:08 -0500)]
Automatic update of common submodule
From b319909 to 86e4663
Wim Taymans [Fri, 4 Dec 2015 11:25:11 +0000 (12:25 +0100)]
multisocketsink: let downstream know we support metadata
Let downstream know that we support GstNetControlMessage metadata API.
Edward Hervey [Thu, 3 Dec 2015 15:38:45 +0000 (16:38 +0100)]
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
Reynaldo H. Verdejo Pinochet [Thu, 3 Dec 2015 04:19:43 +0000 (20:19 -0800)]
Drop usage of deprecated g-ir-scanner --strip-prefix flag
Tim-Philipp Müller [Wed, 2 Dec 2015 18:16:05 +0000 (18:16 +0000)]
decodebin2: fix "Attempt to unlock mutex that was not locked"
Introduced in commit
ee44337f, caused the decodebin
test_text_plain_streams unit test to abort.
https://bugzilla.gnome.org/show_bug.cgi?id=752651
Edward Hervey [Mon, 16 Nov 2015 13:50:58 +0000 (14:50 +0100)]
playback: Expose XSUB formats by default
This is a workaround, we should remove this once we have a proper
decoder
Edward Hervey [Mon, 16 Nov 2015 13:50:30 +0000 (14:50 +0100)]
discoverer: Also consider XSUB as a subtitle format
Edward Hervey [Mon, 16 Nov 2015 13:49:55 +0000 (14:49 +0100)]
pbutils: Add description for XSUB subpicture format
Edward Hervey [Mon, 16 Nov 2015 13:49:19 +0000 (14:49 +0100)]
riff: 'DXSA' is the same as 'DXSB'
Which is subpicture/x-xsub
Edward Hervey [Tue, 21 Jul 2015 07:58:56 +0000 (09:58 +0200)]
streamsynchronizer: Rename GstStream => GstSyncStream
Avoid clashes with future GstStream from core
Evan Callaway [Wed, 2 Dec 2015 14:00:31 +0000 (09:00 -0500)]
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
Sebastian Dröge [Wed, 2 Dec 2015 14:16:22 +0000 (16:16 +0200)]
decodebin: Update buffering messages when removing an element that had buffering pending
Otherwise we'll remove that element while keeping its buffering message in our
list, and because of that never ever report buffering 100% as that element
will always be at a lower percentage.
This fixes e.g. seeking over Period boundaries in DASH and various other
issues when buffering happens between group switches.
Also use a new mutex for protecting the buffering messages. The object lock is
already used by gst_object_has_as_ancestor() and we need to use it now for
checking if the buffering message sender has the to-be-removed element as
ancestor.
Wim Taymans [Wed, 2 Dec 2015 08:52:19 +0000 (09:52 +0100)]
multisocketsink: keep on reading when we stop sending
When we stop sending because we need more data, still keep a GSource
around to receive data from the clients.
Also handle read and write in the same go.
Sebastian Dröge [Tue, 1 Dec 2015 17:57:10 +0000 (19:57 +0200)]
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
Michael Olbrich [Fri, 25 Sep 2015 12:47:48 +0000 (14:47 +0200)]
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
Thomas Bluemel [Fri, 6 Nov 2015 14:21:14 +0000 (14:21 +0000)]
[PATCH] Fix a race condition accessing the decode_chain field.
Make sure that any access to the GstDecodeBin's decode_chain
field is protected using the EXPOSE_LOCK. Also add a simple
reference counter to the GstDecodeChain structure so that when
the type_found signal fires it can hold onto the decode chain
even while the EXPOSE_LOCK is not held. This should fix a
race condition if the type_found signal fires right in the
middle of a state change that messes with the same decode
chain.
https://bugzilla.gnome.org/show_bug.cgi?id=755260
Vincent Penquerc'h [Thu, 20 Aug 2015 16:30:38 +0000 (17:30 +0100)]
decodebin: early out on pad-added when the pad is inactive
The pad may be recently deactivated if the element is switched
back down very quickly.
https://bugzilla.gnome.org/show_bug.cgi?id=752651
Vincent Penquerc'h [Thu, 20 Aug 2015 16:29:36 +0000 (17:29 +0100)]
decodebin: lock the expose lock around decode_chain use
Helps with a crash in decodebin when quickly switching states.
https://bugzilla.gnome.org/show_bug.cgi?id=752651
Luis de Bethencourt [Sat, 28 Nov 2015 14:24:55 +0000 (14:24 +0000)]
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
William Manley [Thu, 26 Nov 2015 11:33:02 +0000 (11:33 +0000)]
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