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
Tim-Philipp Müller [Fri, 20 Nov 2015 20:18:34 +0000 (20:18 +0000)]
tests: tags: add unit test for ID3v2 PRIVATE_DATA tag extraction
https://bugzilla.gnome.org/show_bug.cgi?id=730926
Ravi Kiran K N [Mon, 29 Sep 2014 08:47:39 +0000 (14:17 +0530)]
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
Tim-Philipp Müller [Fri, 20 Nov 2015 19:15:22 +0000 (19:15 +0000)]
tags: id3: make sure to register private-id3v2-frame tag before using it
Ognyan Tonchev [Tue, 17 Nov 2015 16:07:37 +0000 (17:07 +0100)]
rtspconnection: Add support for parsing custom headers
https://bugzilla.gnome.org/show_bug.cgi?id=758235
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 10:58:54 +0000 (02:58 -0800)]
Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe
Vineeth TM [Tue, 17 Nov 2015 00:06:34 +0000 (09:06 +0900)]
xvimagesink/ximagesink: Fix structure memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=758204
Luis de Bethencourt [Thu, 12 Nov 2015 14:39:17 +0000 (14:39 +0000)]
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
Luis de Bethencourt [Thu, 12 Nov 2015 14:18:03 +0000 (14:18 +0000)]
audio-converter: remove unneeded check for unsigned < 0
Commit
ff6d1a2a25b247688f38e117782a6b43d525706a 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
Vineeth TM [Wed, 11 Nov 2015 05:44:55 +0000 (14:44 +0900)]
tests:video: Fix overlay rectangle and buffer leak
Created overlay rectangle is not being freed in video tests
pix2 buffer is being created and not freed
https://bugzilla.gnome.org/show_bug.cgi?id=757927
Vineeth TM [Wed, 11 Nov 2015 05:37:21 +0000 (14:37 +0900)]
pbutils:encoding-target: Fix string memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=757926
Vineeth TM [Wed, 11 Nov 2015 06:02:39 +0000 (15:02 +0900)]
audio-quantize: Fix dither_buffer memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=757928
Jan Schmidt [Tue, 10 Nov 2015 13:59:16 +0000 (00:59 +1100)]
vorbisdec: Re-init on new caps
If we get new input caps, then reset the decoder
ready for new headers and fresh data. Makes
chained oggs work when reusing the decoder.
Matthew Waters [Mon, 2 Nov 2015 12:12:19 +0000 (23:12 +1100)]
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
Wim Taymans [Tue, 10 Nov 2015 08:52:24 +0000 (09:52 +0100)]
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.
Thibault Saunier [Fri, 6 Nov 2015 23:43:55 +0000 (00:43 +0100)]
discoverer: Check API arguments and assert if needed
Edward Hervey [Fri, 6 Nov 2015 18:31:47 +0000 (19:31 +0100)]
decodebin: Properly deactivate ghostpads
Just setting the ghostpad as flushing wasn't enough. It needs to be
consistent on the internal proxypad also, otherwise you end up in
situations where:
* a pending buffer on the target pad triggers the sticky event
propagation
* the default implementation sees that the proxypad is not flushing,
so it tries to push it to the other pad (the actual ghostpad)
* the ghostpad is flushing, so returns FALSE
* the push_event function sees that pushing the event failed...
* ... and pending buffer push returns GST_FLOW_ERROR, instead of
GST_FLOW_FLUSHING
By using gst_pad_set_active(FALSE), we ensure that both the ghostpad
and the proxypad are flushing/deactivated. The situation above will
no longer occur, and a GST_FLOW_FLUSHING will be returned.
Tim-Philipp Müller [Fri, 6 Nov 2015 18:11:41 +0000 (18:11 +0000)]
audioconvert: fix build
Don't include file that is no longer generated, and remove some
files that are no longer needed because they have moved into the
lib. Fixes distcheck.
Wim Taymans [Fri, 6 Nov 2015 17:00:41 +0000 (18:00 +0100)]
audio-converter: require interleaved samples and no resampling
We can't yet do resampling or anything other than interleaved audio.
Wim Taymans [Fri, 6 Nov 2015 16:54:21 +0000 (17:54 +0100)]
audio: update ORC dist files
Wim Taymans [Fri, 6 Nov 2015 16:49:00 +0000 (17:49 +0100)]
audio-converter: move audio converter to audio libs
Move the audio-converter helper to the audio library.
Wim Taymans [Fri, 6 Nov 2015 16:39:33 +0000 (17:39 +0100)]
audio-channel-mix: move channel mixer to audio libs
Move the channel mixer code to the audio library
Wim Taymans [Fri, 6 Nov 2015 16:29:22 +0000 (17:29 +0100)]
audio: add debug categories
Wim Taymans [Fri, 6 Nov 2015 15:42:35 +0000 (16:42 +0100)]
channelmix: don't limit channelpositions
Don't set a limit on the channel positions, just like the metadata.
Wim Taymans [Fri, 6 Nov 2015 15:03:20 +0000 (16:03 +0100)]
channelmix: simplify API a little
Remove the format and layout from the mix_samples function and use the
format when creating the channel mixer object. Also use a flag to handle
the unlikely case of non-interleaved samples like we do elsewhere.
Wim Taymans [Fri, 6 Nov 2015 14:50:34 +0000 (15:50 +0100)]
channelmix: GstChannel -> GstAudioChannel
Rename GstChannel to GstAudioChannel
Wim Taymans [Fri, 6 Nov 2015 12:02:19 +0000 (13:02 +0100)]
audio-quantize: update docs
Update docs
Add another flag for the quantizer
Wim Taymans [Fri, 6 Nov 2015 11:46:36 +0000 (12:46 +0100)]
audioconvert: cleanups and add some docs
Add docs for the internal audioconvert object before moving it to the
audio library.
Remove get_sizes and implement the trivial logic in the element.
Remove some unused orc functions
Wim Taymans [Fri, 6 Nov 2015 11:46:12 +0000 (12:46 +0100)]
defs: update defs
Wim Taymans [Fri, 6 Nov 2015 11:37:14 +0000 (12:37 +0100)]
audio: update orc files
Wim Taymans [Fri, 6 Nov 2015 11:10:48 +0000 (12:10 +0100)]
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.
Wim Taymans [Thu, 5 Nov 2015 11:42:56 +0000 (12:42 +0100)]
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()
Thibault Saunier [Thu, 5 Nov 2015 10:34:07 +0000 (11:34 +0100)]
volume: Do not try to get binding value array if we are not processing any sample
In some conditions we might process empty buffers, calling
gst_control_binding_get_value_array in that case will lead
to the assertion:
(lt-ges-launch-1.0:18859): GStreamer-CRITICAL **: gst_control_binding_get_value_array: assertion 'values' failed
Wim Taymans [Thu, 5 Nov 2015 09:40:18 +0000 (10:40 +0100)]
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()
Andreas Frisch [Mon, 10 Nov 2014 10:11:37 +0000 (11:11 +0100)]
tests: Add a test for video blending over transparent frames
And fix the test_overlay_blend test where we blend over a
transparent frame and where expecting wrong results
https://bugzilla.gnome.org/show_bug.cgi?id=681447
Arnaud Vrac [Sat, 30 Nov 2013 00:59:55 +0000 (01:59 +0100)]
video: blend using OVER operation
Also support all premultiplied/non-premultiplied source/destination
configurations
https://bugzilla.gnome.org/show_bug.cgi?id=681447
Sebastian Dröge [Tue, 3 Nov 2015 14:51:47 +0000 (16:51 +0200)]
oggdemux: Create full Opus caps with all fields
https://bugzilla.gnome.org/show_bug.cgi?id=757152
Sebastian Dröge [Tue, 3 Nov 2015 16:30:09 +0000 (18:30 +0200)]
codec-utils: Add utilities for Opus caps and the OpusHead header
https://bugzilla.gnome.org/show_bug.cgi?id=757152
Sebastian Dröge [Tue, 3 Nov 2015 09:11:57 +0000 (11:11 +0200)]
oggmux: Use GstAudioClippingMeta for Opus for accurate end clipping
... instead of relying on the segment. For the clipping at the start we assume
a proper value in the OpusHead, as generated by opusparse or opusenc.
Transmuxing in general is not guaranteed to produce the correct values, or
even have a OpusHead (e.g. when having RTP input).
https://bugzilla.gnome.org/show_bug.cgi?id=757153
Sebastian Dröge [Tue, 3 Nov 2015 08:58:35 +0000 (10:58 +0200)]
oggdemux: Add GstAudioClippingMeta for Opus for accurate start/end clipping
https://bugzilla.gnome.org/show_bug.cgi?id=757153
Sebastian Dröge [Mon, 2 Nov 2015 14:19:42 +0000 (16:19 +0200)]
audio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers
https://bugzilla.gnome.org/show_bug.cgi?id=757153
Sebastian Dröge [Mon, 2 Nov 2015 09:19:23 +0000 (11:19 +0200)]
oggdemux: Allow start clipping for Opus
The granulepos does not have the pre-skip subtracted while timestamps do,
and the last granulepos will be shorter by the number of samples that should
be dropped because of padding in the end.
As such, extrapolating the granule of the beginning of the first frame will
lead to a negative value, which is not a problem but intentional.
https://bugzilla.gnome.org/show_bug.cgi?id=757153
Tim-Philipp Müller [Tue, 3 Nov 2015 16:38:09 +0000 (16:38 +0000)]
audio: update disted orc backup files
Luis de Bethencourt [Tue, 3 Nov 2015 14:08:25 +0000 (14:08 +0000)]
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
Luis de Bethencourt [Tue, 3 Nov 2015 13:44:39 +0000 (13:44 +0000)]
videodecoder: Print GstClockTimeDiff as a signed integer in debug logs
Wim Taymans [Tue, 3 Nov 2015 10:59:09 +0000 (11:59 +0100)]
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.
Wim Taymans [Tue, 3 Nov 2015 10:57:32 +0000 (11:57 +0100)]
audiopack: improve pack functions
Avoid shifts by using convh functions.
Wim Taymans [Tue, 3 Nov 2015 10:44:54 +0000 (11:44 +0100)]
audioconvert: change multiplier for int<->float conversion
Use (1 << 31) as the multiplier for int<->float conversions. This makes
sure that int->float conversions always end up with floats between
[-1.0, 1.0].
For the conversion from float to int, this multiplier will give the complete
int range after we perform clipping.
Change the unit test to take this into consideration.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755301
Luis de Bethencourt [Mon, 2 Nov 2015 17:32:55 +0000 (17:32 +0000)]
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
Luis de Bethencourt [Mon, 2 Nov 2015 16:36:35 +0000 (16:36 +0000)]
oggmux: Print GstClockTimeDiff as a signed integer in debug logs
Luis de Bethencourt [Mon, 2 Nov 2015 16:09:52 +0000 (16:09 +0000)]
oggdemux: Use GstClockTimeDiff and print signed integer in debug logs
Use GstClockTimeDiff and Clock macros to print signed integer time
differences in the debug logs.
https://bugzilla.gnome.org/show_bug.cgi?id=757480
Luis de Bethencourt [Mon, 2 Nov 2015 14:06:39 +0000 (14:06 +0000)]
examples: 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
Sebastian Dröge [Mon, 2 Nov 2015 15:14:51 +0000 (17:14 +0200)]
audio: Fix parameters to gst_buffer_get_audio_downmix_meta() in macro
Wim Taymans [Mon, 2 Nov 2015 14:54:19 +0000 (15:54 +0100)]
audiotestsrc: increase freq limit
Raise the frequency limit and try to negotiate to a samplerate of 4*freq
when larger then the default samplerate.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=754450
Wim Taymans [Mon, 2 Nov 2015 14:46:22 +0000 (15:46 +0100)]
audiotestsrc: add support for unlimited number of channels
Raise the channel limit and set the channel-mask for > 2 channels.
Wim Taymans [Mon, 2 Nov 2015 12:19:09 +0000 (13:19 +0100)]
audiotestsrc: add support for all formats
Use the pack functions to also support the other audio formats we
have.
Luis de Bethencourt [Mon, 2 Nov 2015 12:09:42 +0000 (12:09 +0000)]
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
Thibault Saunier [Mon, 2 Nov 2015 10:34:56 +0000 (11:34 +0100)]
encoding-profile: Do not force user to provide an encoding profile name
And use the profile called `default` if none provided.
Thibault Saunier [Mon, 2 Nov 2015 10:30:07 +0000 (11:30 +0100)]
encoding-target: Do not unconditionally break when searching for a target
Otherwise the loop is useless!
Fixes CID 1338051
Sebastian Dröge [Sat, 24 Oct 2015 17:08:47 +0000 (20:08 +0300)]
audioresample: Clip input buffers to the segment before handling them
https://bugzilla.gnome.org/show_bug.cgi?id=757068
Sebastian Dröge [Sat, 24 Oct 2015 17:05:10 +0000 (20:05 +0300)]
audioconvert: Clip input buffers to the segment before handling them
https://bugzilla.gnome.org/show_bug.cgi?id=757068
Sebastian Dröge [Sat, 24 Oct 2015 17:02:13 +0000 (20:02 +0300)]
audiofilter: Clip input buffers to the segment before handling them
https://bugzilla.gnome.org/show_bug.cgi?id=757068
Tim-Philipp Müller [Sun, 1 Nov 2015 23:05:10 +0000 (23:05 +0000)]
audioconvert: update orc backup code to fix build without orc
Csaba Toth [Mon, 26 Oct 2015 20:32:41 +0000 (21:32 +0100)]
multisocketsink: fix "client-removed" signal on 64-bit platforms and with bindings
The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE
in its definition leading to problems on platforms where the size
of a pointer is larger than the size of an integer, It would also
not work at all with dynamic language bindings.
https://bugzilla.gnome.org/show_bug.cgi?id=757155
Joan Pau Beltran [Wed, 28 Oct 2015 17:36:41 +0000 (18:36 +0100)]
videotestsrc: fix handling of Bayer format 'gbrg'
Due to a typo, videotestsrc did not handle the Bayer
format 'gbrg' properly and reported it as invalid,
causing negotiation errors.
https://bugzilla.gnome.org/show_bug.cgi?id=757264
Wim Taymans [Fri, 30 Oct 2015 16:36:48 +0000 (17:36 +0100)]
audioconvert: rework audioconvert
Rewrite audioconvert to try to make it more clear what steps are
executed during conversion.
Add passthrough step that just does a memcpy when possible.
Add ORC optimized dither and quantization functions.
Implement noise-shaping on S32 samples only and allow for arbitrary
noise shaping coefficients if we want this later.
Wim Taymans [Fri, 30 Oct 2015 16:33:32 +0000 (17:33 +0100)]
channelmix: fix up API a little
don't use gpointer * for something that should be gpointer.
Wim Taymans [Wed, 28 Oct 2015 10:40:42 +0000 (11:40 +0100)]
audioquantize: make helper for add with saturation
Sebastian Dröge [Thu, 29 Oct 2015 14:52:31 +0000 (16:52 +0200)]
videodecoder: Print another time difference as a signed integer instead of a huge unsigned one
Sebastian Dröge [Thu, 29 Oct 2015 14:01:26 +0000 (16:01 +0200)]
videodecoder: Print GstClockTimeDiff as a signed integer in debug logs
Nirbheek Chauhan [Wed, 28 Oct 2015 18:31:01 +0000 (00:01 +0530)]
tools: gst-device-monitor: fix two memory leaks
The removed GList link needs to be freed too, and
the G_OPTION_REMAINING arguments need to be freed.
Thibault Saunier [Wed, 28 Oct 2015 14:50:44 +0000 (15:50 +0100)]
encoding-target: Add a GST_ENCODING_TARGET_PATH envvar to find target files
Thibault Saunier [Wed, 28 Oct 2015 14:47:00 +0000 (15:47 +0100)]
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.
Thibault Saunier [Tue, 27 Oct 2015 11:56:48 +0000 (12:56 +0100)]
encoding-target: Create directory before trying to save encoding targets
Thibault Saunier [Tue, 27 Oct 2015 11:50:26 +0000 (12:50 +0100)]
encoding-profile: Allow specifying the target category in the serialized encoding target
Wim Taymans [Tue, 27 Oct 2015 16:28:06 +0000 (17:28 +0100)]
audioconvert: make the quantizer a reusable object
Turn the quantizer into a reusable object.
Wim Taymans [Tue, 27 Oct 2015 12:24:31 +0000 (13:24 +0100)]
audioconvert: make the channel mixer a separate reusable object
A first attempt at making the channel mixer a separate object.
Wim Taymans [Wed, 28 Oct 2015 10:32:57 +0000 (11:32 +0100)]
audioquantize: fix 8-pole noise shaping
Fix the 8-pole noise shaping error update. We were mixing errors from
different channels.
Sebastian Dröge [Tue, 27 Oct 2015 13:44:06 +0000 (15:44 +0200)]
decodebin: Send SEEK events directly to adaptive streaming demuxers
This makes sure that they will always get SEEK events, even if we're currently
in the middle of a group switch (i.e. switching to another
representation/bitrate/etc).
https://bugzilla.gnome.org/show_bug.cgi?id=606382
Guillaume Desmottes [Tue, 6 Oct 2015 13:20:51 +0000 (15:20 +0200)]
decodebin: fix event leak
As stated in GST_PAD_PROBE_HANDLED's documentation, we are
supposed to unref the event before returning.
Fixes an event leak in the validate.hls.playback.play_15s.hls_bibbop
validate scenario.
https://bugzilla.gnome.org/show_bug.cgi?id=754459
Sebastian Dröge [Fri, 23 Oct 2015 16:13:05 +0000 (19:13 +0300)]
audioconvert: Update disted orc files
Wim Taymans [Fri, 23 Oct 2015 14:58:17 +0000 (16:58 +0200)]
audioconvert: use pack/unpack functions
Rework the converter to use the pack/unpack functions
Because the unpack functions can only unpack to 1 format, add a separate
conversion step for doubles when the unpack function produces int.
Do conversion to S32 in the quantize function directly.
Tweak the conversion factor for doing float->int conversion slightly to
get the full range of negative samples, use clamp to make sure we don't
exceed our int range on the positive axis (see also #755301)
Sebastian Dröge [Fri, 23 Oct 2015 09:02:28 +0000 (12:02 +0300)]
playbin: Send upstream events directly to playsink
Send event directly to playsink instead of letting GstBin iterate
over all sink elements. The latter might send the event multiple times
in case the SEEK causes a reconfiguration of the pipeline, as can easily
happen with adaptive streaming demuxers.
What would then happen is that the iterator would be reset, we send the
event again, and on the second time it will fail in the majority of cases
because the pipeline is still being reconfigured
Eunhae Choi [Fri, 23 Oct 2015 08:25:50 +0000 (17:25 +0900)]
tests: typefindfunctions: fix error leaks
https://bugzilla.gnome.org/show_bug.cgi?id=757008
Thibault Saunier [Wed, 23 Sep 2015 16:47:52 +0000 (18:47 +0200)]
videotestsrc: Force alpha downstream if foreground color contains alpha
Otherwise the foreground color won't be fully represented in the
outputted frames.
https://bugzilla.gnome.org/show_bug.cgi?id=755482
Pavel Bludov [Thu, 22 Oct 2015 04:07:44 +0000 (12:07 +0800)]
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
Tim-Philipp Müller [Wed, 21 Oct 2015 13:34:56 +0000 (14:34 +0100)]
Automatic update of common submodule
From b99800a to b319909
Sebastian Dröge [Tue, 20 Oct 2015 14:29:42 +0000 (17:29 +0300)]
Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
Sebastian Dröge [Wed, 21 Oct 2015 11:25:47 +0000 (14:25 +0300)]
Automatic update of common submodule
From 9aed1d7 to b99800a
Sebastian Dröge [Tue, 20 Oct 2015 09:08:23 +0000 (12:08 +0300)]
rtp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1
Matthew Waters [Mon, 19 Oct 2015 16:58:26 +0000 (03:58 +1100)]
decodebin: track the exposable pads through connect_pad
The logic introduced by
[d50b713: decodebin: set the decode pad target before setting elements to PAUSED]
to expose pads would only ever be able to possibly expose one (the last) pad per element.
Make it so that any exposable pads are able to be exposed rather than just the
last pad returned by connect_element.
https://bugzilla.gnome.org/show_bug.cgi?id=742924
Matthew Waters [Mon, 19 Oct 2015 16:52:24 +0000 (03:52 +1100)]
decodebin: return the possibly new chain in analyze_new_pad
In the case of analyzing a demuxer chain, analyze_new_pad may create
a new GstDecodeChain. This was not propagated to the calling function which as
of [
d50b713f decodebin: set the decode pad target before setting elements to PAUSED]
is now required to be able to expose the correct pad.
https://bugzilla.gnome.org/show_bug.cgi?id=742924
Rajat Verma [Mon, 19 Oct 2015 10:02:19 +0000 (15:32 +0530)]
playsink: relink text_pad in case of reconfiguration
In case of reconfiguration, text_pad should be re-connected with
stream synchronizer sink pad. Otherwise we'll leave an unlinked pad around if
there always was a streamsynchronizer text pad.
https://bugzilla.gnome.org/show_bug.cgi?id=756804
eunhae choi [Mon, 14 Sep 2015 06:25:11 +0000 (15:25 +0900)]
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
Sebastian Dröge [Sat, 17 Oct 2015 19:25:22 +0000 (22:25 +0300)]
decodebin/playbin/playsink/subtitleoverlay: Post async-done on state change failures
https://bugzilla.gnome.org/show_bug.cgi?id=756611
Sebastian Dröge [Sat, 17 Oct 2015 19:20:31 +0000 (22:20 +0300)]
playsink: Immediately error out if state change fails
Otherwise we chain up to the parent class' change_state function and might
override the failure with SUCCESS.
https://bugzilla.gnome.org/show_bug.cgi?id=756611
Sebastian Dröge [Sat, 17 Oct 2015 18:47:07 +0000 (21:47 +0300)]
playbin/uridecodebin: Always post async-done immediately if we're a live pipeline
Not only if the base class told us, but also if one of our own elements did.
https://bugzilla.gnome.org/show_bug.cgi?id=756611