| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Meson was creating libgstmplex2.so which didn't match the plugin name
'mplex'.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=780642
|
|
|
|
| |
s/enveloppe/envelope
|
| |
|
|
|
|
|
|
|
|
| |
The element now exposes properties to enable and configure
voice activity detection, and posts "voice-activity" messages
when the return value of stream_has_voice () changes.
https://bugzilla.gnome.org/show_bug.cgi?id=779138
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A live manifest may have a set (> LookAheadFragmentCount) of fragments
that have already been served and are stored on the server, maybe
indefinitely. Adding the parsed live fragments after the manifest
fragments breaks duration reporting and the seekable range.
Fix by only adding parsed fragments outside the list of fragments which
assumes that the fragment list in the manifest is accurate enough to not
stray too far off what's in the retrieved data.
https://bugzilla.gnome.org/show_bug.cgi?id=779447
|
|
|
|
|
| |
This fixes build failure in mplex and mpeg2enc plugins and most likely
in kate plugin (untested).
|
| |
|
|
|
|
|
|
| |
fragment, start with the previous one instead
There's no point to start downloading a fragment just to output 1ns.
|
| |
|
|
|
|
| |
We know which number is bigger.
|
|
|
|
| |
be the exact segment position
|
|
|
|
|
|
| |
calculating it again
It does the exact same calculations.
|
|
|
|
|
| |
Also go out of the segment searching loop once segment->start > ts.
We're not going to find any earlier segment anymore.
|
|
|
|
|
|
|
|
| |
Instead of just going to the first or last fragment, report if we're
going outside the index. This should never happen unless there's a bug
or the stream is broken.
Allow some possibility for inaccuracies here though.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=776140
|
|
|
|
|
|
| |
EXT-X-DISCONTINUITY tag should have no trailing ":" character
https://bugzilla.gnome.org/show_bug.cgi?id=780179
|
|
|
|
|
|
| |
To fix deadlock during live m3u8 update
https://bugzilla.gnome.org/show_bug.cgi?id=780180
|
|
|
|
|
|
| |
segment
https://bugzilla.gnome.org/show_bug.cgi?id=780108
|
|
|
|
|
|
|
| |
Remove assertions and replace, where necessary, with code that handles
the error cases.
https://bugzilla.gnome.org/show_bug.cgi?id=776436
|
|
|
|
|
|
|
| |
disable the SIDX usage for this segment
The SIDX apparently does not contain information about the current
segment, so better stop using it instead of using incorrect values.
|
|
|
|
|
|
|
|
| |
representations
There is no guarantee that the index positions are the same between
representations, and assuming this easily causes us to get into invalid
index positions.
|
|
|
|
|
| |
And especially don't keep entry count and index around, we have no
entries anymore after clearing.
|
|
|
|
|
|
|
| |
Some of streams such as below have tailing boxes at the end of subfragment.
http://dash.akamaized.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd
https://bugzilla.gnome.org/show_bug.cgi?id=776200
|
|
|
|
|
|
|
|
|
| |
If a MPD is On-Demand profile and no index described, demux will terminate
download loop after parsing inband SIDX with flow return custom-success.
At this moment, SIDX index is excat target position, but finish_fragment()
might cause re-advancing subfragment depending on MPD structure.
https://bugzilla.gnome.org/show_bug.cgi?id=776200
|
|
|
|
|
|
|
|
| |
SIDX's base offset (i.e., byte offset of SIDX + sidx.first_offset)
mostly vary as per fragment. Also, target SIDX index must be zero for the
new fragment.
https://bugzilla.gnome.org/show_bug.cgi?id=776200
|
|
|
|
|
|
|
|
|
| |
Try to find fragment using MPD first, then do refinement to find
target subframgnet using SIDX if possible. Note that, if target fragment
was moved from the previously activated one, we should assume that
the last SIDX is invalid for new fragment.
https://bugzilla.gnome.org/show_bug.cgi?id=776200
|
|
|
|
|
|
|
| |
If target seek position is outside of the range of sidx entries,
binary search returns NULL pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=776200
|
|
|
|
|
|
| |
entries array
Better crash cleanly here than reading some random numbers from memory.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SIDX based playback is not restricted to SegmentBase, but it possible
with SegmentList/SegmentTemplate. In the latter case, each fragment
has its own SIDX box and might be subdivided into subfragment.
So, demux should not assume that the end of subfragment is the end
of stream. Moreover, should try advance subfragment only if there
are remaining subfragments.
With additional fixes by Sebastian Dröge <sebastian@centricular.com>
https://bugzilla.gnome.org/show_bug.cgi?id=776200
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=779790
|
|
|
|
|
|
|
|
| |
Completely disabling duration reporting with live streams is not cool.
This reverts commit e1b68d9a65ba512a52c3a2b298fa830a445eb451.
https://bugzilla.gnome.org/show_bug.cgi?id=753879
|
|
|
|
|
| |
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
|
|
|
|
| |
They can describe in more detail (such as component sizes) the requested format.
|
|
|
|
|
| |
Use the flags defined by configure script instead of always disabling
static plugins.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- libgstgtksink.so -> libgstgtk.so
- libgstteletextdec.so -> libgstteletex.so
- libgstcamerabin2.so -> libgstcamerabin.so
- libgstonvif.so -> libgstrtponvif.so (meson only)
- sdp -> sdpelem (avoid clash with libgstsdp)
- gstsiren -> siren
- libgstkmssink.so -> libgstkms.so
https://bugzilla.gnome.org/show_bug.cgi?id=779344
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=778333
|
|
|
|
|
|
|
|
|
|
|
|
| |
All code interacting with Objective-C objects should now use Automated
Reference Counting rather than manual memory management or Garbage
Collection. Because ARC prohibits C-structs from containing
references to Objective-C objects, all such fields are now typed
'gpointer'. Setting and gettings Objective-C fields on such a
struct now uses explicit __bridge_* calls to tell ARC about
object lifetimes.
https://bugzilla.gnome.org/show_bug.cgi?id=777847
|
|
|
|
|
|
|
|
|
| |
hlsdemux tries to find type if given buffer size is large enought to
find type (currently the threshold is 2KB), or EOS in some cases.
However, since there can be small byte fragments such as WebVTT,
demux should try to find type at the end of a fragment
https://bugzilla.gnome.org/show_bug.cgi?id=779011
|
|
|
|
|
|
|
|
| |
This appears to be the internal limit of voaacenc, higher
bitrates will be ignored and 128 kbps output will be produced
instead. Therefore, we might just as well limit the allowed
property values, so that people who try to set higher bitrates
get a big fat warning instead of silently a much lower bitrate.
|
|
|
|
|
|
|
|
|
|
|
| |
The PCR_flag and PCR value is in adaptation_field, not in payload.
The MSB of adaptation_field_control is used as whether adaptation_
field is exist or not.
For the case(PCR in only adaptation_field without payload), we modify
checking condition about adaptation_field_control field.
https://bugzilla.gnome.org/show_bug.cgi?id=778731
|
|
|
|
|
|
|
|
| |
* default_variant should be freed, it holds ref.
* GstHLSMedia holds GstM3U8 ref.
* gst_m3u8_get_next_fragment() increases ref count.
https://bugzilla.gnome.org/show_bug.cgi?id=778073
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When MPD@suggestedPresentationDelay is not present in the MPD,
dashdemux can provide default suggestedPresentationDelay. However
when applying default value of suggestedPresentationDelay, the value
should be subtracted from current time, not added to it. When streams
setup is performed and live point is calculated, we have to go to the
wall clock (current time) minus suggestedPresentationDelay, if we tried
to start with current time plus suggestedPresentationDelay, we would
be asking for future stream, which has not yet been recorded. Also
the value needs to be converted from ms to us.
https://bugzilla.gnome.org/show_bug.cgi?id=764726
|
|
|
|
|
|
|
|
|
|
|
| |
For duration queries on live streams, adaptivedemux ignores the query.
The problem then is that the query is answered by the downstream
qtdemux element, with the duration of the currently passing fragment.
This commit changes the behaviour of adaptivedemux to answer the duration
queries for live streams, returning GST_CLOCK_TIME_NONE.
https://bugzilla.gnome.org/show_bug.cgi?id=753879
|
|
|
|
|
|
|
| |
_stream_seek() can be called by adaptivedemux when "restart download" condition.
It's mostly caused by track switching.
https://bugzilla.gnome.org/show_bug.cgi?id=776997
|
|
|
|
|
|
|
|
| |
Import an adaptivedemux's macro to minimize code.
Also, this patch considers KEY_UNIT and TRICKMODE_KEY_UNITS
as snap seek.
https://bugzilla.gnome.org/show_bug.cgi?id=776997
|
|
|
|
|
|
| |
Some codes are imported from dashdemux
https://bugzilla.gnome.org/show_bug.cgi?id=776997
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=772811
|
|
|
|
|
|
| |
It would have to be copied otherwise, and is quite big.
CID 1373419
|
|
|
|
|
|
| |
It would have to be copied otherwise, and is quite big.
CID 1373419
|