Francois Cartegnie
f39891f1ae
demux: adaptive: forward min buffering level through event
9 years ago
Francois Cartegnie
d0f23a4441
demux: adaptive: add segment change duration event
10 years ago
Francois Cartegnie
3fc5caa902
demux: adaptive: add stream buffering level event
10 years ago
Francois Cartegnie
c958babfdf
demux: adaptive: add stream buffering state event
10 years ago
Francois Cartegnie
8911bd4901
demux: adaptive: constify notifications
10 years ago
Francois Cartegnie
3924bed454
demux: adaptive: add connection manager interface
10 years ago
Francois Cartegnie
7f656d00cb
demux: adaptive: ensure representation when querying time
10 years ago
Francois Cartegnie
b4b87526cd
demux: hls: set demux only from file extensions
we can no longer rely on codecs to guess format
10 years ago
Francois Cartegnie
69bf846cb3
demux: adaptive: return both playback time and duration in same method
10 years ago
Francois Cartegnie
fdac7a03e9
adaptive: schedule update against next segment time
avoids stalled playback when playback starts from end
of list.
refs http://rt-a.akamaihd.net/ch_01@325605/480p.m3u8
10 years ago
Francois Cartegnie
f1a57d0d5d
demux: adaptive: fix include order
11 years ago
Francois Cartegnie
395db15f19
demux: adaptative: rename to adaptive
11 years ago
Francois Cartegnie
7b5bff3d15
demux: adaptative: fix unsupported format regression
Due to hls we we waiting for demuxer to start, which would
load the demuxer source (sub playlist then) and from that
file we would have the format and change the demux if
required.
The problem is that any unsupported format (like split subtitles)
is now being to be demuxed and gets probed and demuxed.
11 years ago
Francois Cartegnie
abe21d5399
demux: adaptative: fix uninitialized member (cid #1346986 )
11 years ago
Francois Cartegnie
72267b16fb
demux: adaptative: split segment tracking between cur and next
11 years ago
Francois Cartegnie
4bf1e07ad8
demux: adaptative: wait segments when starving
11 years ago
Francois Cartegnie
414de08eda
demux: adaptative: fix live pruning
Pruning by time was removed a while ago, but
pruning by segment number only can't work for pruning the whole
playlist as that number can be inconsistent across representations
and streams/adaptation sets.
Pruning by number should only occur merging/at representations level.
11 years ago
Francois Cartegnie
146d47c412
demux: adaptative: split update steps and handle failures
And use targetduration hint for scheduling HLS updates
11 years ago
Francois Cartegnie
1a4b8ae246
demux: adaptative: add minAheadTime for live playlists
11 years ago
Francois Cartegnie
4b7af73078
demux: adaptative: don't use first segment for live streams
segment could become unavailable before we could fully download it.
11 years ago
Francois Cartegnie
2506d44645
demux: adaptative: fix null deref
11 years ago
Francois Cartegnie
8cc97cc280
demux: adaptative: fix regression with init segments
must not issue a discontinuity on first init segment
11 years ago
Francois Cartegnie
85b636e764
demux: adaptative: handle inconsistent numbering (hls)
HLS can have inconsistent numbering through playlists.
In that case, a datetime is used to provide date and time reference
for the first segment.
We need then to convert our segment numbers using that
reference to be able to switch to the correct segment
number.
Exemple:
http://b028.wpc.azureedge.net/80B028/Samples/0e8848ca-1db7-41a3-8867-fe911144c045/d34d8807-5597-47a1-8408-52ec5fc99027.ism/Manifest(format=m3u8-aapl-v3)
11 years ago
Francois Cartegnie
916065b01c
demux: adaptative: merge restart & discontinuity states
And add implicit discontinuity on format change.
Use only tracker events to change state (will need to move currentchunk away)
11 years ago
Francois Cartegnie
070398a5c1
demux: adaptative: force switch on deactivated streams
Because representation is now unset on stream deactivation,
we need to force selecting one.
11 years ago
Francois Cartegnie
cc1a3576ba
demux: adaptative: Ensure having a representation on setPosition
Recent changes deselects representation on stream deactivation.
But setPosition requires representation when reactivating a stream.
11 years ago
Francois Cartegnie
4497a587c5
demux: adaptative: account and split bandwidth usage
11 years ago
Francois Cartegnie
62cbf97015
demux: adaptative: add switch event
11 years ago
Francois Cartegnie
a5d7067e9a
demux: adaptative: add chunk backend/source instea of direct reads
because we'll need fake chunks
11 years ago
Francois Cartegnie
2678b03b43
demux: adaptative: convert tracker to use getNextSegment
11 years ago
Francois Cartegnie
de283d704c
demux: adaptative: add tracker listeners interface
11 years ago
Francois Cartegnie
22d7d9750c
demux: adaptative: add setPosition by segment number
11 years ago
Francois Cartegnie
76bbbcfc82
demux: hls: move updates to local playlists with lazy loading
11 years ago
Francois Cartegnie
f8af0beb86
demux: adaptative: change relative playbackoffset to absolute
11 years ago
Francois Cartegnie
abf78a175f
demux: adaptative: allow to refresh segments
11 years ago
Francois Cartegnie
12802b6044
demux: dash: fix onDemand regression
We need to send segment index for segment splitting.
regression by c1591aa124
11 years ago
Francois Cartegnie
c1591aa124
demux: adaptative: fix chained initializations bug
Since the bw adaptation can go really fast now,
we need to be sure to send at least 1 data segment
before switching to another.
Otherwise we'll have multiple moov bug and can
also never get any data outside of init segments.
11 years ago
Jean-Baptiste Kempf
3fef34c0fe
Dash/hls/adaptive: Update author line
11 years ago
Francois Cartegnie
458adc37a5
demux: adaptative: handle alternative streams
11 years ago
Francois Cartegnie
6d18161dee
demux: adaptative: use SegmentChunk as default Chunk for segments
simplifies
11 years ago
Francois Cartegnie
ed2fe051da
demux: adaptative: restart on seek
11 years ago
Francois Cartegnie
bfe02ea6a6
demux: adaptative: fix quality switch policies
11 years ago
Francois Cartegnie
2bf7935f51
demux: adaptative: add pruning by position
11 years ago
Francois Cartegnie
5f49de18df
demux: adaptative: refactor and allow restart on seek
Since we have no real way to drain stream demux fifo,
we should have a way to reset demuxer before switching to
a new segment.
11 years ago
Francois Cartegnie
83a72ce8f5
demux: adaptative: split common inheritable classes
11 years ago
Francois Cartegnie
08b864b7ab
demux: adaptative: remove confusing namespace
11 years ago
Francois Cartegnie
a98cee48db
demux: dash: handle index segment
11 years ago
Francois Cartegnie
5ada7fd60f
demux: dash: split dash and adaptative specific code
also fixes includes, forward declarations
11 years ago
Francois Cartegnie
e5de71d064
demux: dash: prune expired live timeline elements
12 years ago
Francois Cartegnie
eb141b2896
demux: dash: add basic seeking using next segment
Still doesn't control streamDemux
12 years ago