summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* nuplayer: looping playback only if it was runningWeiyin Jiang2016-01-181-5/+12
| | | | | | | | | | | | | | Audio buffer filling in renderer is still happening, though pause was issued. As a result, EOS was reported irrespective of renderer state. If nuplayer driver receives playback complete after stopped, it will again be activated, which appears stop is not taking effect. Add a check for driver state to allow looping only if it was in running state. Change-Id: Ic9f8eac635a774cd805b3978fab640d73ae35744 CRs-Fixed: 958311
* NuPlayer: Don't maintain timeStamp if state is runningSharad Sangle2015-12-141-1/+3
| | | | | | | | | | | | | While offload playback is going on, if user seeks to new position and after playback for some time, pauses till offload tear-down happens then playback resumes with old seek position The book-keeping of seektime for start of playback mStartupSeekTimeUs is also done in running state, it should be done only if current state is paused. Change-Id: I4173a2ee4244bcc6794822dde24c467f0189b84f
* NuPlayerDriver: Maintain the timeStamp after seekSharad Sangle2015-12-141-0/+1
| | | | | | | | | | | | | | 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 wich is used while starting the playback after resume. Change-Id: I3451051f569264b21a43be81b01798fabed0182e
* Merge tag 'android-6.0.1_r3' of ↵Steve Kondik2015-12-071-1/+1
|\ | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/av into cm-13.0 Android 6.0.1 release 3 Change-Id: I2f2a1fe1b58c828e8341556996211562d6e195ab
| * Merge "Don't send OnCompletion events when looping" into mnc-dr-devMarco Nelissen2015-10-131-1/+2
| |\
| | * Don't send OnCompletion events when loopingMarco Nelissen2015-10-131-1/+2
| | | | | | | | | | | | | | | | | | | | | AwesomePlayer never did, and neither should NuPlayer. Bug: 18656047 Change-Id: Ia9abe42cfe6ea643633cec859e9da770092569bb
| * | NuPlayerDriver: acquire mLock when needed.Wei Jia2015-10-131-1/+1
| |/ | | | | | | | | | | Bug: 24338126 Change-Id: Ic55d1a551c18255423423079b6c2bf045dea6e44 (cherry picked from commit f3631d2921ee0738f87427848e38873370ef9ec0)
* | Don't send OnCompletion events when loopingMarco Nelissen2015-11-051-1/+2
| | | | | | | | | | | | | | AwesomePlayer never did, and neither should NuPlayer. Bug: 18656047 Change-Id: Ia9abe42cfe6ea643633cec859e9da770092569bb
* | avextensions: Add support for Codec Extension featuresShalaj Jain2015-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | Add support for Codec extension features like skype, vqzip, b-frame encoding, prefer adaptive playback etc. Add extensions to support encode batching. Also enable Werror for libavextensions. Change-Id: Ia342d4abe4bb1e21b9ff2b8213fb96421485a333
* | RTSP: add RTSP extensions for customization supportLi Sun2015-10-061-0/+3
| | | | | | | | | | | | | | | | Add extensions for customization support in rtsp stack. Provide default implementations in AVMediaServiceUtils. Change-Id: I67adeb54b35d1f01911625bb9bad27e94ad0caf0
* | Stagefright: Make classes customizable and add AV extensionsPraveen Chavan2015-10-061-1/+3
|/ | | | | | | | | | | Change access modifiers and qualify methods with virtual, to allow extensions. Add facility for loading customizations (Extended classes) dynamically. Conflicts: media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp Change-Id: Icc8965754fb1c73175a13a9ad24c19665ad60988
* libmediaplayerservice: propagate caller pid to MediaCodec.Ronghua Wu2015-07-211-2/+2
| | | | | Bug: 22630317 Change-Id: I0337d74f4ef04bf96f2de83f33d98d0d7da47c12
* NuPlayerDriver: add more logging.Wei Jia2015-06-111-1/+2
| | | | Change-Id: Ib80a42b4e46b4e2bea02d9a002228a058d1fa211
* NuPlayer: print player stats at the end of playbackPraveen Chavan2015-06-101-8/+27
| | | | | | | Print stats at the end of playback if the shell property persist.debug.sf.stats is set Change-Id: Ie4250bf86b12af75c16f108ca09ad02b3e44fd29
* NuPlayer: Enhance dumpsys statisticsPraveen Chavan2015-06-101-9/+35
| | | | | | | | Account for dropped output-frames (rather than input-frames) in percentage dropped frames. Print mime and component name for each active track Change-Id: I3491d336c696d8ed0fd1503b80afe1df47c787c8
* mediaplayer: display one frame when seek is called before start.Wei Jia2015-05-211-12/+2
| | | | | Bug: 18608164 Change-Id: I83252421278aeeb1c1611138994bfdaf86d7a363
* stagefright: support setting/getting playback/sync config in MediaSyncLajos Molnar2015-04-301-3/+26
| | | | | | | Bug: 18249558 Bug: 19666434 Bug: 20057497 Change-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605
* 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
* Unhide the android.media.[Media]DataSource interface.Chris Watkins2015-04-151-0/+19
| | | | | | | | | | | | | | | | | | | | | 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 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
* mediaplayer: support dynamic playback rateWei Jia2015-02-241-0/+5
| | | | | | Bug: 19196501 Change-Id: I856b1507d5fa2cedfb645706d2435683a7d3e050
* resolved conflicts for merge of 9391844d to masterMarco Nelissen2015-01-271-2/+1
|\ | | | | | | Change-Id: I348a71d1b3e3238bc3871a69454edc8247d03111
| * resolved conflicts for merge of b955b722 to lmp-mr1-dev-plus-aospMarco Nelissen2015-01-271-2/+1
| |\ | | | | | | | | | Change-Id: I385371869169eee4fe6330ffe0abc5eda4cb4f72
| | * am 47deb15e: Merge "Remove MediaPlayerService::decode()"Marco Nelissen2015-01-271-2/+11
| | |\ | | | | | | | | | | | | | | | | * commit '47deb15e99cbf60e558027e074b7415c95637943': Remove MediaPlayerService::decode()
| | | * Remove MediaPlayerService::decode()Marco Nelissen2015-01-261-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and make SoundPool use MediaCodec for decoding files to PCM. Bug: 18239054 Change-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310
| | | * DO NOT MERGE - NuPlayer: invalid anchor time when render is flushed.Ronghua Wu2014-12-181-0/+7
| | |/ | | | | | | | | | | | | | | | | | | Also rememeber the pause time in NuPlayerDriver. Bug: 18436336 Change-Id: If09f680a0d0f9137bd55c5f94201eb3aa783278a
* | | am bae511e3: am 4af263bd: am ad019236: Merge "NuPlayer: reports paused ↵Wei Jia2014-12-191-1/+10
|\ \ \ | |/ / | | | | | | | | | | | | | | | position in paused state." into lmp-mr1-dev * commit 'bae511e3b982355fbc75ae2ba13bb88feab9fe8c': NuPlayer: reports paused position in paused state.
| * | NuPlayer: reports paused position in paused state.Wei Jia2014-12-191-1/+10
| | | | | | | | | | | | | | | Bug: 18733773 Change-Id: I993a4bf108913ab98a0294d7dcf7605349f7029b
* | | am f108dc85: am 7966142a: Merge "NuPlayer: invalid anchor time when render ↵Ronghua Wu2014-11-211-0/+7
|\ \ \ | |/ / | | | | | | | | | | | | | | | is flushed." into lmp-mr1-dev automerge: 2a424d6 * commit 'f108dc85443936ca219567cc3a8556daa4a20fb3': NuPlayer: invalid anchor time when render is flushed.
| * | Merge "NuPlayer: invalid anchor time when render is flushed." into lmp-mr1-devRonghua Wu2014-11-201-0/+7
| |\ \
| | * | NuPlayer: invalid anchor time when render is flushed.Ronghua Wu2014-11-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also rememeber the pause time in NuPlayerDriver. Bug: 18436336 Change-Id: If09f680a0d0f9137bd55c5f94201eb3aa783278a
* | | | am dae9df0a: am db95b7db: am ba0790bf: Merge "Don\'t autoloop notifications" ↵Marco Nelissen2014-11-191-0/+10
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | into lmp-mr1-dev * commit 'dae9df0a67acae245a81a8a1404b14044eb5f5b4': Don't autoloop notifications
| * | | Merge "Don't autoloop notifications" into lmp-mr1-devMarco Nelissen2014-11-191-0/+10
| |\ \ \
| | * | | Don't autoloop notificationsMarco Nelissen2014-11-181-0/+10
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some apps think it's cool to use ringtones as notification sounds, but ringtones often loop, which is not appropriate for notifications. Bug: 15929273 Change-Id: I77c4277801cb2561743f8c676ef76ab4d1668b08
* | | | am fab5ad93: am 2f65ada8: am 993d57ec: Merge "NuPlayer: pass media time to ↵Robert Shih2014-11-191-2/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | selectTrack for responsiveness" into lmp-mr1-dev * commit 'fab5ad9331de20b82b02aac4bc73cccf7054fd38': NuPlayer: pass media time to selectTrack for responsiveness
| * | | NuPlayer: pass media time to selectTrack for responsivenessRobert Shih2014-11-191-2/+5
| |/ / | | | | | | | | | Bug: 18020001 Change-Id: Id50f8473992f39d8c0aa86a1fabb2601093d2572
* | | am cea67364: am 233ef496: Merge "Fix looping sound playback" into ↵Marco Nelissen2014-11-121-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | lmp-mr1-dev automerge: 538596f * commit 'cea67364cee2c8e2e9baae86276cdeb0e13c8c0d': Fix looping sound playback
| * | Fix looping sound playbackMarco Nelissen2014-11-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The renderer stops the audio sink at the end in order to play out the last little bit of audio. When the sound is looping, the sink needs to be restarted. Bug: 18326137 Change-Id: I3bc3629597fc43cce33bdf5691d29cc4c2285926
* | | am 0307c3ce: am 97d84d7f: am cde2b722: Merge "NuPlayer: merge start() and ↵Wei Jia2014-10-311-18/+13
|\ \ \ | |/ / | | | | | | | | | | | | | | | resume()." into lmp-mr1-dev * commit '0307c3ce5be18d83093e0e45b8cbd90caf30c4fc': NuPlayer: merge start() and resume().
| * | NuPlayer: merge start() and resume().Wei Jia2014-10-281-18/+13
| |/ | | | | | | | | | | | | NuPlayerDriver: allow seekTo called in STOPPED_AND_PREPARED state. Bug: 18127606 Change-Id: I92ff9f7e0a176c434202762d30966d8c4643d1ef
* | am f4e2e282: am cd559cc6: am c3340b80: am 1375ac6d: Merge "NuPlayer: query ↵Lajos Molnar2014-10-151-73/+21
|\ \ | |/ | | | | | | | | | | current position from NuPlayerRenderer." into lmp-dev * commit 'f4e2e282b7a695e2dec16961748ea2469a220ad3': NuPlayer: query current position from NuPlayerRenderer.
| * Merge "NuPlayer: query current position from NuPlayerRenderer." into lmp-devLajos Molnar2014-10-141-73/+21
| |\
| | * NuPlayer: query current position from NuPlayerRenderer.Ronghua Wu2014-10-131-73/+21
| | | | | | | | | | | | | | | Bug: 17653702 Change-Id: Ie0b1f92420b071a0cfcd389f5e7917a54d332541
* | | am e2a11aea: am 45b94402: am 2fa84b0b: am e760de61: Merge "NuPlayerDriver: ↵Wei Jia2014-10-141-2/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | request seek notification when prepare*() is called in STOPPED state." into lmp-dev * commit 'e2a11aea42e3fca474e737717dd471baa2c22861': NuPlayerDriver: request seek notification when prepare*() is called in STOPPED state.
| * | Merge "NuPlayerDriver: request seek notification when prepare*() is called ↵Wei Jia2014-10-131-2/+2
| |\ \ | | |/ | |/| | | | in STOPPED state." into lmp-dev
| | * NuPlayerDriver: request seek notification when prepare*() is called in ↵Wei Jia2014-10-131-2/+2
| | | | | | | | | | | | | | | | | | STOPPED state. Bug: 17596535 Change-Id: Ib43f91f9b0d0a52112aa1fa8352adac15aaf80f8
* | | am 9da6c242: am 595a5c70: am 73d0a798: Merge "NuPlayer: wait for renderer ↵Andy Hung2014-10-071-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | flush before decoder shutdown" into lmp-dev * commit '9da6c242c6979a52bccb60776b993b2282461b0c': NuPlayer: wait for renderer flush before decoder shutdown
| * | NuPlayer: wait for renderer flush before decoder shutdownAndy Hung2014-10-061-1/+1
| |/ | | | | | | | | Bug: 17679341 Change-Id: Ie3883686891e7ee6fb45ceb01af1eb60b559d3a0
* | am d7bdfd7d: am cfe3ba6b: am d8b03abf: Merge "NuPlayer: Fix flush mode ↵Andy Hung2014-10-021-3/+16
|\ \ | |/ | | | | | | | | | | decoder error handling" into lmp-dev * commit 'd7bdfd7d33789965988079e3a03ec1233f1f5896': NuPlayer: Fix flush mode decoder error handling
| * NuPlayer: Fix flush mode decoder error handlingAndy Hung2014-10-011-3/+16
| | | | | | | | | | | | | | | | | | | | Explicitly handle each flush mode upon decoder error. Do not clear out affected decoder immediately. Alter logcat messages for better diagnostics. Bug: 17638878 Bug: 17679341 Change-Id: I219796c04d65d7c4dd61c0d4f99f9f580241a68b