summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
Commit message (Collapse)AuthorAgeFilesLines
* DO NOT MERGE libmediaplayerservice: set priority and operating rate for the ↵Ronghua Wu2015-04-277-0/+50
| | | | | | | | codec used by nuplayer. Bug: 20481562 Change-Id: I9806414962352fbcda726f8274f1cd348c961de0 (cherry picked from commit f19f5d716b39a5d9dc1abdcd5a16a7aaf1b1ab8b)
* Merge "Lock drm plugin API calls globally, not per MediaDrm instance"Jeff Tinker2015-04-252-1/+2
|\
| * Lock drm plugin API calls globally, not per MediaDrm instanceJeff Tinker2015-04-222-1/+2
| | | | | | | | | | | | Change-Id: I062c662a440a1becccd248c3b8ddf711c51e53cc related-to-bug: 18394494 related-to-bug: 19664283
* | Merge "HLS: make disconnect faster to prevent ANR"Chong Zhang2015-04-241-1/+1
|\ \
| * | HLS: make disconnect faster to prevent ANRChong Zhang2015-04-231-1/+1
| |/ | | | | | | | | | | | | disconnect HTTP connection when we absolutely won't resume bug: 19890444 Change-Id: Idee36b48741f6f8eb1d65bca32156e9e18349c67
* | Copy sei offset/size during ABuffer/MediaBuffer conversionRobert Shih2015-04-231-0/+8
| | | | | | | | | | Bug: 20537676 Change-Id: I0bd11527ccd022c39d94b7877df81de4da1b14a6
* | Merge "libmediaplayerservice: set priority and operating rate for the codec ↵Ronghua Wu2015-04-221-0/+6
|\ \ | |/ |/| | | used by recorder."
| * libmediaplayerservice: set priority and operating rate for the codec used by ↵Ronghua Wu2015-04-221-0/+6
| | | | | | | | | | | | | | recorder. Bug: 20481562 Change-Id: Ibff54395e00809500d98e3759f9677f8168c98ae
* | Merge "HLS: remove no more than 10% of bandwidth history at a time"Chong Zhang2015-04-211-1/+2
|\ \
| * | HLS: remove no more than 10% of bandwidth history at a timeChong Zhang2015-04-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | Fix mips build.Ying Wang2015-04-202-2/+2
|/ / | | | | | | Change-Id: I49aa83e38e90ebd20793885de9420de96062aa37
* | Merge "NuPlayer: queue a deferred scan sources when flushing during scan"Chong Zhang2015-04-187-31/+32
|\ \
| * | NuPlayer: queue a deferred scan sources when flushing during scanChong Zhang2015-04-177-31/+32
| | | | | | | | | | | | | | | | | | | | | also refactor code to move scheduleRequestBuffers to decoder base. bug: 20267388 Change-Id: I48f16adc6b4d4008f8fcda8b3b01c595ad199f8b
* | | libmediaplayerservice: fix warnings, make warnings errors, use clangLajos Molnar2015-04-1721-36/+41
| | | | | | | | | | | | Change-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228
* | | stagefright: warnings be gone, some are now errors, use clangLajos Molnar2015-04-174-6/+6
|/ / | | | | | | Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
* | Merge "NuPlayerDriver: Maintain the timeStamp after seek"Wei Jia2015-04-171-0/+3
|\ \
| * | NuPlayerDriver: Maintain the timeStamp after seekHaynes Mathew George2015-04-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While offload playback is going on, if user pause and seeks to new position before offload tear-down, on resume playback starts from old time-stamp. Once tear-down happens NuPlayer loses updated time-stamp so while resuming it resumes playback with stale time-stamp. Make sure the updated time-stamp is maintained in NuPlayerDriver which is used while starting the playback after resume. authored-by: Sharad Sangle <assangle@codeaurora.org> Change-Id: Ie125cf0fab1b0a237e67e43b0e5b4a704483ef99
* | | stagefright: initial timed id3 support in hlsRobert Shih2015-04-166-30/+146
|/ / | | | | | | Change-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8
* | Merge "Unhide the android.media.[Media]DataSource interface."Chris Watkins2015-04-1612-11/+113
|\ \ | |/ |/|
| * Unhide the android.media.[Media]DataSource interface.Chris Watkins2015-04-1512-11/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows apps to implement MediaDataSource, which is modeled on stagefright's DataSource, to supply media data to the framework. This was already implemented for MediaExtractor, but it was renamed from DataSource. MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new overload: #setDataSource(android.media.MediaDataSource) Only NuPlayer supports this new data source. The change introduces: * IDataSource: The binder interface for DataSource. * JMediaDataSource: The native counterpart to the java interface. It implements IDataSource. * CallbackDataSource: A stagefright DataSource that wraps an IDataSource. Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
* | fix NuPlayerDecoder discontinuity handling with async modeChong Zhang2015-04-151-4/+0
|/ | | | | | bug: 20234224 Change-Id: I317b52b089f1e1432255100ef5f36322a231a399
* Merge "NuPlayerRenderer: adjust delay of posting drain audio message based ↵Wei Jia2015-04-131-0/+3
|\ | | | | | | on playback rate."
| * NuPlayerRenderer: adjust delay of posting drain audio message based on ↵Wei Jia2015-04-101-0/+3
| | | | | | | | | | | | | | playback rate. Bug: 19196501 Change-Id: I2a98e877ed946e899af0974a0c2397c4146ce349
* | mediaplayer: support async mode for widevine legacy modeLajos Molnar2015-04-101-14/+6
| | | | | | | | | | Bug: 14679336 Change-Id: Id224eb8c31ec148ca9a144758cc56ddbf5465f5c
* | mediaplayer: use async mode in NuPlayerMarco Nelissen2015-04-102-115/+153
|/ | | | | Bug: 14679336 Change-Id: I5e471a6e13be82a375afc2718599f27cd0255bf5
* Add a method to associate MediaDrm session with MediaCryptoJeff Tinker2015-04-102-0/+12
| | | | | | | | | | | | | | Previously, to associate a MediaDrm session with MediaCrypto, the MediaDrm sessionId was passed as initData to the MediaCrypto constructor. This is not ideal for two reasons: it's pretty obscure and you can't change the association without tearing down the MediaCodec/MediaCrypto and starting all over. Use cases like key rotation require being able to update the MediaDrm session post-construction. This CL addresses both of these issues. bug: 19570317 Change-Id: Ieb32d04d61742fc1dee2105dd904690d44c46c7b
* Add expiration update and keys change eventsJeff Tinker2015-04-092-13/+62
| | | | | | | | In support of unprefixed EME bug: 19771612 bug: 19771431 Change-Id: Ib19d4c8db25f5b09f9a30ebd4992b668cad9bfc4
* Pass crypto source data using a shared bufferJeff Tinker2015-04-082-2/+5
| | | | | | | | | | | | | MediaCodec was using a binder transaction buffer to pass encryption source data for protected content. On some 4K content, the max binder transaction buffer size was being exceeded. This change uses a shared buffer for the encryption source data instead of a binder transaction buffer, which avoids the problem and may be more efficient. bug: 20027687 Change-Id: I36a24ebf600d7e1064b78e48b167fdc29b2c65e9
* Merge "nuplayer: Has video hint for offload"Ronghua Wu2015-04-032-1/+6
|\
| * nuplayer: Has video hint for offloadHaynes Mathew George2015-04-022-1/+6
| | | | | | | | | | | | | | | | | | | | | | Send a hint indicating whether the clip being played has a video stream from NuPlayer to NuPlayerDecoderPassThrough. This hint is used to open the audio sink with the correct offload config. Currently, NuPlayerDecoderPassthrough always calls openAudioSink with hasVideo set to false causing an unnecessary recreation of AudioTrack. Change-Id: I7bc6c73818b65f9237a6e606721b7d48e1d807b9 CRs-Fixed: 811510
* | mediaplayer: ensure secure decoders are instantiated before starting sourceLajos Molnar2015-04-015-14/+111
| | | | | | | | | | Bug: 19984798 Change-Id: Iff13cf03c4ce3141380f4d7ab4a2b1045c5ce747
* | Merge "HLS: faster switching and pause/resume on low buffer"Chong Zhang2015-03-271-0/+28
|\ \
| * | HLS: faster switching and pause/resume on low bufferChong Zhang2015-03-271-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | Fix seek issueMarco Nelissen2015-03-261-8/+0
| |/ |/| | | | | | | | | | | The removed code was original added to fix a deadlock, but is no longer needed. Bug: http://b/19947213 Change-Id: I4dd9d6fdf5eb6c0fb654953569dc87b820579f84
* | Merge "Report key request message type for unprefixed EME"Jeff Tinker2015-03-242-3/+6
|\ \ | |/ |/|
| * Report key request message type for unprefixed EMEJeff Tinker2015-03-162-3/+6
| | | | | | | | | | bug: 19771299 Change-Id: I02f0a4532b5ea8a7e680d71f45ac0da06879f3d6
* | Merge "mediaplayer: check existence of AudioTrack before trying to access it."Wei Jia2015-03-191-1/+11
|\ \
| * | mediaplayer: check existence of AudioTrack before trying to access it.Wei Jia2015-03-191-1/+11
| |/ | | | | | | | | Bug: 19828971 Change-Id: Ib7fdb8bf36e33ef95d21fa5342cd1647fd81ff24
* | libstagefright: add ProcessInfo to get process priority.Ronghua Wu2015-03-163-66/+2
|/ | | | | Bug: 19620911 Change-Id: I240b814b8925b1d6266e6f998a7debd654a2145a
* Merge "nuplayer: remove prefill cache code"Chong Zhang2015-03-122-104/+27
|\
| * nuplayer: remove prefill cache codeChong Zhang2015-03-122-104/+27
| | | | | | | | | | | | | | | | | | | | it's only needed if we post Reset to GenericSource's looper, but we now do reset outside NuPlayer or GenericSource's looper. also don't allow buffering percentage to go backward unless there's seek or pause. Change-Id: I1a39df4bc0a685f76d8558c368db1bac92b490c2
* | Merge "NuPlayer: play out pending frames on discontinuity"Chong Zhang2015-03-126-59/+102
|\ \ | |/ |/|
| * NuPlayer: play out pending frames on discontinuityChong Zhang2015-03-106-59/+102
| | | | | | | | | | | | bug: 19567254 Change-Id: Iff689e1eea54283095068d68bcdff4c2674af554
* | Merge "libmediaplayerservice: fix deadlock in dump()"Vineeta Srivastava2015-03-111-0/+5
|\ \
| * | libmediaplayerservice: fix deadlock in dump()Ravi Kumar Alamanda2015-03-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: Calling dump function while the media clients (sessions) are created and destroyed will result in a deadlock. Description: MediaPlayerService::dump() takes Mutex while calling client::dump() and right after that the strong reference to client is cleared. If there are no references to client object at this moment (which is the case if multiple audio sessions are created and destroyed) then the client destructor gets called which tries to take the same Mutex resulting in a deadlock. Fix: Take a strong reference to client objects and release them only after releasing the Mutex. Bug: 18700631 Author: Sidipotu Ashok<sashok@codeaurora.org> Change-Id: I82c89771de352d2f0d914eb0a3b9fc7bfb6116b0
* | | Merge "mediaplayer: update mAnchorNumFramesWritten when anchor time is updated."Wei Jia2015-03-111-0/+1
|\ \ \
| * | | mediaplayer: update mAnchorNumFramesWritten when anchor time is updated.Wei Jia2015-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This will fix the max duration for anchor time. Bug: 19196501 Change-Id: I9b8e0775105e31d47d919afaf49ca1e3d608a2f6
* | | | stagefright: don't use ALooperRoster mutex for reply handlingLajos Molnar2015-03-106-13/+14
|/ / / | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "mediaplayer: move MediaClock from NuPlayer to libstagefright."Wei Jia2015-03-104-219/+1
|\ \ \ | |_|/ |/| |
| * | mediaplayer: move MediaClock from NuPlayer to libstagefright.Wei Jia2015-03-094-219/+1
| | | | | | | | | | | | | | | Bug: 19666434 Change-Id: I86865e594226419bbbbee217098f96434e43afbe