summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/httplive/PlaylistFetcher.h
Commit message (Collapse)AuthorAgeFilesLines
* HLS: misc changes in LiveSession buffering logicChong Zhang2015-03-101-5/+1
| | | | | | | | | | | | | | | 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
* am ce25d85a: am a93fd2be: stagefright: httplive: Decouple block size from ↵Leena Winterrowd2015-01-291-1/+1
|\ | | | | | | | | | | | | bandwidth estimate * commit 'ce25d85ad22e6df4b861d17e9e67cb6d0e62c363': stagefright: httplive: Decouple block size from bandwidth estimate
| * stagefright: httplive: Decouple block size from bandwidth estimateLeena Winterrowd2015-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am 958a5432: am 17460976: stagefright: httplive: Fix deadlock for low ↵Leena Winterrowd2015-01-291-1/+2
|\ \ | |/ | | | | | | | | | | duration clips * commit '958a54322ea3ff2ad8ed0ac6e229c90c638f8a7f': stagefright: httplive: Fix deadlock for low duration clips
| * stagefright: httplive: Fix deadlock for low duration clipsLeena Winterrowd2015-01-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | PlaylistFetcher buffers up to 3 * target-duration bytes of data, but if a stream is slow (ie due to bad network conditions), a buffer threshold of 10s is used to resume playback. This results in an indefinite freeze as PlaylistFetcher has stopped buffering before this threshold. Reduce the 10s threshold to be more in-sync with PlaylistFetcher's buffering size. Bug: 18821145 Change-Id: Ife846e7c5b4f9645895873d08250c4bee0164972
* | resolved conflicts for merge of 44a2390b to lmp-mr1-dev-plus-aospLajos Molnar2015-01-291-3/+2
|\ \ | |/ | | | | Change-Id: I39fdc2e8895e1e943749b9a2628656a8fa5bb72b
| * Revert "HLS: QCom enhancements"Lajos Molnar2015-01-281-3/+2
| | | | | | | | | | | | | | | | | | This is to restore patch attributions This reverts commit f580806d893c4631f5324ff0af5c2db68a40ef42. Bug: 18821145 Change-Id: Idc49385fffccfde2a3915388fe3fe4e2b740d787
* | resolved conflicts for merge of 2efb9566 to lmp-mr1-dev-plus-aospNarayan Kamath2014-12-291-2/+3
|\ \ | |/ | | | | Change-Id: I4313941f3561176ce9f6ab055678fb626e570107
| * HLS: QCom enhancementsRobert Shih2014-12-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix struct vs. class mismatchesBernhard Rosenkränzer2014-11-171-1/+1
|/ | | | | | | | | | Fix something being declared a struct and forward-declared a class and vice versa. gcc doesn't care, clang complains about the mismatch. Change-Id: I7a7a8e9040e3c86fa1d73eb112631ea140861657 Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
* NuPlayer HLS: better subtitle togglingRobert Shih2014-09-191-1/+3
| | | | | Bug: 17310061 Change-Id: Iacee1816285425aaad08c32b28591bb0162d5a85
* HLS: fix freezes when toggling between a/v streamsRobert Shih2014-09-161-0/+4
| | | | | Bug: 17412740 Change-Id: Iacaf2fa1d20584056375803e1782ad6761c56fc5
* PlaylistFetcher: find the correct sequence number to start fetchingRobert Shih2014-09-151-0/+5
| | | | | | | | | | - 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
* httplive: timestamp reporting, track selectionRobert Shih2014-08-051-7/+18
| | | | | | | Bug: 15153976 Bug: 15763638 Bug: 16351654 Change-Id: I4462276d4b7342647286a0ca4be11692ce52ff6d
* Merge "PlaylistFetcher: start queueing AUs after the 1st IDR nalu"Robert Shih2014-05-091-0/+2
|\
| * PlaylistFetcher: start queueing AUs after the 1st IDR naluRobert Shih2014-04-251-0/+2
| | | | | | | | | | Bug: 14159556 Change-Id: I4fc16dda9357e1251d2909571a79215d13d0104b
* | Allow BOM and space in WebVTT filesLajos Molnar2014-05-081-0/+1
|/ | | | | Bug: 10900755 Change-Id: I47a7a33f749ea2470ce7d9d36d33c7484637d61c
* httplive: block-by-block fetch, decrypt, and parse ts files.Robert Shih2014-03-191-0/+5
| | | | Bug: 12060952 Change-Id: I695345081fe23961b9d0ef6db264885f914703ec
* httplive: clear access units before returning from seekTo.Robert Shih2014-03-111-2/+2
| | | | | Bug: 12060952 Change-Id: I6a69a718c082501003ee9b78a948a2f8bbfbb14e
* Initial HLS seamless switch implementation.Robert Shih2014-03-061-1/+21
| | | | | Bug: 11854054 Change-Id: I75fc2a258111295039ac13cc37e407df25891dd2
* PlaylistFetcher: Add support for block-by-block decryption.Robert Shih2014-03-061-1/+16
| | | | | Bug: 11854054 Change-Id: Ifd3f3369275889e716b360087b5b60d01635b578
* stagefright: Fix bugs in playlist fetcher logicLajos Molnar2014-03-061-2/+5
| | | | | | | | | | | | | 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
* MediaPlayer: add listener for raw track dataChong Zhang2013-08-191-1/+2
| | | | | | Bug: 10326117 Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
* New HLS implementation supporting independent stream sources, audio-only streamsAndreas Huber2013-05-311-0/+155
and more. Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495