History log of /frameworks/av/media/libstagefright/httplive/PlaylistFetcher.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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.h
174609765fb9c8cbd6aeb61f489746c3570bfee2 18-Nov-2014 Leena Winterrowd <lenhardw@codeaurora.org> stagefright: httplive: Fix deadlock for low duration clips

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
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h