summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/httplive/M3UParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* HLS: reduce number of guessed wrong seq numbersChong Zhang2015-04-171-5/+32
| | | | | | | | | | | | | | | - 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
* HLS: parse stream resolution and set maxWidth/maxHeightChong Zhang2015-04-141-0/+23
| | | | | | bug: 20160436 Change-Id: Ic3adb84d3c65cc65f62fc509a99d09602db862a1
* HLS: misc bug fixesChong Zhang2015-04-021-9/+30
| | | | | | | | | | | | | | | | | - 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
* HLS: some fixes for seek with discontinuity.Chong Zhang2015-03-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | - 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
* allow HLS streams with CLOSED-CAPTIONS tag to playChong Zhang2015-02-051-0/+10
| | | | | bug: 19284568 Change-Id: I2ccf1c5952c13d1332b6a91f967af0bd3ee67451
* NuPlayer HTTPLiveSource: impl getSelectedTrackRobert Shih2014-11-061-0/+35
| | | | | Bug: 17514665 Change-Id: I81c62553f2c5acb4d2436a9d8f04c10fdbe315d0
* httplive: timestamp reporting, track selectionRobert Shih2014-08-051-2/+37
| | | | | | | Bug: 15153976 Bug: 15763638 Bug: 16351654 Change-Id: I4462276d4b7342647286a0ca4be11692ce52ff6d
* M3UParser: check for NULL before setting meta dataRobert Shih2014-07-161-0/+6
| | | | | Bug:16351654 Change-Id: I64e9510f719b220471522b4d78a9b00a98bda772
* Fix M3UParser relative path handling.Lajos Molnar2014-07-161-1/+3
| | | | | Bug: 16017037 Change-Id: Ibfff99387fb5b3e721144a2b3f9174092d785137
* refactor getTrackInfo()Chong Zhang2014-06-131-31/+46
| | | | | | | | | | | | | (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
* stagefright: log uri protocols, and opt-in to log full uriLajos Molnar2014-04-041-1/+2
| | | | | | | | | | | Added property media.stagefright.log-uri. Set it to true or 1 to log uris by AwesomePlayer. Added utility function to get uri debug string based on incognito and log opt-in status. Change-Id: I5ccc23079ddfb120dd9703a3ed651a162ed5acec Related-Bug: 6994761
* libstagefright: fix 64-bit warningsColin Cross2014-03-191-5/+5
| | | | | | | | | %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
* am f4431278: am 19afb386: Merge "Remove streaming URI from default logs"Marco Nelissen2014-03-121-2/+1
|\ | | | | | | | | * commit 'f4431278a9613f55ecd944ab2e3eb615b372f269': Remove streaming URI from default logs
| * am 19afb386: Merge "Remove streaming URI from default logs"Marco Nelissen2014-03-121-2/+1
| |\ | | | | | | | | | | | | * commit '19afb3869eb6a3e3733dc1f7420e1d4c3c03d376': Remove streaming URI from default logs
| | * Remove streaming URI from default logsDavid Williams2014-03-101-2/+1
| | | | | | | | | | | | | | | | | | Streaming URI should not be visible in default logcat logs Change-Id: I104cc56b5335f8c5621013e4c5be8028f0379833
| | * M3UParser: Fix typo in 8883a38a308Martin Storsjo2014-02-101-1/+1
| | | | | | | | | | | | Change-Id: I09f8deb40b8b34efd4bfcfab6866b7780f8bae96
| * | am 49ea1337: Merge changes ↵Lajos Molnar2014-03-071-24/+22
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I787e1c05,I72d3a5e1,I0a5cc65f,I75fc2a25,I2c2be08d, ... into klp-dev * commit '49ea13379fb15ddb73183ebafa3a377342ef932f': LiveSession: Use the actual, possibly redirected url as base in the M3U M3UParser: Skip query strings when looking for the last slash in a URL ChromiumHTTPDataSource: Keep track of the redirected URL Initial HLS seamless switch implementation. NuPlayer side support for seamless format switch. LiveSession refactor PlaylistFetcher: Add support for block-by-block decryption. LiveSession: Add support for block-by-block fetchFile.
| | * | M3UParser: Skip query strings when looking for the last slash in a URLMartin Storsjo2014-03-061-12/+22
| | | | | | | | | | | | | | | | | | | | Bug: 13174301 Change-Id: I72d3a5e11fef9bbd75b291bc490c9cab1dce58da
| | * | LiveSession refactorRobert Shih2014-03-061-12/+0
| | | | | | | | | | | | | | | | | | | | Bug: 11854054 Change-Id: Ia91dce109835e042f72934376d4838b4cc72cb10
| * | | am 909498b7: Merge "stagefright: use CODECS field in EXT-X_STREAM-INF as ↵Lajos Molnar2014-03-071-7/+153
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | fallback" into klp-dev * commit '909498b72d740e3151561fd4435ad0a329ec9c6e': stagefright: use CODECS field in EXT-X_STREAM-INF as fallback
| | * | stagefright: use CODECS field in EXT-X_STREAM-INF as fallbackRobert Shih2014-03-061-7/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the CODECS field in EXT-X-STREAM-INF as a viable fallback for identifying available streams in a variant playlist. Bug: 11854054 Change-Id: I5011809dc7c56220b023eb1a16f2d6a392ddd6f1
* | | | M3UParser: trim spaces when parsing comma separated codecs.Robert Shih2014-03-101-0/+1
| | | | | | | | | | | | | | | | | | | | Bug: 13402087 Change-Id: Idc92716bfefd6d1b0cb371d0d97d990d53288090
* | | | Merge "stagefright: use CODECS field in EXT-X_STREAM-INF as fallback"Robert Shih2014-02-241-7/+153
|\ \ \ \
| * | | | stagefright: use CODECS field in EXT-X_STREAM-INF as fallbackRobert Shih2014-01-291-7/+153
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Use the CODECS field in EXT-X-STREAM-INF as a viable fallback for identifying available streams in a variant playlist. Change-Id: I5011809dc7c56220b023eb1a16f2d6a392ddd6f1
* | | | LiveSession refactorRobert Shih2014-02-201-12/+0
| | | | | | | | | | | | | | | | Change-Id: Ia91dce109835e042f72934376d4838b4cc72cb10
* | | | warnings be gone.Andreas Huber2014-02-111-3/+3
| | | | | | | | | | | | | | | | Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
* | | | Fix buildMarco Nelissen2014-02-101-1/+1
| |_|/ |/| | | | | | | | Change-Id: I9196e316dcf7a58096658313bdc925b11b23a7de
* | | M3UParser: Skip query strings when looking for the last slash in a URLMartin Storsjo2014-02-051-12/+22
| |/ |/| | | | | Change-Id: I72d3a5e11fef9bbd75b291bc490c9cab1dce58da
* | HLS: Fixed rounding error with decimal segment durationOscar Rydhé2013-12-191-1/+1
|/ | | | | | | | | | | If segment duration is specified with decimal value only the integer value will be used, causing the stream duration to be wrong. Reported to Android public issue tracker: https://code.google.com/p/android/issues/detail?id=56223 Change-Id: I34fb7a81af6ad3d9a214228cfe3724636ebf5ab5
* Pass subtitle track properties to getTrackInfoChong Zhang2013-09-111-0/+7
| | | | | | Bug: 10326117 Change-Id: I15fcc49ad02e26d7cc92e82ee670bafca62a09a7
* MediaPlayer: add listener for raw track dataChong Zhang2013-08-191-2/+93
| | | | | | Bug: 10326117 Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
* New HLS implementation supporting independent stream sources, audio-only streamsAndreas Huber2013-05-311-24/+469
| | | | | | and more. Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
* Parse the last none-empty line of .m3u8 fileSungsoo Lim2013-04-161-3/+0
| | | | | | | | | If the last sentence of .m3u8 file is not processed, because it is not empty and has no line feed, M3UParser.isComplete() returns false even though it is completed. Change-Id: I01b9f900d44247a3ef40369a2f9198bb7eaf01b7 related-to-bug: 8405824
* Add support for HLS playlists of type 'event'.Andreas Huber2012-11-271-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | related-to-bug: 6870049 Squashed commit of the following: commit eee2f3ba6bb7335f4e285632726db85645669929 Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 15:02:01 2012 -0800 Make everything a lot less verbose by default. Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3 commit 6bbdb837ed5bd88008e45efb8faf595e4051ba26 Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 14:34:46 2012 -0800 HLS now properly signals media time changes at discontinuities including the start of playback (which may not necessarily be at time 0 if the playlist is of type 'event' and hasn't completed yet). Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e commit 1555589832b1878a144a976a643e1af4d61f877c Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 14:32:28 2012 -0800 As part of a time discontinuity, clients of IStreamListener can now signal the corresponding media time after the discontinuity, i.e. the first PTS timestamp following the discontinuity will be considered equivalent to the specified media time and media buffers timestamped accordingly. Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92 commit 5c24c605c073a11c426d025b1e7478fc1ad8365a Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 13:00:56 2012 -0800 NuPlayer sources now expose flags() and can announce that duration may change (increase) dynamically, in which case duration will be polled at 1 second intervals and communicated to the upper layers. Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea commit ecb71de8e281e61971a2cd73e7161a97540bc357 Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 12:57:47 2012 -0800 Stop caching duration in MediaPlayer, duration could increase dynamically. Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791 commit 544aec5823e6d7a3e97e15b6b23546616bcd343e Author: Andreas Huber <andih@google.com> Date: Tue Nov 27 08:46:28 2012 -0800 An attempt to add support for "event" style HLS playlists. Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60 Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-1/+1
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-041-1/+1
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* Support new HLS byte-range extensionsAndreas Huber2011-10-311-0/+65
| | | | Change-Id: Ic767ddea93ffcb87d83b8fbc20837486648da3d7
* Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-4/+4
| | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* More HLS fixesAndreas Huber2011-07-191-9/+26
| | | | | | | properly expand URLs where the "new" URL is an absolute path. properly include any extra headers even when fetching the key files. Change-Id: I7cd8879015ea8e3d3e2334f4e7e16b8c1a5d48e9
* Seeking/duration in HLS content is based on the individual segments' durationAndreas Huber2011-06-301-3/+10
| | | | | | | not target-duration. Change-Id: I294097daa84c25e4084a6fc4ea80e39a543f3d10 related-to-bug: 4983285
* Parse the individual segment's duration as a floating point number which is nowAndreas Huber2011-06-211-3/+41
| | | | | | | allowed in later HLS specs. Change-Id: I7c8296acb4e9b0f80022f3057769de0eea9ee0c6 related-to-bug: 4779022
* Enable http-live support for https:// urls, fix a parsing issue.Andreas Huber2011-03-211-2/+25
| | | | | Change-Id: I2284e1d62babde7f739fba6a3cb4e2619f0e62f9 related-to-bug: 4148291
* Better handling of forming absolute https URLs, runtime error on https:// ↵Andreas Huber2010-12-211-1/+2
| | | | | | access. Change-Id: I7f6275520b0bd070e645024dd151a8541b8787b2
* The HTTP/1.1 Host request header must include port if it's not the default (80).Andreas Huber2010-12-161-0/+9
| | | | Change-Id: Idcc1429fbeecef99dad435208c9a1bd481132e2b
* Squashed commit of the following:Andreas Huber2010-12-021-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit de99ae4a523ff5ec40b47071f22fdde1a4b2a0bf Author: Andreas Huber <andih@google.com> Date: Thu Dec 2 13:18:40 2010 -0800 Scan for sync words to find H.264 frame/AAC frame boundaries if PES packets do not start with them. Change-Id: If2861982ecb3006fac806105dbfcd1d43c2a4205 commit be23791ff0d037aa7073589cdc8bfc362e1c281d Author: Andreas Huber <andih@google.com> Date: Thu Dec 2 13:12:39 2010 -0800 Properly expand relative key URLs and strip surrounding quotes in the M3UParser. Change-Id: I013a6d83a64f095d090e5c7730298bdac7d03ab4 commit 0f1d8f65effe0cc42a265dd91d8b91dce6534325 Author: Andreas Huber <andih@google.com> Date: Thu Dec 2 13:11:27 2010 -0800 Ugly hack that assumes that any http url containing "m3u8" refers to an httplive stream. Change-Id: I05d7bbc5dab0f9822558122b5b9dc2a109ed8518 commit 255f0d5cdb1072ecd66b47ee614bf574f1388e5a Author: Andreas Huber <andih@google.com> Date: Thu Dec 2 13:10:56 2010 -0800 Add one more mimetype "application/x-mpegurl" to identify httplive playlists. Change-Id: I63fd3b8c2539c9ee23c077df533157af78b10863 Change-Id: I135687383009dbe32d690c9ba8dea60159adc616
* More HTTP live support, AES encryption etc.Andreas Huber2010-11-151-0/+56
| | | | | Change-Id: Ia5088042dd0a2181cb73cf8c7a2ff81e34b3064c related-to-bug: 2368598
* am 28b93967: am 165c6579: Merge "HTTP Live content that are tagged as ↵Andreas Huber2010-10-141-1/+8
|\ | | | | | | | | | | | | | | | | complete are now seekable." into gingerbread Merge commit '28b93967d0e702304c7edec854a29d5ab88bfce0' * commit '28b93967d0e702304c7edec854a29d5ab88bfce0': HTTP Live content that are tagged as complete are now seekable.
| * HTTP Live content that are tagged as complete are now seekable.Andreas Huber2010-10-121-1/+8
| | | | | | | | | | Change-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde related-to-bug: 2368598
* | am bb708373: am 949f7d90: Merge "Work to support switching transport streams ↵Andreas Huber2010-10-101-2/+72
|\ \ | |/ | | | | | | | | | | | | | | mid-stream and signalling discontinuities to the decoder." into gingerbread Merge commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43' * commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43': Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.
| * Work to support switching transport streams mid-stream and signalling ↵Andreas Huber2010-10-071-2/+72
| | | | | | | | | | | | | | discontinuities to the decoder. Change-Id: I7150e5e7342e1117c524856b204aadcb763e06ed related-to-bug: 2368598