Edward Hervey [Thu, 12 Jan 2017 09:51:34 +0000 (10:51 +0100)]
urisourcebin: Avoid races when setting up typefind
The state of urisourcebin (and all elements contained within) can
change at any point in time, including when setting up the typefind
element.
In order to avoid ending up with typefind starting without being fully
connected, lock the state and connect to the 'have-type' signal.
Sebastian Dröge [Wed, 11 Jan 2017 16:24:38 +0000 (18:24 +0200)]
video-converter: Fix crashes in fast-paths when converting interlaced formats with different vertical subsampling
E.g. the following pipelines fail because chroma values after the last
line are read (note: 486 % 4 == 2):
gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=UYVY" ! videoconvert ! "video/x-raw,format=I420" ! fakesink
gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=UYVY" ! fakesink
gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=AYUV" ! fakesink
Jan Schmidt [Wed, 11 Jan 2017 11:48:02 +0000 (22:48 +1100)]
urisourcebin: Drop fake EOS if the pad got relinked
If our pad got relinked in since the fake-EOS was sent to the
pad, then drop the fake-EOS event.
CID: 1398546
Arun Raghavan [Wed, 11 Jan 2017 11:56:01 +0000 (17:26 +0530)]
common: Revert unintentional change in previous commit
Arun Raghavan [Wed, 11 Jan 2017 11:44:46 +0000 (17:14 +0530)]
urisourcebin: Drop some dead code
The ret == GST_STATE_CHANGE_FAILURE is handled in the previous for loop
already.
CID: 1398544
Seungha Yang [Wed, 11 Jan 2017 03:35:40 +0000 (12:35 +0900)]
urisourcebin: Clear pad from pending list if it was linked
If not, the other slots might try to link the pad again.
This can happen when the demuxer has multiple src pads
and their caps are identical
https://bugzilla.gnome.org/show_bug.cgi?id=777121
Edward Hervey [Wed, 11 Jan 2017 07:22:21 +0000 (08:22 +0100)]
win32: update def file
Vivia Nikolaidou [Tue, 10 Jan 2017 14:36:08 +0000 (16:36 +0200)]
videotimecode: Added unit test for GstVideoTimeCodeInterval
https://bugzilla.gnome.org/show_bug.cgi?id=776447
Vivia Nikolaidou [Thu, 29 Dec 2016 12:42:52 +0000 (14:42 +0200)]
videotimecode: New GstVideoTimeCodeInterval type, ability to add to a GstVideoTimeCode
Sometimes there is a human-oriented timecode that represents an
interval between two other timecodes. It corresponds to the human
perception of "add X hours" or "add X seconds" to a specific timecode,
taking drop-frame oddities into account. This interval-representing
timecode is now a GstVideoTimeCodeInterval. Also added function to add it to
a GstVideoTimeCode.
https://bugzilla.gnome.org/show_bug.cgi?id=776447
Seungha Yang [Tue, 10 Jan 2017 12:52:34 +0000 (21:52 +0900)]
urisourcebin: Configure typefind element for non-streaming uri
To ensure configuring adaptivedemux if needed,
setup typefind element even if uri is not matched to streaming protocol.
https://bugzilla.gnome.org/show_bug.cgi?id=776458
Seungha Yang [Sat, 24 Dec 2016 07:44:26 +0000 (16:44 +0900)]
urisourcebin: Use GList for typefind elements
We need typefind elements per source element's srcpad
https://bugzilla.gnome.org/show_bug.cgi?id=776458
Seungha Yang [Sat, 24 Dec 2016 07:15:45 +0000 (16:15 +0900)]
urisourcebin: Remove unused signal handler variable
Remove never used handler id
https://bugzilla.gnome.org/show_bug.cgi?id=776458
Thibault Saunier [Tue, 10 Jan 2017 11:57:51 +0000 (08:57 -0300)]
pbutils: Fix annotation in gst_encoding_profile_set_preset
Tim-Philipp Müller [Mon, 9 Jan 2017 19:45:25 +0000 (19:45 +0000)]
win32: update .def file for new video API
Tim-Philipp Müller [Mon, 9 Jan 2017 19:10:10 +0000 (19:10 +0000)]
tests: audiodecoder: fix another c99-ism
Missed one.
Tim-Philipp Müller [Mon, 9 Jan 2017 19:02:57 +0000 (19:02 +0000)]
Fix indentation
Tim-Philipp Müller [Mon, 9 Jan 2017 18:58:42 +0000 (18:58 +0000)]
tests: audiodecoder: fix compiler warnings due to c99-ism
audiodecoder.c:160:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
Vivia Nikolaidou [Fri, 30 Dec 2016 18:27:48 +0000 (20:27 +0200)]
videotimecode: Add GstValue functions unit test
https://bugzilla.gnome.org/show_bug.cgi?id=772764
Vivia Nikolaidou [Fri, 30 Dec 2016 17:08:16 +0000 (19:08 +0200)]
videotimecode: Add GstValue functions
Add compare, serialization and deserialization functions
https://bugzilla.gnome.org/show_bug.cgi?id=772764
Seungha Yang [Sun, 8 Jan 2017 12:53:27 +0000 (21:53 +0900)]
urisourcebin: Clear EOS state with stream-start/flush-stop event
The EOS state marker should cleared on stream-start or flush-stop
https://bugzilla.gnome.org/show_bug.cgi?id=777009
Seungha Yang [Sun, 8 Jan 2017 12:36:04 +0000 (21:36 +0900)]
urisourcebin: Never push actual EOS event to slot
Due to the special nature of adaptivedemux, reconfigure happens
frequently with seek/track-change.
In very exceptional cases, the following sequence is possible:
* EOS event is pushed to queue element and still buffers are queued
* During draining remaining buffers, reconfiguration downstream
happens due to track switch.
* The queue gets a not-linked flow return from downstream
* Because the sinkpad is EOS, the queue registers an
error on the bus, causing the pipeline to fail.
Avoid the sinkpad getting marked EOS in the first place, by using a
custom event in place of EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=777009
Jan Schmidt [Mon, 9 Jan 2017 10:31:37 +0000 (21:31 +1100)]
testsuite: Add some test checks for gst_video_guess_framerate()
Jan Schmidt [Mon, 9 Jan 2017 10:25:26 +0000 (21:25 +1100)]
gst_video_guess_framerate: Don't throw away all precision
When operating on framerates near 10000fps, at least keep 1
digit of precision for calculations
Thibault Saunier [Fri, 6 Jan 2017 15:56:00 +0000 (12:56 -0300)]
Update win32 def files
Thibault Saunier [Fri, 6 Jan 2017 14:39:27 +0000 (11:39 -0300)]
encoding-target: Properly free temporary list
Thibault Saunier [Wed, 4 Jan 2017 17:27:40 +0000 (14:27 -0300)]
encoding-profile: Add a way to copy an encoding profile
It is often usefull to make sure that you get a full copy of a profile.
For example you want to let the user modify it in the user interface
but still keep an unchanged version for later use.
API:
gst_encoding_profile_copy
Guillaume Desmottes [Wed, 4 Jan 2017 13:56:36 +0000 (14:56 +0100)]
meson: generate pkg-config -uninstalled pc files
Generating those files is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=776810
Thibault Saunier [Wed, 4 Jan 2017 14:21:51 +0000 (11:21 -0300)]
encodebin: Fix stream_group_free when creating it went bad
Avoiding trying to use NULL pointers
Mark Nauwelaerts [Fri, 30 Dec 2016 16:55:18 +0000 (17:55 +0100)]
playsink: do not link to audio or video filter using padname
... as a sinkpad need not be called "sink", and it is not the case
for e.g. timeoverlay (and friends).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=776623
Tim-Philipp Müller [Wed, 4 Jan 2017 13:44:53 +0000 (13:44 +0000)]
multihandlesink: fix some property descriptions
Jan Schmidt [Mon, 2 Jan 2017 15:23:43 +0000 (02:23 +1100)]
playback: Fix a small race on decodebin/parsebin shutdown.
When shutting down decodebin2 and parsebin, they set their
output pads to flushing, and there is a very small window
where elements might send a sticky event such as a tag event
(which silently fails due to flushing) and then sends a buffer,
and the buffer will return GST_FLOW_ERROR because it can't
forward sticky events. The element will then send an error
message on the bus. This can also happen when elements send EOS
just as shutdown is happening. Since we're about to destroy all
the elements inside parsebin and decodebin anyway, just discard
error messages from them.
A nicer but more difficult fix for GStreamer 2.0 is to make
all event pushing / handling in core return a GstFlowReturn
like buffers do, so we can report a FLUSHING state cleanly.
Tim-Philipp Müller [Mon, 2 Jan 2017 12:54:32 +0000 (12:54 +0000)]
encodebin: fix queue property types when setting
Song Bing [Fri, 13 Mar 2015 10:04:31 +0000 (18:04 +0800)]
encodebin: allow more buffers in output queue for better performance
https://bugzilla.gnome.org/show_bug.cgi?id=744191
Arun Raghavan [Mon, 2 Jan 2017 12:26:36 +0000 (17:56 +0530)]
audioconvert: Relocate a NULL check before accessing converter
CID 1396745
Tobias Mueller [Thu, 2 Jul 2015 05:23:23 +0000 (07:23 +0200)]
appsrc: fix compiler warning
Initialize min and max _get_property() to gets rid of these
compiler warnings:
gstappsrc.c:741:7: error: 'max' may be used uninitialized in this function
g_value_set_int64 (value, max);
^
gstappsrc.c:733:7: error: 'min' may be used uninitialized in this function
g_value_set_int64 (value, min);
^
Which happens because gcc doesn't know that GST_IS_APP_SRC will never
fail here.
https://bugzilla.gnome.org/show_bug.cgi?id=752052
Stuart Weaver [Wed, 25 Nov 2015 11:30:42 +0000 (11:30 +0000)]
rtsp-url: unescape special chars in user/pass part of URL
This way special characters such as '@' can be used in
usernames or passwords, e.g.
rtsp://view:%40dm%4An@<IP-ADDR>/media/camera1
will now parse username and password into:
User: view
Pass: @dm:n
https://bugzilla.gnome.org/show_bug.cgi?id=758389
Vineeth TM [Wed, 18 Nov 2015 04:59:30 +0000 (13:59 +0900)]
discoverer: Add support to dump dot files
Dump graphs during error/warning messages and discover is done
https://bugzilla.gnome.org/show_bug.cgi?id=758259
Tim-Philipp Müller [Sat, 24 Dec 2016 10:15:24 +0000 (10:15 +0000)]
tests: tag: add unit test for ID3v2 UTF-16 string list parsing
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Tim-Philipp Müller [Sat, 24 Dec 2016 14:32:34 +0000 (14:32 +0000)]
tests: tag: add test for ID3v2 extended header parsing
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Thomas Bluemel [Wed, 24 Aug 2016 17:39:39 +0000 (11:39 -0600)]
id3v2: fix splitting strings in ISO-8859-1 and UTF-16 formats
When parsing NUL-terminated strings, do not include the terminating
NUL byte(s). Depending on the encoding used, either g_utf8_validate()
failed due to this, or worse the call to g_utf16_to_utf8() would
return 0 items read on an empty string, causing it to fail parsing
certain frames.
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Thomas Bluemel [Wed, 24 Aug 2016 16:33:14 +0000 (10:33 -0600)]
id3v2: fix handling of tags with extended headers
The extended header size value does not include itself.
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Thibault Saunier [Fri, 23 Dec 2016 21:08:43 +0000 (18:08 -0300)]
encoding-profile: Initialize variables to avoid build failures
encoding-profile.c: In function ‘get_profile_format_from_possible_factory_name’:
encoding-profile.c:1532:6: error: ‘fact’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
if (fact)
^
encoding-profile.c: In function ‘profile_from_string’:
encoding-profile.c:1720:6: error: ‘res’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
if (profile)
^
cc1: all warnings being treated as errors
Thibault Saunier [Fri, 23 Dec 2016 17:23:48 +0000 (14:23 -0300)]
encoding-profile: Allow using factory names in serialization format
Instead of enforcing the user to know and understand caps to describe
the encoding format, let him use element factory names directly.
This also makes it possible to ensure that a specific encodore/muxer
is used instead of letting the ranking system do it.
It is now possible to describe an encoding format simply specifying:
matroskamux:x264enc:vobisenc
Factor out functions in the parsing, cleaning up the whole thing.
Update documentation.
Thibault Saunier [Wed, 21 Dec 2016 22:32:41 +0000 (19:32 -0300)]
encoding-profile: Also take into account preset name when comparing profiles
Thibault Saunier [Wed, 21 Dec 2016 16:24:37 +0000 (13:24 -0300)]
encoding-profile: Handle path to serialized target when deserializing a profile
The synthax is path/to/encoding/profile.gep:profilename
Thibault Saunier [Wed, 21 Dec 2016 15:13:38 +0000 (12:13 -0300)]
encoding-target: Add 'file-extension' as a known category
Thibault Saunier [Wed, 21 Dec 2016 14:05:30 +0000 (11:05 -0300)]
encoding-target: Allow using name and targets from serialized file
We used to only care about the name of the files even if the name
is defined in the encoding target serialized file.
That commit also allows user to define several names for a single
target file (using a ';' between the names) which allows us to have
a target for youtube that is called 'youtube;yt' or a target for
'ogg;ogv;oga' file extension.
Thibault Saunier [Wed, 21 Dec 2016 14:01:27 +0000 (11:01 -0300)]
encoding-target: Auto convert loading target name to lowercase
We *only* support lowercase encoding target names so we can just
handle user to use uper case ones converting them.
Thibault Saunier [Wed, 21 Dec 2016 13:02:31 +0000 (10:02 -0300)]
pbutils: Add documentation about encoding targets
hoonhee.lee [Sat, 10 Dec 2016 02:43:47 +0000 (11:43 +0900)]
playbin-test: Don't use removed playbin3 'auto-select-streams' property
https://bugzilla.gnome.org/show_bug.cgi?id=775917
Carlos Rafael Giani [Fri, 2 Sep 2016 13:23:18 +0000 (15:23 +0200)]
audiotestsrc: Fix incorrect start of tick waveform
Make sure ticks start with an accumulator value of 0 by incrementing it
after filling in samples instead of before and by resetting the accumulator
every time a tick begins. This prevents it from being discontinuous at the
beginning of the tick.
https://bugzilla.gnome.org/show_bug.cgi?id=774050
Nicolas Dechesne [Thu, 22 Dec 2016 17:47:19 +0000 (18:47 +0100)]
tools: gst-play: set GST_GL_XINITHREADS
This ensure that XInitThreads is called and so gl contexts are properly
initialized.
https://bugzilla.gnome.org/show_bug.cgi?id=776403
Evan Nemerson [Fri, 27 Jun 2014 01:01:06 +0000 (18:01 -0700)]
audioringbuffer: add set_callback_full() for g-i
https://bugzilla.gnome.org/show_bug.cgi?id=678301
Nicola Murino [Tue, 20 Dec 2016 11:33:12 +0000 (12:33 +0100)]
tcpclientsrc: add timeout property
https://bugzilla.gnome.org/show_bug.cgi?id=749567
Jan Schmidt [Tue, 20 Dec 2016 13:11:06 +0000 (00:11 +1100)]
parsebin: Ignore failure to send sticky events
When plugging and then exposing a parser, don't fail
if it fails to send sticky events. The most likely
reason is that things were flushed due to the app
immediately doing a seek, but we can't detect flushing
separately to other error conditions without a
gst_pad_send_event_full() core function that returns
a GstFlowReturn.
Sebastian Dröge [Tue, 20 Dec 2016 11:00:59 +0000 (13:00 +0200)]
riff-media: Fix up last commit
Nicola Murino [Sat, 28 Mar 2015 17:16:16 +0000 (18:16 +0100)]
riff: add ADPCM_G722 support
https://bugzilla.gnome.org/show_bug.cgi?id=746574
Thibault Saunier [Mon, 19 Dec 2016 18:20:35 +0000 (15:20 -0300)]
tests: Fix build
Thibault Saunier [Mon, 19 Dec 2016 18:08:12 +0000 (15:08 -0300)]
encodebin: Fix build initializing sprof
Thibault Saunier [Sat, 17 Dec 2016 01:11:41 +0000 (22:11 -0300)]
encodebin: Fallback to other profile if we fail with one
In some case we might have EncodingProfile that will be defined
in a way that, for example if a Preset is not present, another
profile for that stream should be used.
A test is added showing the feature.
https://bugzilla.gnome.org/show_bug.cgi?id=776188
Thibault Saunier [Fri, 16 Dec 2016 19:27:04 +0000 (16:27 -0300)]
encodebin: Enhance error debug when failing to create an encoder
Tim-Philipp Müller [Sun, 18 Dec 2016 12:29:42 +0000 (12:29 +0000)]
tag: id3v2: turn redundant check into an assert
We checked this already earlier, so this is dead code.
Leave an assert in place for consistency with the other
branch and in case the rest of the code changes.
CID 1397350.
Sebastian Dröge [Sat, 17 Dec 2016 19:58:29 +0000 (21:58 +0200)]
discoverer: Get caps from the element's srcpad if possible
The caps put into the stream topology by decodebin are the caps at the
moment the pads are exposed on it. This is usually before decoders
received any buffers.
In discoverer we however wait for pre-roll, which ensures that each
decoder handled buffers already. At this point, there might be more
information known about the caps already that we could make use of.
One example here is extra information stored in the SEI of H264, like
the multiview-mode. This will be known if there is a SEI before the
first keyframe, but decodebin won't put this into the topology as it
only waits for the initial caps of h264parse (which come directly after
SPS/PPS).
With this change, the multiview-mode is in the caps reported by
discoverer in many cases.
Sebastian Dröge [Sat, 17 Dec 2016 19:35:24 +0000 (21:35 +0200)]
decodebin2: Put the correct element srcpad into the topology for the very last element of a chain
We were putting the decode pad there, which is the ghostpad linked to
the last element. The decode pad is already in the pad field.
Sebastian Dröge [Sat, 17 Dec 2016 19:34:40 +0000 (21:34 +0200)]
decodebin2: Put the correct pad into the stream-topology if a parser/converter is used
We have to take the capsfilter into account then as the elements are not
linked directly. Previously this caused NULL be set in these cases.
Tim-Philipp Müller [Fri, 16 Dec 2016 17:39:59 +0000 (17:39 +0000)]
Actually delete .spec.in file as well
Only removed it from build description.
Thibault Saunier [Fri, 16 Dec 2016 14:11:57 +0000 (11:11 -0300)]
encoding-profile: Fix documentation and port to gtk markdown
And remove some trailling whitepsaces
Thibault Saunier [Fri, 16 Dec 2016 12:59:25 +0000 (09:59 -0300)]
meson:doc: Build libraries documentations
Thibault Saunier [Fri, 16 Dec 2016 12:58:15 +0000 (09:58 -0300)]
base: Actually support using the default encoding target
Thibault Saunier [Thu, 15 Dec 2016 19:12:02 +0000 (16:12 -0300)]
encoding-target: Remove useless check for local presence
Thibault Saunier [Thu, 15 Dec 2016 19:10:55 +0000 (16:10 -0300)]
pbutils: Add safe guard too encoding profile API
Thibault Saunier [Thu, 15 Dec 2016 13:57:14 +0000 (10:57 -0300)]
audio: Fix introspection annotation
In gst_audio_check_valid_channel_positions the mask
is an out parameter.
And minor conversion from a print to a GST_ERROR.
Thibault Saunier [Wed, 14 Dec 2016 21:06:09 +0000 (18:06 -0300)]
encoding-target: Handle GST_ENCODING_TARGET_PATH in list_all
And fix the compare_target function
Sebastian Dröge [Thu, 15 Dec 2016 14:29:02 +0000 (16:29 +0200)]
decodebin: For adaptive streaming, ensure to put the buffering multiqueue after a parser or demuxer
There are cases when there is no demuxer involved that could do the
buffering, e.g. HLS with raw MP3 or AAC. In this case we want to place
the buffering multiqueue after the parser.
Before this change, we've considered the first element after the
adaptive streaming demuxer as a parser. This is not always true, e.g.
id3demux. Instead we now wait until we actually have a parser (or
decoder).
Fixes playback on such HLS streams.
Tim-Philipp Müller [Wed, 14 Dec 2016 09:48:02 +0000 (09:48 +0000)]
Remove generated .spec file
Likely extremely bitrotten, and we should not ship this anyway.
Tim-Philipp Müller [Tue, 13 Dec 2016 22:45:02 +0000 (22:45 +0000)]
rtsp: add boxed types for new authentication credential API
To make the structs usable in bindings, and fix
gstrtspmessage.c:1188: Warning: GstRtsp:
gst_rtsp_message_parse_auth_credentials: return value: Invalid
non-constant return of bare structure or union; register as
boxed type or (skip)
https://bugzilla.gnome.org/show_bug.cgi?id=774416
Sebastian Dröge [Tue, 13 Dec 2016 20:26:08 +0000 (22:26 +0200)]
gst: Don't declare variables inside the for loop header
This is a C99 feature.
Vincent Penquerc'h [Tue, 13 Dec 2016 09:44:09 +0000 (09:44 +0000)]
audioringbuffer: do not require 4 byte multiple for encoded MPEG
Bytes per frame doesn't make sense for encoded audio.
https://bugzilla.gnome.org/show_bug.cgi?id=776038
Seungha Yang [Mon, 12 Dec 2016 05:50:11 +0000 (14:50 +0900)]
playback: Add ANY caps features to default text raw caps
Raw text caps with any caps features should be also default raw caps
https://bugzilla.gnome.org/show_bug.cgi?id=775967
Thibault Saunier [Fri, 9 Dec 2016 20:08:20 +0000 (17:08 -0300)]
meson: Support building without Gst debug
Sebastian Dröge [Fri, 9 Dec 2016 15:36:47 +0000 (17:36 +0200)]
xmptag: Don't leak the namespace string if there are multiple
https://bugzilla.gnome.org/show_bug.cgi?id=775887
Jan Schmidt [Fri, 9 Dec 2016 06:59:09 +0000 (17:59 +1100)]
id3v2: Clarify id3v2_add_id3v2_frame_blob_to_taglist()
Pass the frame data and size explicitly to
id3v2_add_id3v2_frame_blob_to_taglist() and add a
comment that it's being deliberately / manually
passed the full ID3v2 frame including header.
Jan Schmidt [Fri, 9 Dec 2016 06:57:52 +0000 (17:57 +1100)]
id3v2: Add missing overrun check for frame sizes
When frames claim to have a footer, ensure they
are large enough to contain one to avoid an invalid
read overrun.
Spotted by Joshua Yabut
Jan Schmidt [Tue, 22 Nov 2016 12:08:09 +0000 (23:08 +1100)]
ogg: Fix element factory klass for OGM parsers
They're parsers, not decoders, so fix the klass info
accordingly.
Tim-Philipp Müller [Thu, 8 Dec 2016 23:01:28 +0000 (23:01 +0000)]
docs: design: remove outdated draft docs (hw-acceleration, va)
Tim-Philipp Müller [Thu, 8 Dec 2016 22:59:58 +0000 (22:59 +0000)]
docs: design: move most design docs to gst-docs module
Seungha Yang [Sat, 3 Dec 2016 14:01:53 +0000 (23:01 +0900)]
decodebin3: Remove unused variable
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 3 Dec 2016 13:46:20 +0000 (22:46 +0900)]
decodebin3: More cleanup DecodebinOutputStream and MultiQueueSlot
When removing DecodebinInputStream, cleanup DecodebinOutputStream and
MultiQueueSlot also if they were drained.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 3 Dec 2016 13:37:55 +0000 (22:37 +0900)]
decodebin3: Drop duration query during _input_pad_unlink ()
Playbin3 takes lock when querying duration and handling
stream-collection message. So,to post stream-collection message,
duration query should be dropped when input pad is being unlinked.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 3 Dec 2016 13:12:21 +0000 (22:12 +0900)]
decodebin3: Update stream-collection with _input_pad_unlink()
Since parsebin does not post new stream-collection message when
it was being removed, decodebin3 should update it itself.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 3 Dec 2016 13:28:28 +0000 (22:28 +0900)]
decodebin3: Cleanup no more used DecodebinInput
Remove DecodebinInput using gst_element_call_async() API.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 3 Dec 2016 12:50:47 +0000 (21:50 +0900)]
decodebin3: Cleanup no more used MultiQueueSlot
Since MultiQueueSlot cannot be removed inside of streaming thread,
use gst_element_call_async() API.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 3 Dec 2016 12:42:30 +0000 (21:42 +0900)]
decodebin3: Send custom-eos event to notify drained state
Likewise how urisourcebin is doing, use custom event if other streams
are still alive.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 3 Dec 2016 11:44:21 +0000 (20:44 +0900)]
playbin3: Reconfigure playsink again with pad-removed
If selected streams and actived streams are matched,
do reconfigure of playsink again with pad-removed signal
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Tue, 25 Oct 2016 12:06:40 +0000 (21:06 +0900)]
playback: Remove trailing whitespace
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sun, 23 Oct 2016 13:10:39 +0000 (22:10 +0900)]
urisourcebin: Try to link output slot before cleanup
Before cleaning up output slot, check pending pads first, if available.
Then, cleanup it only if linking was failed.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Seungha Yang [Sat, 22 Oct 2016 09:53:17 +0000 (18:53 +0900)]
urisourcebin: Cleanup unused output slot
Since urisourcebin cannot cleanup unused output slot
in streaming thread, it will be handled in thread pool
with gst_element_call_async ().
https://bugzilla.gnome.org/show_bug.cgi?id=773341
Sebastian Dröge [Tue, 6 Dec 2016 14:29:23 +0000 (16:29 +0200)]
tagdemux: Fix crash when shutting down element during getrange()
Ensure that nothing is in any of the streaming thread functions
anymore when going from PAUSED to READY. While the parent's state change
function has deactivated all pads, there is nothing preventing
downstream from activating our srcpad again and calling the getrange()
function. Although we're in READY!
https://bugzilla.gnome.org/show_bug.cgi?id=775687
Edward Hervey [Sat, 3 Dec 2016 07:19:15 +0000 (08:19 +0100)]
Automatic update of common submodule
From f980fd9 to 39ac2f5
Reynaldo H. Verdejo Pinochet [Fri, 2 Dec 2016 23:12:12 +0000 (15:12 -0800)]
typefind: add another test to itc typefinder
Report certainty after every test passes.
Additionally:
- Remove self-explanatory comment.