History log of /frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3a37f3e948b600405e0c70b8a241778fda44168e 19-Apr-2017 Hassan Shojania <shojania@google.com> Modular DRM for MediaPlayer/SampleAES

Bug: 34559906
Test: CTS Tests + playback in Chrome

Change-Id: Iaa275c4cfe6d15f02774ff4cc8a2cb5e7d1012e1
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
72433b083ccfa3ab55374305b1c2960982ac3e09 29-Oct-2013 Oscar Rydhé <oscar.rydhe@sonymobile.com> Start with segment three times the target duration for HLS live

For HLS live streams the first segment to play should be the
segment closest above three times the target duration from the
end of the playlist.

Bug: 31235498
Change-Id: I86859115460678518385a04379c2016ac0948c07
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
4f601e8c9a9203aab38e0c6ac61b9fa65effcd33 06-May-2016 Robert Shih <robertshih@google.com> HLS: remove EOS notification for live streams

If fetched beyond the end of a live playlist, refresh the playlist and
retry the download after appropriate delay.

Bug: 28320768
Change-Id: I073f3b80b06a4731049793bc5efe50974c153a6c
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
7d1daf4ff0f2f1127581a279c6c5a9f92ec20966 22-Apr-2016 Robert Shih <robertshih@google.com> Merge "HLS: clear ATSParser fully on explicit discontinuity" into nyc-dev
4a3108a4464490a57bbe2854d1b47df8336bd471 21-Apr-2016 Robert Shih <robertshih@google.com> HLS: left zero fill 128 bit AES IV

Bug: 28320768
Change-Id: I9195b87f742f83d3e4c4201642463881303ae3e6
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
a722375a32e9a0febc3770513647dc32bf88ccc0 21-Apr-2016 Robert Shih <robertshih@google.com> HLS: clear ATSParser fully on explicit discontinuity

After a discontinuity stream PIDs might change in a way that we cannot
recover; creating a brand new parser avoids this potential issue.

Bug: 28320768
Change-Id: I387a9cd2371b11c2b1c0b8b81b85999033e22f7f
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
fbe6a51d5841c865b870bab1da7d828caa78a7ca 04-Apr-2016 Robert Shih <robertshih@google.com> HLS: gracefully handle illegal buffer sizes

Bug: 23277632
Change-Id: Ib1066a3d9c1ee125b0de7a1f1fe3e79c0168014f
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
b5da4faf36f82762a6adfd1b8a6354d9d3ef8c2e 20-Aug-2015 Robert Shih <robertshih@google.com> am 60345c67: am 3ad0357a: am d7c2effc: Merge "Prevent integer underflows in ID3::Iterator"

* commit '60345c67f522bd5287a62387a34c0efc521b2a71':
Prevent integer underflows in ID3::Iterator
60345c67f522bd5287a62387a34c0efc521b2a71 20-Aug-2015 Robert Shih <robertshih@google.com> am 3ad0357a: am d7c2effc: Merge "Prevent integer underflows in ID3::Iterator"

* commit '3ad0357a3a6fd89fdbedd269186f49a867a031ba':
Prevent integer underflows in ID3::Iterator
be7b5e253f85132683826f305e5dcdaf83f0b300 15-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer underflows in ID3::Iterator

If mFrameSize is less than or equal to getHeaderLength(), an integer underflow
will occur. This typically leads to a crash reading out of bounds in the
following code. Prevent this from happening by validating mFrameSize.

Also add NULL checks after references to ID3::Iterator::getData.

Bug: 23285887
Change-Id: I35eeda3c5349ebbd9ffb3ea49b79af6a940d1395
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
25f191c5cb2ec532e534be646c32806f9f85e196 12-Aug-2015 Vishwath Mohan <vishwath@google.com> Fix benign unsigned integer overflows

Bug: 23110888
Change-Id: I1894a61e94a274795cab7fb23a81f3a611717c1d
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
5ef659e010e90175eb5282d9642a02f6105189bf 14-Jul-2015 Chong Zhang <chz@google.com> HLS: temporarily blacklist a variant if failed to fetch

- abort high bandwidth immediately when bandwidth is fluctuating
- use short-term bandwidth estimate for downswitch if bandwidth
is not stable
- discard bandwidth samples that's too old in absolute time
- if already underflow, switch to lowest bandwidth to catch up
- if error happened during bandwidth switch (likely due to new
variant link is broken), switch to lowest bandwidth to catch up

bug: 21754330

Change-Id: Ifd16d75e261cefb93b989829bf35a36783142ae0
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
a540058ec00b6d147f40a7cdcf6f47acbd70f6c9 11-May-2015 Robert Shih <robertshih@google.com> Merge "HLS: invoke signalEOS on ATSParser to flush out final samples" into mnc-dev
aabbdc7401ae24a4199f12a283985deb648673c0 09-May-2015 Robert Shih <robertshih@google.com> HLS: invoke signalEOS on ATSParser to flush out final samples

Also clear EOS status when we reset ATSParser.

Bug: 20959760
Change-Id: I730234acf3cdbee08affe0f28b7e8759e11059cb
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
8a048338d9291b2db1b3a325fff58cb1aa69f04d 07-May-2015 Chong Zhang <chz@google.com> nuplayer: fixes for subtitle pause/resume

- pause after the current block when select track
- ignore metadata timestamps as they're too sparse
- use smaller range when searching for next segment to prevent
resumeUntil from downloading too much data

bug: 20500732
Change-Id: Ibda57a39ec86efd96a8dd0db95adeb92d076697a
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
5abbd3dcbb0bb32a3d4b90dddbcf90458967eb6f 21-Apr-2015 Chong Zhang <chz@google.com> HLS: make disconnect faster to prevent ANR

disconnect HTTP connection when we absolutely won't resume

bug: 19890444
Change-Id: Idee36b48741f6f8eb1d65bca32156e9e18349c67
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
7184bab920699d49718e8fc3cf8a23d3c9d8d54a 18-Apr-2015 Chong Zhang <chz@google.com> Merge "HLS: reduce number of guessed wrong seq numbers"
3b0da19c78f6a61ed343a07f2448b94faafe4c02 18-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: make more warnings errors

Change-Id: I9b1ad60fbfb866dbf9c00843e06553c3eb25c113
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
978449984366946a2e5c9f7cf350746f4306caf8 12-Apr-2015 Chong Zhang <chz@google.com> HLS: reduce number of guessed wrong seq numbers

- account for playlist age in live streaming when calculating
segment time

- be more conservative on downswitching if bandwidth is unstable

- adjust forward or backward if guessed wrong seq number

- code refactor

bug: 19567254

Change-Id: I0b61cea888fdffd1b3ee2446747ed10152e9e7d7
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
0852843d304006e3ab333081fddda13b07193de8 08-Apr-2015 Robert Shih <robertshih@google.com> stagefright: initial timed id3 support in hls

Change-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
25f82752942b1c78aec8ee303d61afff85cff9d1 08-Apr-2015 Chong Zhang <chz@google.com> HLS: traces in LiveSession and PlaylistFetcher for easier debugging

bug: 19567254
Change-Id: I4305d37cb74279ccd435f99483231cd1dcf42fc9
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
d47dfcb5a2e5901c96fc92662cec7aa30f7f8843 27-Mar-2015 Chong Zhang <chz@google.com> HLS: misc bug fixes

- fix no target-duration case

- fix for audio-only <=> audio/video switching

- disable audio-only variants if there is at least
one variant with video

- fix mpeg2ts PTS wraparound when bandwidth adapting

- tweak up/down switch marks

bug: 19567254

Change-Id: Ib46144203c56dfc96eccd6ddaa3867e8a4f2c6a9
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
7c8708046117e03c0d38006bdd9685139df3ac6b 18-Mar-2015 Chong Zhang <chz@google.com> HLS: faster switching and pause/resume on low buffer

- when upswitching, discard excessive buffering on low
bandwidth variant, switch to new variant earlier

- when downswitching, report newly found IDR positions
continuously, and switch as soon as new fetcher passes
playback position. This allows us to skip time-consuming
resumeUntil() of old fetcher most of the time

- implement pause/resume on low buffering, and notify
buffering percentage

- buffering parameter tuning, separate pause/resume/ready
buffer level and up/down switch buffer level, boost up
fetcher buffering significantly

bug: 19567254

Change-Id: I750dfcc6f861d78d16a71f501beb86d8129cb048
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
a48d372833ccec13c96ece9efcc226e8beac7f59 18-Mar-2015 Chong Zhang <chz@google.com> HLS: allow pause/resume in the middle of a segment

- when down switching, decide whether to finish current segment
based on bandwidth settings, abort current segment if needed.

- when switching, pause new fetcher after the first 47K chunk,
and go back to resume old fethcer to stop point immediately.

- when old fetcher reaches stop point, swap packet sources and
resume new fetcher.

- mark switching as done as soon as old fecther reaches stop
point. This allows us to resume bandwidth monitoring earlier,
and do subsequent switches sooner.

bug: 19567254
Change-Id: Iba4b5fb9b06541bb1e49592536648f5d4cbc69ab
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
538b6d22a3578c0201d48f8548289aa254d81484 17-Mar-2015 Chong Zhang <chz@google.com> HLS: bandwidth estimator changes

- separate bandwidth estimator from HTTPBase, so that we have
better control on which samples to use, it also allows bandiwdth
history across multiple HTTPBase objects (which we'll use later).

- use min buffer duration among the streams to decide whether to
download next segment.

- maintain constant buffer level, time next download to happen
when buffer just goes below kMinBufferedDurationUs.

bug: 19567254

Change-Id: I5c481ad1f7ff3f084d57ec68856e12ae6b40ce41
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
c4547ba77f78632172db3647a09659d9863d3b5c 06-Mar-2015 Chong Zhang <chz@google.com> HLS: some fixes for seek with discontinuity.

- keep old fetcher when seeking, unless the URI is changing.

- when restarting after a seek, check discontinuity seq, and
queue format change if it's changed.

- add a simple kill switch to abort when stop (or pause for seek).

- when seeking, if searching for start time goes into 2nd segment,
do not signal time discontinuity or reset first PTS.

- use setFormat() to set format in AnotherPacketSource, otherwise
video/audio flags are not updated and format are not cleared on
discontinuities.

- do not start queueing video access unit until first IDR after start

bug: 19656539

Change-Id: I79108d26964f59ea00d2eeac8f5f9318747f8541
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
964adb17885185808398507d2de88665fe193ee2 02-Mar-2015 Chong Zhang <chz@google.com> HLS: misc changes in LiveSession buffering logic

remove unnecessary time discontinuity

move fetcher to separate looper so that download won't
block LiveSession

poll buffering at 1 sec interval in LiveSession, and
switch bandwidth if necessary

use fixed 100ms threshold for resumeUntil

bug: 19567254
Change-Id: I911e5041364f0858b43f2312756e173db5870a1e
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
1d15ab58bf8239069ef343de6cb21aabf3ef7d78 05-Mar-2015 Lajos Molnar <lajos@google.com> media: switch to new AMessage handling

Bug: 19607784
Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
7dbbc7ec95c3040668388162a0ffbc45b68af6f1 04-Feb-2015 Robert Shih <robertshih@google.com> am a291dabc: am 6fbcf633: Merge "httplive: Set start time and segment start time in conjunction." into lmp-mr1-dev

* commit 'a291dabcab10cafc1749d1d9493d269049502256':
httplive: Set start time and segment start time in conjunction.
6fbcf6331abfbbc935bf89332f84303733e578b2 04-Feb-2015 Robert Shih <robertshih@google.com> Merge "httplive: Set start time and segment start time in conjunction." into lmp-mr1-dev
afcc4fcbb3a094ec2221d6e523772e76894d1f00 04-Feb-2015 Robert Shih <robertshih@google.com> httplive: Set start time and segment start time in conjunction.

Also add comments describing how start time and segment start time are
used.

Based on AOSP CL https://android-review.googlesource.com/127653
by Joakim Johansson <joakim.c.johansson@sonymobile.com> but uses the
lowest segment start time instead of highest.

Bug: 18821145
Change-Id: I14cf1186d0daf517a24e8423c3a708b4c9ba06c4
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
f5a60185ec550d8447a44172027925550e6849d9 02-Feb-2015 Robert Shih <robertshih@google.com> am 9787254f: am 296a0d03: Merge "PlaylistFetcher: clear packet sources when adjusting starting sequence number" into lmp-mr1-dev

* commit '9787254f1ef27e86390a31a7ef05d94ff2f65232':
PlaylistFetcher: clear packet sources when adjusting starting sequence number
dae1e733f7cd4abaa14791657fa0a1b0e44a27b6 30-Jan-2015 Robert Shih <robertshih@google.com> PlaylistFetcher: clear packet sources when adjusting starting sequence number

Bug: 19215971
Change-Id: I4ad29cf0ac24dea330017a1b0159b06922d768ae
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
1eda9bfba04043c380666ba1ee86fd285b8ffbca 29-Jan-2015 Leena Winterrowd <lenhardw@codeaurora.org> am ce25d85a: am a93fd2be: stagefright: httplive: Decouple block size from bandwidth estimate

* commit 'ce25d85ad22e6df4b861d17e9e67cb6d0e62c363':
stagefright: httplive: Decouple block size from bandwidth estimate
46246e5b1725a8a1868dbd9f37fffe33c19672fc 29-Jan-2015 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 59d1d010 to lmp-mr1-dev-plus-aosp

Change-Id: I52e17685b3aa058d6c6b0c023659231fa00a8f71
9c8bce57d37e36f473499f064e787e6ba7fed4ed 29-Jan-2015 Leena Winterrowd <lenhardw@codeaurora.org> am 3606efd1: am 9dee2e59: stagefright: httplive: Propagate target duration to LiveSession

* commit '3606efd19a7dee847d3d4db41e8300ba7b451f81':
stagefright: httplive: Propagate target duration to LiveSession
c1626c8352d0256baa195e5eb804e37c3fd05560 29-Jan-2015 Leena Winterrowd <lenhardw@codeaurora.org> am 2899991e: am 5cf91c50: libstagefright: httplive: Add NULL check for empty playlist

* commit '2899991eb8ca8ebe5da7acd74e0b3bd9743a8724':
libstagefright: httplive: Add NULL check for empty playlist
ea5c0286e8a18e71608e6c6e5758b167fe0d6c26 29-Jan-2015 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 44a2390b to lmp-mr1-dev-plus-aosp

Change-Id: I39fdc2e8895e1e943749b9a2628656a8fa5bb72b
a93fd2be99d21629bed504b9b7df035fc2f54562 04-Dec-2014 Leena Winterrowd <lenhardw@codeaurora.org> stagefright: httplive: Decouple block size from bandwidth estimate

A very small block size in PlaylistFetcher can lead to framework
overhead and difficulty streaming high bitrate content, but since
HTTPBase keeps a constant history of the past 100 HTTP reads, the
block size directly affects bandwidth estimation and in turn,
switching latency.

Add setBandwidthHistorySize() to HTTPBase to allow setting the
history size for bandwidth estimation. Call this within LiveSession
based on the current block size to ensure that the number of bytes
used for estimating bandwidth does not change if the block size is
changed in PlaylistFetcher.

Since a single TCP/IP packet can contain up to 64k of data, increase
the block size in PlaylistFetcher from 2k to lcm(188, 1024) or 47k to
avoid inaccuracies in read timings due to up to a comparable 47 reads
from the same locally-cached packet instead of from the network.

Also make HTTPBase::addBandwidthMeasurement() virtual to allow
bandwidth estimation extensions that do not rely on a history list.

Bug: 18821145
Change-Id: I5f957be01f5346e74cfb7eeb150ca4b397ad5798
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
79971c747e62cad50359286f18dee0c4de5829da 15-Oct-2014 Apurupa Pattapu <apurupa@codeaurora.org> httplive: Dont resume if we have almost fetched till stop time

- Use the last enqueued instead of last dequeued time in
ResumeUntil.
- Set duration in access unit meta as timestamp difference
between the last two queued access units.

Bug: 18821145
Change-Id: If53ddee1d87775905a6d4f11a6219fe66f498450
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
9dee2e592e89e90097cbb3b5065cffa768917b56 18-Nov-2014 Leena Winterrowd <lenhardw@codeaurora.org> stagefright: httplive: Propagate target duration to LiveSession

LiveSession's switch-down monitor requires the 'targetDuration'
key to evaluate the switching threshold. Ensure that this key is
set in the access unit metadata.

Bug: 18821145
Change-Id: Ib30f3b4bd8185a77a06abd755822f96644968a21
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
5cf91c5067a9c7ed3c138d4e56fb176b28f5dc3a 04-Nov-2014 Leena Winterrowd <lenhardw@codeaurora.org> libstagefright: httplive: Add NULL check for empty playlist

If the source playlist is empty, the playlist meta will be NULL.
Check for this case to avoid an invalid dereference. Also flag
playlists without the required EXT-X-TARGETDURATION tag as malformed.

Bug: 18821145
Change-Id: Idf74d890a89bbc6483a6d4060eb092dc7461be24
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
f0d689934e70d3e5b3784265e890377db04c7c1d 29-Jan-2015 Lajos Molnar <lajos@google.com> Revert "HLS: QCom enhancements"

This is to restore patch attributions

This reverts commit f580806d893c4631f5324ff0af5c2db68a40ef42.

Bug: 18821145
Change-Id: Idc49385fffccfde2a3915388fe3fe4e2b740d787
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
8564e13b37d372da78bce08f34a3610795ae173c 29-Dec-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 2efb9566 to lmp-mr1-dev-plus-aosp

Change-Id: I4313941f3561176ce9f6ab055678fb626e570107
f580806d893c4631f5324ff0af5c2db68a40ef42 22-Dec-2014 Robert Shih <robertshih@google.com> HLS: QCom enhancements

This commit consists of:

http://go/pag/c/188753 Add NULL check for empty playlist
http://go/pag/c/188754 Fix deadlock for low duration clips
http://go/pag/c/188757 Create a copy of last enqueued metadata
http://go/pag/c/188755 Propagate target duration to LiveSession
http://go/pag/c/188762 Decouple block size from bandwidth estimate
http://go/pag/c/188756 Reduce memcpy calls for chunked content
http://go/pag/c/188758 Dont resume if we have almost fetched till stop time

Bug: 18821145
Change-Id: I7fd650999c6c50bbadffd65adee9020e669dfe62
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
5a88501c8f677e34afb2043d7e81d8e09d6fa5f4 27-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of e5ba80c5 to lmp-mr1-dev-plus-aosp

Change-Id: Iea12c8a6cabf84584e4a89ad80e298c1f4ea3dd7
b3f9759c8c9437c45b9a34519ce2ea38a8314d4e 24-Nov-2014 Andreas Gampe <agampe@google.com> Stagefright: Fix unused variables, functions, values

For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
95697aecd644ffcfbe7fe828e9e42bfab71b75a5 11-Nov-2014 Robert Shih <robertshih@google.com> HLS: fix live lock after missing the boat during configuration change

Bug:17488643
Change-Id: I4f5de42f86d6c616a67dc803f35c026b35347983
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
f97dfbc9e20a61e56a03058af7d947b17c48515e 15-Nov-2014 Robert Shih <robertshih@google.com> Merge "PlaylistFetcher: handle sporadic fetch erros" into lmp-mr1-dev
daad5b2f4a6bb46a7911661e398278d6a80d7093 30-Aug-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: handle sporadic fetch erros

Bug: 17490472
Change-Id: I2c04e2352f13db762b845f4d35db0a8b851a148c
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
e0b7ddcda9b4fb493cc365c92293ed7d12c3208a 13-Nov-2014 Robert Shih <robertshih@google.com> Merge "PlaylistFetcher: check ts program streams before disabling a/v" into lmp-mr1-dev
bf20727f0aaf609bc3b495b07b45822b137d21ba 31-Oct-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: check ts program streams before disabling a/v

Bug: 14648838
Change-Id: Ibf2b2cbb235f3d80bc33013e2afc053f13b9035f
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
95768fc3c357f243ded53baa9f375401dc4835cd 11-Nov-2014 Robert Shih <robertshih@google.com> Merge "PlaylistFetcher: clear mStartup for .aac playlists after seek" into lmp-mr1-dev
f5b7c3b3c9a6da29f3bbd02e4031ad19bc7ad0f7 08-Nov-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: clear mStartup for .aac playlists after seek

Bug: 18296856
Change-Id: I26beabee338312eb2125b69284052c61aef611f0
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
fef808d42a9c94b0b5ef3c3d5fb0a090edbc42da 01-Nov-2014 Wei Jia <wjia@google.com> AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.

This will remove the unnecessary flush for seek.

Bug: 17511837
Change-Id: I4b7acfc71a410372f5c630afb94b6a95d09d8974
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
b44ce2f84691559672cfaf6bb8fd3a9ac43904f2 19-Sep-2014 Robert Shih <robertshih@google.com> NuPlayer HLS: better subtitle toggling

Bug: 17310061
Change-Id: Iacee1816285425aaad08c32b28591bb0162d5a85
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
73d2847af14cdd5fdf8bd1ac80fb7ddf9ae7d9a7 30-Aug-2014 Robert Shih <robertshih@google.com> HLS: fix freezes when toggling between a/v streams

Bug: 17412740
Change-Id: Iacaf2fa1d20584056375803e1782ad6761c56fc5
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
60a89850fdbb71fd48bdef3712b340cc2fa5a722 16-Sep-2014 Robert Shih <robertshih@google.com> Merge "PlaylistFetcher: find the correct sequence number to start fetching" into lmp-dev
f78f62bd6b0a99747db53828d281a50b9270a646 30-Aug-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: find the correct sequence number to start fetching

- skip over bad segemnts
- if we skipped too far into the future when adapting in live streams,
adjust back

Bug: 17141635
Bug: 17416657
Change-Id: I0877ceaf6e69cab751bf9e92579071f9e61643eb
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
0e2c09d56bb1d7d33b0de2f446fe0cf2d5b59fcb 30-Aug-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: avoid repeated fetch when we run off the edge of live playlists

Bug: 17416658
Change-Id: I1d07ce03a293206c48ff9ee11dc78b815ba367a4
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
0f9a3cf9962b6859cfee9d4bf4676b5aafca79cb 30-Aug-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: do not reset mStartTimeUs if we are resuming

Bug: 17376049
Change-Id: Ie519bdf7128841172df41e6512d624e99d9853d6
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
39f5874c4040bec6fdbf0c0912daffcb10010df8 29-Aug-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: add lower bound check when starting live streams

Avoid false 'missed the boat' alarms that cause us to queue a bogus
discontinuity before even starting.

Bug: 17303166
Change-Id: I5003934fc695f30db2df9a0803b8fe960d77a458
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
309aa8bf5e4cd66fe988adf2654cac3fadc2a1c3 30-Jul-2014 Robert Shih <robertshih@google.com> httplive: timestamp reporting, track selection

Bug: 15153976
Bug: 15763638
Bug: 16351654
Change-Id: I4462276d4b7342647286a0ca4be11692ce52ff6d
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
632740c58119a132ce19f6d498e39c5c3773971a 26-Jun-2014 Chong Zhang <chz@google.com> HLS: do not discard packets when queuing explicit discontinuity

in case of explicit discontinuity (#EXT-X-DISCONTINUITY tag in the
playlist), do not discard packets that's already queued.

(when seeking, the old fetcher will be discarded so this won't affect
seeking case.)

Bug: 15020526
Change-Id: I5d3fc489df35e3bc44acb1ee7851571cb99cb56b
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
1130c49ee00e2faf0e21152da88cda07299232da 26-Jun-2014 Chong Zhang <chz@google.com> HLS: only queue discontinuity for first block

Bug: 15020526
Change-Id: I15f9ab0f38dc510e584c668eea73ece61844d413
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
70c2fd3dc648b512ea088ee9de5e505c626fd39c 09-May-2014 Robert Shih <robertshih@google.com> Merge "PlaylistFetcher: start queueing AUs after the 1st IDR nalu"
7d8e3ccfbf326b5e190b416590e956c2fc3021f7 09-May-2014 Lajos Molnar <lajos@google.com> Allow BOM and space in WebVTT files

Bug: 10900755
Change-Id: I47a7a33f749ea2470ce7d9d36d33c7484637d61c
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
5cda1b30b8c3900f8405f9bf2fab2df6e38ea95f 24-Apr-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: clear mTSParser on bad starting seq # hint

Bug: 14159556
Change-Id: If25187477066282d5980da3c4d8a76dcfcf54d27
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
1da7ee098ac97d2fdd2cff16a2bfa51fd1889ad8 24-Apr-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: start queueing AUs after the 1st IDR nalu

Bug: 14159556
Change-Id: I4fc16dda9357e1251d2909571a79215d13d0104b
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81 20-Mar-2014 Colin Cross <ccross@android.com> libstagefright: fix 64-bit warnings

%lld -> %" PRId64 " for int64_t
%d -> %zu for size_t
Also fixes some casts from void* to integer types, and some comparisons
between signed and unsigned.

Change-Id: I9c52f76240e39399da252c66459042a6fc626a90
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
7a39abac839092298cd184c5996dc82010d60a20 19-Mar-2014 Robert Shih <robertshih@google.com> am 49b2e310: am a1f0c62c: am 43ca783e: httplive: block-by-block fetch, decrypt, and parse ts files.

* commit '49b2e310f62c590a1af9f921cd8a134cdf589263':
httplive: block-by-block fetch, decrypt, and parse ts files.
43ca783effd99bba0e6e2dd6fe177a8888578ef8 27-Feb-2014 Robert Shih <robertshih@google.com> httplive: block-by-block fetch, decrypt, and parse ts files.

Bug: 12060952
Change-Id: I695345081fe23961b9d0ef6db264885f914703ec
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
ceeabe15f4e7bc73efdfcafed917202de9d515cb 04-Mar-2014 Robert Shih <robertshih@google.com> httplive: clear access units before returning from seekTo.

Bug: 12060952
Change-Id: I6a69a718c082501003ee9b78a948a2f8bbfbb14e
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
07c34a59fee02ab0732e84a2e2ff3b928de50ebc 08-Mar-2014 Robert Shih <robertshih@google.com> Merge "httplive: clear access units before returning from seekTo."
5ce50c1931e1e3d8f113394bbe2c9f99354f4c5f 04-Mar-2014 Robert Shih <robertshih@google.com> httplive: clear access units before returning from seekTo.

Change-Id: I6a69a718c082501003ee9b78a948a2f8bbfbb14e
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
777ee5ed736c8f6c3f7d196ea022f7432bfd23e1 20-Feb-2014 Robert Shih <robertshih@google.com> Initial HLS seamless switch implementation.

Bug: 11854054
Change-Id: I75fc2a258111295039ac13cc37e407df25891dd2
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
2cd94583868b775a548233a4f7cd1d988fc6344f 06-Feb-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: Add support for block-by-block decryption.

Bug: 11854054
Change-Id: Ifd3f3369275889e716b360087b5b60d01635b578
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
e62d20268de87f63083896b5eef083d541078322 17-Dec-2013 Lajos Molnar <lajos@google.com> stagefright: Fix issue with tracking media format in packet source

Media format in AnotherPacketSource is now tracked across discontinuities.
This fixes a bug where format was set on queueAccessUnit and cleared on
dequeueAccessUnit, thereby allowing it to remain cleared.

Change-Id: I20975a630443f4a223a2b4344e8244f34b9560b9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 12060952
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
6708a45ba1b5eacf583d5e80b2075b68940fe0ab 16-Dec-2013 Lajos Molnar <lajos@google.com> stagefright: Fix bugs in playlist fetcher logic

1. Improve start time: start playback as soon as the target duration
or 10s was buffered.
2. Select playlist monitor time based on target duration to avoid
continuously missing the boat.
3. If "we miss the boat" we still must request a safe sequence
number (last - 3)

Change-Id: Ie99c360ac67b152ad9af19e9c6e520016f67e4e3
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 12060952
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
bdc0609f8133517b8e051938ad66bac750be90b4 07-Feb-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: fix infinite loop when parsing ADTS.

First check for embedded ID3 tag, then bail out if invalid.

Bug: 12934795
Change-Id: I74acebed4bfb2c6ca44dfe936166fdba8510233f
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
1543d3c735a5ba4ddfcf8ab644575df13c7e30a9 20-Feb-2014 Robert Shih <robertshih@google.com> Initial HLS seamless switch implementation.

Bug: 11854054
Change-Id: I75fc2a258111295039ac13cc37e407df25891dd2
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
9bed7d7e4dde67e2320f453535fc6c31b16c1cbe 15-Feb-2014 Robert Shih <robertshih@google.com> Merge "PlaylistFetcher: Add support for block-by-block decryption."
ebe130923fb1a5b8dda4b3ee215593edcd804f0d 06-Feb-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: Add support for block-by-block decryption.

Change-Id: Ifd3f3369275889e716b360087b5b60d01635b578
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
fd9b01b92a95f94d2d3a8b0ee5973756784fe05f 17-Dec-2013 Lajos Molnar <lajos@google.com> stagefright: Fix issue with tracking media format in packet source

Media format in AnotherPacketSource is now tracked across discontinuities.
This fixes a bug where format was set on queueAccessUnit and cleared on
dequeueAccessUnit, thereby allowing it to remain cleared.

Change-Id: I20975a630443f4a223a2b4344e8244f34b9560b9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 12060952
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
e175e5ec1636fc638465187f3d5c6166d92388ed 16-Dec-2013 Lajos Molnar <lajos@google.com> stagefright: Fix bugs in playlist fetcher logic

1. Improve start time: start playback as soon as the target duration
or 10s was buffered.
2. Select playlist monitor time based on target duration to avoid
continuously missing the boat.
3. If "we miss the boat" we still must request a safe sequence
number (last - 3)

Change-Id: Ie99c360ac67b152ad9af19e9c6e520016f67e4e3
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 12060952
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
dcb89b3b505522efde173c105a851c412f947178 06-Aug-2013 Chong Zhang <chz@google.com> MediaPlayer: add listener for raw track data

Bug: 10326117

Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.cpp