summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
Commit message (Collapse)AuthorAgeFilesLines
...
* | nuplayer: PCM offload fixesSteve Kondik2015-12-142-10/+13
| | | | | | | | | | | | | | * Fix PCM offload when passthrough isn't used (OMX decoder) * Fix resume of PCM offload after pause timeout Change-Id: I742eafd6ae8656fb214ba6b81cc63af57590c28c
* | nuplayer: Fix audio EOS notifiy on AudioSink not readyXiaoming Yang2015-12-141-0/+12
| | | | | | | | | | | | | | | | | | | | Audio EOS won't be notified by renderer if AudioSink is not ready and first buffer itself has EOS. Playback complete won't happen due to missing audio EOS. Hence, audio EOS needs to be handled and notified. Change-Id: I779c7034d1964485c2b064c0179d3cd341af5a5f CRs-Fixed: 801121
* | 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
* | stagefright: Additional fixes for extended offload supportSteve Kondik2015-12-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | * Fix compilation with debug enabled * Allow FLAC offload to be enabled independent of QCOM_HARDWARE, tested with the Nexus 5X and is working! * Disable the FLACExtractor if offload is enabled since it can only output decoded PCM. This will force FFMPEG to be used, which does everything we need for FLAC offload Change-Id: I7d71c153a6a6ea7df8e32bc73f5cbe9f51cdcf64
* | stagefright: Check vendor list for allowed encodersSteve Kondik2015-12-131-1/+2
| | | | | | | | Change-Id: Ie9ff0d275fc5f853c18fe4d5e590443d0c316e99
* | stagefright: Finish support for HEVC muxingSteve Kondik2015-12-131-5/+12
| | | | | | | | | | | | * Forward-port CAF L-MR1 code to fill in stubs. Change-Id: I6c07e803ad4fe3ef5286f61667b5ca11380db984
* | stagefright: Resurrect PCM offloadSteve Kondik2015-12-137-108/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | * Forward-port the open-source code from L which was moved to closed-source in M. This is being done out of necessity- the architecture chosen by Qualcomm is not optimal and doesn't work well with a singular codebase which attempts to service a large number of devices. * This patch brings in the code to support PCM offload (AudioFlinger bypass). This allows for playback of high resolution clips without decimation stages, and enables reduced power consumption for audio pipelines which take advantage of the Hexagon DSP (effects). Change-Id: I0ef15fc3df538ab723f3c12ce0ed71d0e607c99e
* | stagefright: Fix a few format strings on 64-bitSteve Kondik2015-12-131-1/+1
| | | | | | | | Change-Id: I25708df616fe53d709b80c65ddecbdddef303124
* | StagefrightRecorder: Add support for WAVE recordingMichael Bestas2015-12-122-0/+20
| | | | | | | | | | | | * Forward port the cm-12.1 code Change-Id: I77373a236108507b8fa76cc8d3016de36aade301
* | Merge tag 'android-6.0.1_r3' of ↵Steve Kondik2015-12-076-12/+31
|\ \ | |/ | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/av into cm-13.0 Android 6.0.1 release 3 Change-Id: I2f2a1fe1b58c828e8341556996211562d6e195ab
| * GenericSource: reset mDecryptHandle when mDataSource is cleared.Wei Jia2015-10-221-0/+1
| | | | | | | | | | Bug: 25070434 Change-Id: Ib0eb6a419683a0e686a4f63b82e9300cb1f69484
| * GenericSource: reset mDrmManagerClient when mDataSource is cleared.Wei Jia2015-10-191-0/+1
| | | | | | | | | | Bug: 25070434 Change-Id: Iade3472c496ac42456e42db35e402f7b66416f5b
| * NuPlayerDecoder: report error in case of audio sink open error.Eric Laurent2015-10-141-1/+4
| | | | | | | | | | | | Bug: 21093153. Change-Id: I77e03a620b43967991dcee9d6ca01f67c8b7a02e (cherry picked from commit 15ce09dddf830d6a6ca097c5ec0a7ec7c35b6b3a)
| * NuPlayerRenderer: do not send rendering started message when pausedAndy Hung2015-10-132-1/+11
| | | | | | | | | | | | | | Delay until resume. Bug: 23669269 Change-Id: I0a805812d80b1aad561425442bca0fc05a05752f
| * 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
| * | NuPlayer: reset mAudioEOS and mVideoEOS when renderer is flushed.Wei Jia2015-10-131-0/+6
| | | | | | | | | | | | | | | | | | Bug: 24749881 Change-Id: I0d3a757262446ac702dfebd464d5e59f1a98eba8 (cherry picked from commit 3261f0db54e31e652af9bd3b76a8e85174f5ee87)
| * | Merge "NuPlayerDriver: acquire mLock when needed." into mnc-dr-devWei Jia2015-10-131-1/+1
| |\ \
| | * | NuPlayerDriver: acquire mLock when needed.Wei Jia2015-10-131-1/+1
| | |/ | | | | | | | | | | | | | | | Bug: 24338126 Change-Id: Ic55d1a551c18255423423079b6c2bf045dea6e44 (cherry picked from commit f3631d2921ee0738f87427848e38873370ef9ec0)
| * | NuPlayerRenderer: always update MediaClock with max media duration.Wei Jia2015-10-131-9/+7
| |/ | | | | | | | | | | Bug: 24345295 Change-Id: I868c9c44ea22de98a083432262e485d0f134203f (cherry picked from commit d005c5ddb4842369979df7b76f1d0f5f1380fcd9)
* | Protect data source access with mutex during disconnectRobert Shih2015-12-072-8/+15
| | | | | | | | | | Bug: 23658148 Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
* | Tuning the number of packets for one read in StreamingSourceosamu fujita2015-12-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | Read performance in StreamingSource became worse from LMR1 because the design was changed to asynchronous from synchronous. As a result, the generation of access unit does not make it in time for some multiplexed contents, and this causes frame drop. This patch improves read performance by increasing the number of packets for one read. Change-Id: I14955da5a9c5415e35905cc95f1471e0811a4991
* | GenericSource: acquire lock only for assigning dataSource.Shivaprasad Hongal2015-11-301-3/+7
| | | | | | | | | | | | | | Acquire lock after DataSource::CreateFromURI() to avoid a deadlock/ANR as GenericSource::disconnect() also tries to acquire same lock. Change-Id: I28430800853ed11e0a37a8a38defab72470c3f6d
* | GenericSource: Hold an additional reference to dataSource.Shivaprasad Hongal2015-11-301-1/+6
| | | | | | | | | | | | | | | | | | | | mDataSource can be deleted by client thread while GenericSource looper is accessing dataSource in sniff functions, which can lead to race condition. Add local sp<> to hold an additional reference to dataSource. Change-Id: I9e51f75f3c2bd703e381230dd93cb4d3f6621dab CRs-Fixed: 923729
* | GenericSource: Synchronize access to dataSourcePraveen Chavan2015-11-302-10/+21
| | | | | | | | | | | | | | | | | | | | | | DataSource and HTTPSource can be accessed/modified by GenericSource's looper and Client's thread which can lead to race conditions when copying the sp<>. Add a Mutex lock to synchronize such accesses and avoid race conditions. CRs-Fixed: 906899 Change-Id: I2fb4b4a7079e638e151f4fe67a780007a4011652
* | NuPlayerRenderer: always display the first video frame without delay.Wei Jia2015-11-291-5/+10
| | | | | | | | | | Bug: 25357751 Change-Id: Iffd9af2ddf7626155d98caf086fe209600141585
* | Merge branch 'LA.BF64.1.2.2_rb4.8' of ↵Steve Kondik2015-11-292-43/+10
|\ \ | | | | | | | | | git://codeaurora.org/platform/frameworks/av into cm-13.0
| * \ Merge "nuplayer: Perform proper shutdown sequence for offload teardown"Linux Build Service Account2015-11-162-43/+10
| |\ \
| | * | nuplayer: Perform proper shutdown sequence for offload teardownHaynes Mathew George2015-11-122-43/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend shutdown sequence used for pcm offload to compress offload as well. The current tear down sequence for compress offload calls clear on the NuPlayerDecoderPassthrough object directly. This is not guaranteed to prevent an encoded buffer from getting queued into the Renderer. Going through a proper flush+shutdown sequence helps prevent this (rare) scenario. CRs-Fixed: 914308 Change-Id: Ie2040cbbd42b8c67bb53a7ef8a628faf1ab7acda
| * | | Merge "nuplayer: don't resume if player is reseting."Linux Build Service Account2015-11-132-1/+7
| |\ \ \ | | |/ / | |/| |
| | * | nuplayer: don't resume if player is reseting.Ronghua Wu2015-11-032-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | cherry-pick of AOSP commit b75de9d4ba6725104342b5376a1047ff1c9b2765 Bug: 24712426 Change-Id: I58cca0bde708a5c3b073ed77e18b62fe81d6c017
* | | | Revert "GenericSource: Synchronize access to dataSource"Manikanta Kanamarlapudi2015-11-242-23/+6
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a5c3b990807732d1c4a7c1290cba06a605675973. Change-Id: I1f267cf7ab90b1f5c38e0659df02c8ef518382ed
* | | | stagefright: Act V: I am become death, the destroyer of worldsSteve Kondik2015-11-247-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * In which our hero unites the legions of distant worlds together as one at last to fight anew until the segfaults boil the lands and the New Version cometh. Change-Id: I869b2ab254968ed7a133827ea9e5ba6056f68a5c
* | | | stagefright: Welcome to my nightmare, act IVSteve Kondik2015-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Standardize parameter names, clean up stub calls * Attempting to make QC's blob work. We've entered our last days on earth. All is lost, all is lost. Change-Id: Idef9aad100f414e64a737e0f0a8c9c112ad4cb46
* | | | Merge branch 'LA.BF64.1.2.2_rb4.7' of ↵Steve Kondik2015-11-163-13/+24
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | git://codeaurora.org/platform/frameworks/av into cm-13.0 Change-Id: Ia41df61c3ccfeb809572b63a4b1a8ca6bd85dfb2
| * | | Merge "nuplayer: Drop frames with DATACORRUPT flag"Linux Build Service Account2015-11-031-0/+8
| |\ \ \ | | |/ / | |/| |
| | * | nuplayer: Drop frames with DATACORRUPT flagShalaj Jain2015-10-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop frames in NuplayerDecoder if the corresponding OMX_BUFFERFLAG_DATACORRUPT is set from OMX. Add a util function to easily switch off this feature. Do not declare MediaSource explicitly. Change-Id: I97bd238d52d660e1ab61eac222cdff28334cc5cc
| * | | Merge "NuPlayer: use a generic funtion to get flags"Linux Build Service Account2015-10-301-1/+1
| |\ \ \ | | |/ /
| | * | NuPlayer: use a generic funtion to get flagsSidipotu Ashok2015-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a generic function to get flags while creating extractor, so that there is no restriction to a particular usecase. CRs-Fixed: 911338 Change-Id: I8520d2ea9b25ab564b7eee6610744fcaa364fe87
| * | | Merge "GenericSource: Hold an additional reference to dataSource."Linux Build Service Account2015-10-291-1/+6
| |\ \ \
| | * | | GenericSource: Hold an additional reference to dataSource.Shivaprasad Hongal2015-10-261-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mDataSource can be deleted by client thread while GenericSource looper is accessing dataSource in sniff functions, which can lead to race condition. Add local sp<> to hold an additional reference to dataSource. Change-Id: I9e51f75f3c2bd703e381230dd93cb4d3f6621dab CRs-Fixed: 923729
| * | | | Merge "GenericSource: Synchronize access to dataSource"Linux Build Service Account2015-10-292-5/+18
| |\ \ \ \ | | |/ / /
| | * | | GenericSource: Synchronize access to dataSourcePraveen Chavan2015-10-262-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DataSource and HTTPSource can be accessed/modified by GenericSource's looper and Client's thread which can lead to race conditions when copying the sp<>. Add a Mutex lock to synchronize such accesses and avoid race conditions. CRs-Fixed: 906899 Change-Id: I2fb4b4a7079e638e151f4fe67a780007a4011652
* | | | | stagefright: Squashed commit of pause/resume featuresSteve Kondik2015-11-076-2/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 2 APIs (suspend/resume) in MediaPlayer - API:suspend() will just pause the player and release all the decoders to replace release() which will release the whole player - API:resume() will just init the decoders again, then start() will be called to restart streaming playback - Add a check in AwesomePlayer::onVideoEvent() to make sure the first seek operation will always seek to the next i-frame Change-Id: Ie4c82906a2a056378119921a656128ebdc1007c4 audio: Add pause support for hardware omx component - ADSP doesn't enter sleep state after wma playback is paused and power suspended. - No support for NT session pause in case of hardware component. NT session need to be paused to put ADSP into power collapse. - Add support of pause in stagefright to ensure device enters suspend mode. Also add intermediate states to avoid concurrency issues between read and pause. Change-Id: I41b946b8c8805e6ee303646b63513b5b16514ef6 libstagefright: Drain input buffer on resume - Buffers returned from codec in paused state are not drained. When codec is resumed these buffers are not drained until the next flush, and may cause timed out issue. - Added change to drain input buffers for sw decoders when resuming. Change-Id: Ida2ab1d5dc3a1910accdd6fb89548262a912d8e7 CRs-Fixed: 569585, 574967 libstagefright: camcorder pause-resume implementation - Add pause resume feature in camcorder app. So that user can pause recording and resume later which results in a single recorded clip. Change-Id: Id19c45ae5bb85265aa4d5304b160ebf119d9575a libstagefright: support pause/resume for timelapse recording Modify the timestamp calculation mechanism in CameraSourceTimeLapse in order to support pause/resume. Change-Id: Icb02ea798b0b807ffb7ada2d1ef5b2414b74edfb
* | | | | Play timed text even after 35.79 minutesPatrik2 Carlsson2015-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | int overflow when converting current position in ms to Us Change-Id: I12882e52ed1ac92644d601efae5c10ec25ae9e63
* | | | | libstagefright : fix the bug of wrong value setting for slice-heightxrwu2015-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2ad0fa6039fb3b31e7dbfdcf15be4703664da04d Signed-off-by: xrwu <xellos.1983@gmail.com>
* | | | | Don't send OnCompletion events when loopingMarco Nelissen2015-11-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AwesomePlayer never did, and neither should NuPlayer. Bug: 18656047 Change-Id: Ia9abe42cfe6ea643633cec859e9da770092569bb
* | | | | nuplayer: don't resume if player is resetingRonghua Wu2015-11-052-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Bug: 24712426 Change-Id: I58cca0bde708a5c3b073ed77e18b62fe81d6c017
* | | | | Merge tag 'android-6.0.0_r26' into cm-13.0Ricardo Cerqueira2015-11-053-3/+40
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Android 6.0.0 release 26 Change-Id: I8a57007bf6efcd8b95c3cebf5e0444345bdd4cda