Sebastian Dröge
991758c3d6
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.
2016-12-15 16:31:20 +02:00
Seungha Yang
c4929b8647
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
2016-12-12 11:10:50 +02:00
Seungha Yang
49653b058a
decodebin3: Remove unused variable
...
https://bugzilla.gnome.org/show_bug.cgi?id=773341
2016-12-08 16:59:07 +01:00
Seungha Yang
582c7cef18
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
2016-12-08 16:59:07 +01:00
Seungha Yang
6bd7a5602c
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
2016-12-08 16:59:07 +01:00
Seungha Yang
7e76405895
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
2016-12-08 16:59:07 +01:00
Seungha Yang
f08e4592a4
decodebin3: Cleanup no more used DecodebinInput
...
Remove DecodebinInput using gst_element_call_async() API.
https://bugzilla.gnome.org/show_bug.cgi?id=773341
2016-12-08 16:59:07 +01:00
Seungha Yang
bd6ec225b9
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
2016-12-08 16:59:07 +01:00
Seungha Yang
4fcbcf4e48
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
2016-12-08 16:59:07 +01:00
Seungha Yang
f4d6aa7167
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
2016-12-08 16:59:07 +01:00
Seungha Yang
858ee3d913
playback: Remove trailing whitespace
...
https://bugzilla.gnome.org/show_bug.cgi?id=773341
2016-12-08 16:59:07 +01:00
Seungha Yang
cbd4bcd7a4
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
2016-12-08 16:59:07 +01:00
Seungha Yang
5760bd4543
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
2016-12-08 16:59:07 +01:00
Reynaldo H. Verdejo Pinochet
13a491fb6c
typefind: add another test to itc typefinder
...
Report certainty after every test passes.
Additionally:
- Remove self-explanatory comment.
2016-12-02 16:13:24 -08:00
Sebastian Dröge
d452ad0eca
ssaparse: Free initialization section before storing the next one
...
If getting multiple caps events.
https://bugzilla.gnome.org/show_bug.cgi?id=775480
2016-12-01 19:57:47 +02:00
Sebastian Dröge
52d7441942
audioconvert: Error out if mapping input/output buffer failed
2016-11-30 10:55:16 +02:00
Sebastian Dröge
1e64800278
audioconvert: Don't map the input buffer in in-place mode
...
Input and output buffer are the same, let's not do unnecessary work.
https://bugzilla.gnome.org/show_bug.cgi?id=775369
2016-11-30 10:49:58 +02:00
Sebastian Dröge
1631a38640
audioconvert: Don't call transform_ip() in passthrough mode
...
https://bugzilla.gnome.org/show_bug.cgi?id=775369
2016-11-30 10:36:14 +02:00
Jan Alexander Steffens (heftig)
58be309344
multihandlesink: Fix buffers-queued being off by one
...
max_buffer_usage is the index of the oldest buffer in the queue,
starting at zero, not the number of buffers queued.
find_limits returns the index of the oldest buffer that satisfies the
limits in its min_idx parameter, not the number of buffers needed. Fix
this use too in order to keep passing the tests that read
buffers-queued.
https://bugzilla.gnome.org/show_bug.cgi?id=775351
2016-11-29 19:14:10 +02:00
Jan Alexander Steffens (heftig)
8b9ebd8f88
multihandlesink: Update bufpos in a separate pass
...
If a client gets dropped and the iteration gets restarted, bufpos is
incremented again for all clients that preceded the dropped one, causing
havoc.
Adjust the bufpos for all clients first before trying to drop any.
https://bugzilla.gnome.org/show_bug.cgi?id=774908
2016-11-29 19:13:00 +02:00
Garima Gaur
6c5381eda6
playbin: Fix caps memory leak in usage of gst_static_caps_get() API
...
https://bugzilla.gnome.org/show_bug.cgi?id=775310
2016-11-29 13:42:28 +02:00
Petr Kulhavy
010b9547d3
audio-converter: optimize endian conversion
...
Optimize LE<->BE conversion by adding a dedicated fast path instead of
using the generic converter. Implement transform_ip function in order to do the
endian swap in place.
This saves buffer allocation for the intermediate format, can be done in place
and also performs the conversion in one step instead of unpack-convert-pack.
For all bit widths the naive algorithm is implemented, which provides the best
performance when compiled with -O3. ORC was considered but eventually removed
as it requires a dedicated function for in-place conversion (due to the
"restrict" parameters).
A more complex algorithm for the 24-bit conversion with unrolled loop and
32-bit processing is implemented in the #if 0 section. It performs better if
compiled with -O2. With -O3 however the naive algorithm performs better.
https://bugzilla.gnome.org/show_bug.cgi?id=773073
2016-11-28 17:24:17 +02:00
Garima Gaur
b2b8e77566
subtitleoverlay: Fix caps memory leak when failing to get sinkpad from subtitle renderer
...
https://bugzilla.gnome.org/show_bug.cgi?id=775224
2016-11-28 13:56:33 +02:00
Matthew Waters
2fdccfd64f
typefind: bounds check windows ico detection
...
Fixes out of bounds read
https://bugzilla.gnome.org/show_bug.cgi?id=774902
2016-11-23 21:37:27 +11:00
Reynaldo H. Verdejo Pinochet
7e14875458
typefind: add typefinder for Apple/iTunes itc artwork files
...
Avoids audio/mpeg false-positive described at:
https://bugzilla.gnome.org/show_bug.cgi?id=773172
2016-11-21 10:53:13 -08:00
Jan Schmidt
8a20b06e0b
playsink: warn if a custom sink is set that has no 'sink' pad
2016-11-17 00:43:58 +11:00
Wonchul Lee
08ee940de2
playbin3: remove dead code
...
It never reach into this code path, custom_combiner always not null
here.
https://bugzilla.gnome.org/show_bug.cgi?id=774454
2016-11-16 00:17:18 +11:00
Seungha Yang
364a45267e
decodebin3: Clear saw_eos flag of DecodebinInputStream by FLUSH event
...
Likewise how GstPad is doing, saw_eos flag of DecodebinInputStream
must be cleared by FLUSH event.
https://bugzilla.gnome.org/show_bug.cgi?id=774343
2016-11-15 21:38:27 +11:00
Wonchul Lee
8b95d17f75
playbin3: Fix deadlock when adding multiple parsebin
...
https://bugzilla.gnome.org/show_bug.cgi?id=773131
2016-11-15 20:37:00 +11:00
Thibault Saunier
5bdb38995f
meson: Fix build when orc is disabled
...
Making sure not to use the orc_dep variable in case
orc has been explicitely disabled.
2016-11-14 17:26:02 -03:00
Scott D Phillips
ff8d49a4c8
Use intermediate guint when handling GstVideoMultiviewFlags
...
The underlying integer type of the enum GstVideoMultiviewFlags is
implementation defined and may not have the same size as guint.
https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-12 10:51:30 +02:00
Joris Valette
658ee6f0db
videorate: Add fixed rate property
...
https://bugzilla.gnome.org/show_bug.cgi?id=699077
2016-11-04 14:01:54 -03:00
Sebastian Dröge
7528e34fd3
meson: Add pbtypes plugin
2016-11-02 11:03:42 +02:00
Jan Schmidt
2c786edb99
pbtypes: Add a stub plugin that owns the plugins-base dynamic types
...
https://bugzilla.gnome.org/show_bug.cgi?id=750079
2016-11-02 11:24:11 +11:00
Changbok Chea
14ce96a459
urisourcebin: Fix adaptive demuxer's property checking and buffering setting
...
- Add adaptive demuxer's 'connection-speed' property checking
- Set adaptive demuxer q2 buffering property via urisrc use_buffering value
https://bugzilla.gnome.org/show_bug.cgi?id=772550
2016-11-02 11:23:44 +11:00
Seungha Yang
6dbfbead61
urisourcebin: Remove trailing whitespace
...
https://bugzilla.gnome.org/show_bug.cgi?id=773341
2016-11-01 20:06:43 +02:00
Stian Selnes
22ccb687fa
videotestsrc: Make snow deterministic
...
Deterministic generation of snow and smpte is important for tests so
that it's not affected by other videotestsrc elements in current or
possibly previous tests.
https://bugzilla.gnome.org/show_bug.cgi?id=773102
2016-11-01 20:05:18 +02:00
Petr Kulhavy
ca7e31f80d
audioconvert: optimize mask calculation
...
find_suitable_mask() had complexity O(n^2) on the number of bits.
For common case like 2-channel audio the mask was calculated in about 4k loop
cycles.
Optimize both n_bits_set() and find_suitable_mask() to O(n) where n is the
number of bits set in the mask.
https://bugzilla.gnome.org/show_bug.cgi?id=772864
2016-11-01 20:02:14 +02:00
hoonhee.lee
1820c18b0f
parsebin: Rename variables include 'decode' to 'parse'
...
https://bugzilla.gnome.org/show_bug.cgi?id=772832
2016-11-01 20:01:20 +02:00
Wonchul Lee
dc7fd9c1f1
urisourcebin: Fix GST_TYPE_URI_SOURCE_BIN macro typo
...
https://bugzilla.gnome.org/show_bug.cgi?id=772445
2016-11-01 20:00:27 +02:00
Wonchul Lee
7c9626a3f4
urisourcebin: fix to log event pointer
...
https://bugzilla.gnome.org/show_bug.cgi?id=772445
2016-11-01 20:00:27 +02:00
Wonchul Lee
9e8c0d224b
urisourcebin: Make use of adaptive demuxer variable
...
https://bugzilla.gnome.org/show_bug.cgi?id=772445
2016-11-01 20:00:27 +02:00
Graham Leggett
98ea3e4647
decodebin3: Fix assertion failure when unreffing NULL stream caps
...
GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
https://bugzilla.gnome.org/show_bug.cgi?id=773441
2016-10-25 12:43:22 +03:00
Seungha Yang
5f2c0c8ea7
decodebin3: More SELECTION_LOCK when linking to slot
...
Since there can be multiple parsebin in a decodebin3,
linking parsebin with MultiQueueSlot should be protected also.
https://bugzilla.gnome.org/show_bug.cgi?id=772855
2016-10-14 08:29:46 +02:00
Edward Hervey
8485a8d786
playback: GstStreamType is a flag
...
Therefor don't use equality
2016-10-13 11:42:28 +02:00
Edward Hervey
acc3a9d242
playback: decodebin3 and parsebin are streams-aware
...
Elements within can add/remove pads at anytime without complying
with the fallback system.
https://bugzilla.gnome.org/show_bug.cgi?id=772741
2016-10-12 15:05:55 +02:00
Wonchul Lee
778ffac86a
parsebin: re-use existing compare_factories utils func
...
https://bugzilla.gnome.org/show_bug.cgi?id=772676
2016-10-11 16:08:27 +01:00
Arun Raghavan
4de66632d7
meson: Enable Orc in build
...
Top-level meson.build code updated from gst-plugins-good.
2016-10-03 11:01:24 +05:30
Edward Hervey
262b9bfd07
playbin3: Remove fallback properties/signals
...
These can all be used via the GstStream API
https://bugzilla.gnome.org/show_bug.cgi?id=769079
2016-09-27 10:11:56 +01:00
Sebastian Dröge
0c151f6bb2
streamsynchronizer: Correctly calculate group start times in reverse playback mode
...
We have to calculate from the segment.stop, not the segment.start, as
playback goes from stop to start. This fix works around another race
condition in streamsynchronizer in my testcase.
See https://bugzilla.gnome.org/show_bug.cgi?id=771479
2016-09-20 15:13:52 -04:00