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/LiveSession.h
|
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/LiveSession.h
|
81636761bead03f13b4ed9320a7f25ce1354f1ae |
|
21-Apr-2015 |
Chong Zhang <chz@google.com> |
HLS: remove no more than 10% of bandwidth history at a time - fix a 'possible video time jump' after seek, don't update renderer anchor time for 0-sized audio buffers - fix another 'possible video time jump' caused by some states not reset in mStreams - bandwidth estimator changes to not remove more than 10% of total transfer duration at a time to avoid jumping up too quickly bug: 20267388 related-to-bug: 19864613 related-to-bug: 20138395 Change-Id: I8812332cd1e26bf562acfaf086fd679a3549debc
/frameworks/av/media/libstagefright/httplive/LiveSession.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/LiveSession.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/LiveSession.h
|
a0d0ba51ad60a68117a0ee78e37ab78715b8a069 |
|
11-Apr-2015 |
Chong Zhang <chz@google.com> |
HLS: parse stream resolution and set maxWidth/maxHeight bug: 20160436 Change-Id: Ic3adb84d3c65cc65f62fc509a99d09602db862a1
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
c255757c795e5db87bafa6609c4ae052cf38b45b |
|
10-Apr-2015 |
Chong Zhang <chz@google.com> |
Merge "HLS: allow down switch during prepare"
|
8464d7decb34a3044e92b4085f1bbaafb51410e8 |
|
09-Apr-2015 |
Chong Zhang <chz@google.com> |
HLS: allow down switch during prepare to avoid having to immediately down switch (and pause) after playback starts. do not count "discard" packet when estimating duration. bug: 19567254 Change-Id: I0cdd37a06ca800dd81a91cca5eb9b46a1eab7b20
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
a1151185c7eb3b4c483f7067deba1775fd0a2510 |
|
09-Apr-2015 |
Lajos Molnar <lajos@google.com> |
stagefright: LiveSession: delay consuming reply ID for seek Only consume reply ID when actually handling the seek. Bug: 20123914 Change-Id: I2112ee1b89f8193b487ea2b0b3b7050ba3413864
/frameworks/av/media/libstagefright/httplive/LiveSession.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/LiveSession.h
|
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/LiveSession.h
|
765f27c2376e83766d9e1d8f8136025c5437ce49 |
|
30-Mar-2015 |
Chong Zhang <chz@google.com> |
fix build break in clang Change-Id: Iff2ca5d1e800d30943de12191bfe6c43d6a2c7f6
/frameworks/av/media/libstagefright/httplive/LiveSession.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/LiveSession.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/LiveSession.h
|
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/LiveSession.h
|
98d53011c390ab0c3cb8d5d9e47251876174d5d4 |
|
11-Mar-2015 |
Chong Zhang <chz@google.com> |
Merge "HLS: misc changes in LiveSession buffering logic"
|
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/LiveSession.h
|
3f27436a9346f043f52265da1e6a74cde2bffd4d |
|
05-Mar-2015 |
Lajos Molnar <lajos@google.com> |
stagefright: don't use ALooperRoster mutex for reply handling Change replyID-s from uint32_t to an object Move reply handling into the loopers (to reuse a common mutex) Bug: 19607784 Change-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
340cebdaa2875ba2ab9725b81218ebc59d84164b |
|
20-Feb-2015 |
Dan Albert <danalbert@google.com> |
Fix mismatched type tag clang warning. Parcel is a struct, not a class. However, Parcel isn't used in this file, so just kill it. Change-Id: I575cae8b3c5dd13dd9b03fccfe7423e1f17f62f5
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
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/LiveSession.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/LiveSession.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/LiveSession.h
|
89bf2525c5b57f17260de5b00c5f3f78ac4b881e |
|
30-Jul-2014 |
Robert Shih <robertshih@google.com> |
NuPlayer HTTPLiveSource: impl getSelectedTrack Bug: 17514665 Change-Id: I81c62553f2c5acb4d2436a9d8f04c10fdbe315d0
/frameworks/av/media/libstagefright/httplive/LiveSession.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/LiveSession.h
|
f4a48dfa8570d6a4708a868b8b15d1236f7ca54b |
|
30-Aug-2014 |
Robert Shih <robertshih@google.com> |
LiveSession: reliable switch Bug: 17142706 Change-Id: I9cd6c068178d62c294496e8ab0b0a3763354964f
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
f69c996864844e8f669308af8412cede043062a2 |
|
30-Aug-2014 |
Robert Shih <robertshih@google.com> |
LiveSession: re-buffer on under run to avoid stutter Bug: 13742725 Change-Id: I7dad8876e18084c3c060d08190fa8a72fc2f5bad
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
84de1dc2512aa886638c103ee3e9f5c19f4a4a04 |
|
12-Sep-2014 |
Robert Shih <robertshih@google.com> |
Merge "LiveSession: added onSwitchDown" into lmp-dev
|
0ad776d2e4c6b4968d9dcd9bf34b962366b312a9 |
|
30-Aug-2014 |
Robert Shih <robertshih@google.com> |
LiveSession: added onSwitchDown additionally in this change - AnotherPacketSource: added getEstimatedDurationUs that avoids looping through buffered access units in most cases; this method is called by LiveSession before triggering onSwitchDown. Also fix the original getBufferedDurationUs to accumulate durations across discontinuities. Bug: 13742612 Change-Id: I135932ea0c74671b7019a3c7054844926c18bc14
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
00598ec0b15426197494aaf9e5ec0bc88507c762 |
|
30-Aug-2014 |
Robert Shih <robertshih@google.com> |
LiveSession: raise upwards adaptation constraint Adjust bandwidth more conservatively when considering an upwards adaptation. Also fixed an issue with kWhatCheckBandwidth messages being accumulated across switch generations; this causes onCheckBandwidth to be fired at a high frequency and LiveSession to be too sensitive to network glitches. Bug: 13743153 Change-Id: I1dec99cb5d123c6675abe0847fd12aab5178eefd
/frameworks/av/media/libstagefright/httplive/LiveSession.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/LiveSession.h
|
404fced9bfa8fa423ee210a271ca051ffd1bec13 |
|
11-Jun-2014 |
Chong Zhang <chz@google.com> |
refactor getTrackInfo() (this is in preparation for supporting other cc source) - split into two methods: getTrackCount() and getTrackInfo() - move track info parcelling to NuPlayer - parcel in the mime type of the subtitle format Bug: 15470448 Change-Id: If00724d8c3a2b2319cb9c5f29d3fe76347bfe947
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
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/LiveSession.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/LiveSession.h
|
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/LiveSession.h
|
a1076eb135b74a32e9bdc1aed17aee4374eb41af |
|
22-Nov-2013 |
Martin Storsjo <martin@martin.st> |
LiveSession: Use the actual, possibly redirected url as base in the M3U This fixes playback of HLS streams where the M3U playlists use relative paths and the main playlist is opened via a redirect. Bug: 13174301 Change-Id: I787e1c050daddc566be4c8e3f84803d3f91eec46
/frameworks/av/media/libstagefright/httplive/LiveSession.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/LiveSession.h
|
6c8495c8f1ccc35db972ee7ac0dbb8baf5843548 |
|
14-Feb-2014 |
Robert Shih <robertshih@google.com> |
LiveSession refactor Bug: 11854054 Change-Id: Ia91dce109835e042f72934376d4838b4cc72cb10
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
822a489e595336be447f47f5c2a051e8fdd1cdff |
|
06-Feb-2014 |
Robert Shih <robertshih@google.com> |
LiveSession: Add support for block-by-block fetchFile. Bug: 11854054 Change-Id: I4025ba7fab8fab2e0c720f73894e908fd98a43d8
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
1543d3c735a5ba4ddfcf8ab644575df13c7e30a9 |
|
20-Feb-2014 |
Robert Shih <robertshih@google.com> |
Initial HLS seamless switch implementation. Bug: 11854054 Change-Id: I75fc2a258111295039ac13cc37e407df25891dd2
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
3a005b3b19b750afe24577ae322aff4602ca2740 |
|
21-Feb-2014 |
Robert Shih <robertshih@google.com> |
Merge "LiveSession refactor"
|
97194cdf8d67f362ef8c6dfdf607298c7e102b3b |
|
20-Feb-2014 |
Marco Nelissen <marcone@google.com> |
resolved conflicts for merge of aa0390b7 to master Change-Id: Ide9dfb5df75cac7c363a3c7fdbd8fabdc326a495
|
8ca002eedc747dd854b61cbe364b52c06869273f |
|
14-Feb-2014 |
Robert Shih <robertshih@google.com> |
LiveSession refactor Change-Id: Ia91dce109835e042f72934376d4838b4cc72cb10
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
8dd1c202aea703ed8beacaaa0dad5ae9c76a0863 |
|
06-Feb-2014 |
Robert Shih <robertshih@google.com> |
LiveSession: Add support for block-by-block fetchFile. Change-Id: I4025ba7fab8fab2e0c720f73894e908fd98a43d8
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
81e68448f3361eaf8618930471fdc3c21bdf5cbc |
|
05-Feb-2014 |
Andreas Huber <andih@google.com> |
Remove no longer needed http proxy handling code, it's obsolete now since we started to use java's HTTPConnection instead of the native implementation. Also remove other remnants of the previous http implementation, such as accounting for the http user's uid. Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
1b86fe063badb5f28c467ade39be0f4008688947 |
|
29-Jan-2014 |
Andreas Huber <andih@google.com> |
FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
/frameworks/av/media/libstagefright/httplive/LiveSession.h
|
784faaf1d76902be6b36d3af01fb5325f0d45a04 |
|
22-Nov-2013 |
Martin Storsjo <martin@martin.st> |
LiveSession: Use the actual, possibly redirected url as base in the M3U This fixes playback of HLS streams where the M3U playlists use relative paths and the main playlist is opened via a redirect. Change-Id: I787e1c050daddc566be4c8e3f84803d3f91eec46
/frameworks/av/media/libstagefright/httplive/LiveSession.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/LiveSession.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/LiveSession.h
|