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.h
|
7184bab920699d49718e8fc3cf8a23d3c9d8d54a |
|
18-Apr-2015 |
Chong Zhang <chz@google.com> |
Merge "HLS: reduce number of guessed wrong seq numbers"
|
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.h
|
ee4e1b1a63758941460ae79a064249d3a5189443 |
|
17-Apr-2015 |
Lajos Molnar <lajos@google.com> |
stagefright: warnings be gone, some are now errors, use clang Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.h
|
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.h
|
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.h
|
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.h
|
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.h
|
4604458dfe57b0e91a464aefafea50ae7b9876c1 |
|
17-Mar-2015 |
Chong Zhang <chz@google.com> |
Fix 64-bit build break caused by print type Change-Id: I2239d875420f6926918c1a0dcab31b71c8329d1f
/frameworks/av/media/libstagefright/httplive/PlaylistFetcher.h
|
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.h
|
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.h
|
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
|
a7a1df0589048a675759ebf44f9794b0c613f3fe |
|
29-Jan-2015 |
Leena Winterrowd <lenhardw@codeaurora.org> |
am 958a5432: am 17460976: stagefright: httplive: Fix deadlock for low duration clips * commit '958a54322ea3ff2ad8ed0ac6e229c90c638f8a7f': stagefright: httplive: Fix deadlock for low duration clips
|
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.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
|
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.h
|
86a58cabe322b746ab0eb17f0cade34ed68ba60e |
|
17-Nov-2014 |
Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> |
Fix struct vs. class mismatches 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>
/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
|