summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Add camera parameters for htc evo 3D. (1/2)Kevin Bruckert2013-04-283-1/+27
| | | | | | Use BOARD_HTC_3D_SUPPORT to enable. Change-Id: I28fa3f1586071bcc78b8e887bbbf699d338a0ceb
* libmedia: Add ICS AudioStreamType constructorArne Coucheron2013-04-281-0/+7
| | | | | | Needed for Samsung legacy camera libs. Change-Id: If03d8525b55181ea20dc934dbcbfef85402c42c7
* OMXCodec: Re-implement requires-flush-before-shutdown quirkPawit Pornkitprasan2013-04-241-0/+4
| | | | | | | Support is already there, but is not in the codec quirk reading list. Re-implement it as required by Broadcom's OMX Change-Id: I1beac06af8118dcf0c248b631bc8e6dbbab2c1d5
* libstagefright: Squashed audio fixes from CodeAuroraHaynes Mathew George2013-04-087-83/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libstagefright: Return seek position until seek has been processed If it so happens that the client to TunnelPlayer (e.g. AwesomePlayer) queries for the current time before data from the new seek position is given to the compressed driver, we need to return the seek position Change-Id: If709e61f67cc8e81d34c14d19145dc61ecd82c2b CRs-Fixed: 454825 libstagefright: Use 64 bit offsets only when needed. For enabling >2GB recording, 64 bit offsets are needed for file writing. So, this feature was turned on by default. This in turn increased the file size. With this change, by default this feature will be off and turned on only when required. - Use 64 bit offsets for resolutions >= 720p. - Limit maximum file size for recording to 4GB. - Set max file size only if no value is set from the client. - Fix MPEG4Extractor to use 64 bit offsets CRs-Fixed: 273144, 285785, 288319 (cherry picked from commit 04476a3fb89dfbb025f7852dd4d62cae72385f1a) Change-Id: I00af2c7cddbbf86c566fe4bb989fe728ca06dd19 libstagefright: TunnelPlayer sync fix - Allow close on the AudioSink to be called from the extractor thread and the application thread. - This fixes a race condition where an onPauseTimeout event scheduled from the main thread closes the audio sink while the extractor thread was about to issue write() on audio HAL. (note: on HAL, not audio sink) Change-Id: I22a5c655dfcb40f3cbda3765dc23ad8e6f99c9bb CRs-Fixed: 443205 Frameworks/av: Fix to prevent deadlock in AudioEffects -Write is blocked waiting for effect chain lock and this causes decoder thread to wait indefintely. -Sometimes it is observed that effectschain is locked before mLPAEffectChain is initialized and but unlocking is skipped if mLPAEffectChain is initialized in between.Due to this LPA silence and framework reboot issues are observed as applyEffectsOn() cannot acquire lock to progress further. -Use flag to check if all effects have been locked and unlock accordingly to prevent the deadlock scenario. (cherry picked from commit 011db22abf565dfbe7f9d0a5c7af7564587b3b48) Change-Id: I82cfdab045ecf077f0ba0185fc693fc623fa10db CRs-Fixed: 435661, 435664, 435680, 430309 audio: Use tunnel player only for music stream - Check stream type before creating tunnel player to use tunnel player only for STREAM_MUSIC Change-Id: I6e4b58524e61441ad2e09499bd9187c6dd56cd3d framework/av: Fix for audio recording test through CTS - Issue: Failure in stop is observed with the audio recording test through CTS. TestScenario: When the audio record test is initiated in the CTS console, the recording session is force closed with a notification File Size limit exceeded. Further, the stop fails with the same message(notification of the File size exceeded error). - Cause: The calculation of nTotalBytesEstimate for the recording session exceeds the limit 95 percent of mMaxFileSizeLimitBytes. As a result of size deficit, the recording is stopped at the beginning of the recording session notifying MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED. - Fix: The factor size used in the calculation of nTotalBytesEstimate has been updated properly for 64bit file offset setting. The setParam64BitFileOffset in StagefrightRecorder::prepare() is executed based on two additional validations so that the factor size is updated appropriately. Change-Id: I4749ce8f9735ccc9e1d9e49718c36470837ab27f CRs-Fixed: 396057 audioflinger: apply volume on direct track when track is active During back to back tunnel playback, we encounter a race condition where setVolume can be called when the track is not updated to active state. Fix to apply the volume on direct track only when the track is in active state. Change-Id: I70c289fbf8a9266bae0bd01b04be9f43ad32c70d CRs-Fixed: 464148 LPAPlayer: Update condition to ignore seek - Reject seek if the new seek time is greater than the current position and within an empirical limit (default 60ms). - This limit must be measured for each target. Change-Id: I86b44679fb5fe442bb5adb510c62514f6be3d304 CRs-Fixed: 453067 audioflinger: for DirectAudioTrak, call startOutput before stream is active For LPA and Tunnel playback, when resume is done in paused state, before starting actual playback, volume should be set through AudioPolicy command thread. Change-Id: I7ee1098058c01a35a3e7181d3b291304abf3cac1 CRs-Fixed: 464348
* Silence error when DASH player isn't presentSteve Kondik2013-04-081-3/+1
| | | | Change-Id: I9e5c22af1a5cf916b0efaec7ca1c5f48f6d0c82a
* MediaScanner: Ignore dirs with .noscanandnomtpDavid Daynard2013-03-241-0/+12
| | | | | | | | | | | | | | Completely ignore directories with .noscanandnomtp files in them. Placing a .nomedia file will still scan a directory but exclude it from the media database. This is so the file may still be presented for MTP purposes. Placing .noscanandnomtp completely prevents the scan, which saves considerable processing power and battery life on systems with numerous media files, but prevents them from being seen over MTP. Change-Id: Ibff2a9f2525255a2ac34132eeee36734962fbdd7
* qcom-fm: audio: add support for FM featureMingming Yin2013-03-066-3/+400
| | | | | | | | | | Change-Id: Idd5c7a0364710d54809ef5d4c7b2404b22dc4cf6 Conflicts: include/media/IAudioFlinger.h media/libmediaplayerservice/StagefrightRecorder.cpp media/libstagefright/Android.mk
* audio: Subsystem Restart changesRavishankar Sarawadi2013-03-044-3/+52
| | | | | | | | | | | | | | | | - Handle new ADSP status parameter - media/libmedia: Add new ADSP status audio parameter - framework/av: Add handling of new key-pair value in Audio Flinger - Handle Tunnel mode SubSys Restart - framework/av: Post SSR event to Audio Flinger - media/libmedia: Post SSR event to AudioTrack - media/libmediaplayerservice: Post SSR event to MediaPlayerService - media/libstagefright: Post SSR event to TunnelPlayer Change-Id: I8c8385af45be91caf7d7160ab2e0236d6591b159
* libstagefright: Stop the logspam from LPAPlayerSteve Kondik2013-02-271-2/+2
| | | | Change-Id: Id6319774806e152333d468b9ff62d148e476555a
* libstagefright: Fix incorrectness nPortIndex value for QueryCodecYuanQY2013-02-271-1/+1
| | | | | | | The query index is wrong, it will make a death loop in my ME722 when get resource thumbnail for MPEG4 video. Change-Id: I64532156e762b847a8eae59560fb828549c29519
* libstagefright: Squashed commit of LPA/tunnel updates from CAFHaynes Mathew George2013-02-274-98/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libstagefright: Exceptions in using Tunnel mode decode - Accumulate all known exceptions to a separate function Change-Id: I61bbc288c9a087559db210e76141b8c57e67fff0 CRs-Fixed: 432080 libstagefright : Stability fixes for Tunnel Player (part 2) - Synchronize b/w reset() and onPauseTimeout - Synchronize b/w seekTo() and onPauseTimeout Change-Id: Ia5cfc6b4dcc326ead440fba35d809d4f3f1b5a81 CRs-Fixed: 449122 Revert "Revert "libstagefright: Convert mono to stereo for LPA clips"" This reverts commit 0db8a19fb3216a8a83d5d6cbd5f1ccbf997a20d8. libstagefright: Port Tunnel mode fixes to LPA - Miscellaneous fixes for seek, pause/resume, EOS handling - Miscellaneous fixes for synchronization between the decoder thread, TimedEventQueue and the player thread. - This change is a port of a similar set of changes made for TunnelPlayer Change-Id: I82c2904f7aedfb9c4f03200419fcba8b038e3d54 libstagefright: Avoid use of extra bytes to signal seek processed - A few bytes were reserved in the buffer sent by Tunnel/LPA player to audio HAL to indicate a seek has been processed and there is no need to skip it. - We won't need this method anymore as this can be fixed instead by synchronizing seekTo() and the extractor/decoder threads. Change-Id: Ic02ae1699bb59e2f6b8d9fb599d0fa43fd3f19e3 libstagefright: LPAPlayer synchronization fixes - synchronize b/w seekTo() and onPauseTimeout() - synchronize b/w reset() and onPauseTimeout() Change-Id: I29a4ccf02e28fe7b7c00e35a679ff2b5271ffb6f libstagefright: TunnelPlayer performance tweaks Some tweaks when TunnelPlayer is used for audio/video playback - Keep the extractor thread at ANDROID_PRIORITY_NORMAL - sched_yield() after reading a frame to give the video thread(s) (CallbackDispatcher and/or TimedEventQueue) to be scheduled Change-Id: If0d86d629fd0e15aff917af8589472578cd28bf4 CRs-Fixed: 444041
* libstagefright: Check for duration > 0 to avoid DivideByZero crashvivek mehta2013-02-191-1/+1
| | | | | | | | | - duration = 0 can cause divide by zero and for this clip duration is indiacted as 0. - check for duration > 0 rather than duration >= 0 Change-Id: I58ccacbf7ede892dff9626715162ea7b1f2ddbc6 CRs-Fixed: 451855
* libstagefright: Add support for frame-by-frame modeShalaj Jain2013-02-195-4/+37
| | | | | | | - Set decoder in frame-by-frame mode always, except for interlaced content, for which arbitary mode should be set Change-Id: I8195a40549898b43a0e03d65663c7148f458c448
* ACodec: Support for dynamic port reconfigApurupaPattapu2013-02-191-2/+165
| | | | | | | | | | | - On port settings changed first flush output port - Move ACodec to new state called FlushingOutputState - Flush all output buffers, wait till all decoded buffers are rendered - Then disable output port, and allocate output buffers with new resolution, and reset native window Change-Id: Iafa266371ed2a87b909fbcb4eeae6b64208df617
* libmediaplayerservice: Add new player for DASHAjit Khare2013-02-192-0/+26
| | | | | | | | | - Add new player factory to support dash playback. - DASH urls end with .mpd. When media player receives an url with .mpd, it will use new factory to instantiate the player to be used for supporting DASH playback. Change-Id: I69e5a08fb2baf89d97b1e0711dbe52a8b1c39c29
* libstagefright: Adjustment for TunnelPlayer buffer sizeHaynes Mathew George2013-02-161-1/+1
| | | | | | | | | | - Make necessary adjustments to align the buffer size for TunnelPlayer to satisfy the following conditions - Buffer size is a multiple of LCM(1,2,4,6,8) - Buffer size is aligned to 4k. CRs-Fixed: 447274, 442365 Change-Id: I1b7f9ac3cf8ff86f972a8b6798bfcff3a4ba7c64
* Merge "fmradio: use caf naming" into cm-10.1Giulio Cervera2013-02-161-1/+1
|\
| * fmradio: use caf namingGiulio Cervera2013-02-141-1/+1
| | | | | | | | Change-Id: I9e0fefa3f2dabe991c6be63ab13a18ca38c37f71
* | Merge tag 'android-4.2.2_r1' of ↵Steve Kondik2013-02-1247-385/+1249
|\ \ | |/ |/| | | | | | | https://android.googlesource.com/platform/frameworks/av into 1.1 Android 4.2.2 release 1
| * Bug fix for the MediaPlayer::prepare() api.Dylan Powers2012-11-293-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For an MP3 source, within the prepare command, ID3 tags are checked in search of gapless playback info. This causes problems for streamed sources. If ID3v2 tags aren't present, then a check is done for ID3v1 tags. This results in a read command that asks the cache to jump to the end of the file, and subsequently make an extra http call to request those bytes. For a streamed source, this causes the file to not be downloaded automatically when MediaPlayer::prepare() is called, and causes stuttering and extra buffering time to be needed when start() is finally called. The solution is to ignore the ID3v1 tags as the gapless info would never exist there, and only check for ID3v2 tags. Cherrypicked from external contribution ffd6ffc5429c45577fd8e9f8fa90e79bb91b8a84 b/7638165 Change-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20
| * Merge "[wfd] Support a low(er) power state by triggering PAUSE/RESUME." into ↵Andreas Huber2012-11-299-30/+264
| |\ | | | | | | | | | jb-mr1.1-dev
| | * [wfd] Support a low(er) power state by triggering PAUSE/RESUME.Andreas Huber2012-11-299-30/+264
| | | | | | | | | | | | | | | Change-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727 related-to-bug: 7638150
| * | Enable retransmission of UDP packets in case we want to use itAndreas Huber2012-11-291-1/+1
| |/ | | | | | | | | | | | | in our upcoming wfd _sink_ implementation. Change-Id: I4509c30d5a7b992bc841b73d63db902bbcf8f76a related-to-bug: 7638155
| * Merge "Reduce the frequency of IDR frames and add intra-fresh mode support ↵James Dong2012-11-281-1/+18
| |\ | | | | | | | | | for WiFi display" into jb-mr1.1-dev
| | * Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi ↵James Dong2012-11-281-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | display The time interval between periodic neighboring IDR frames is increased from 1 second to 15 seconds. o related-to-bug: 7524791 Change-Id: Ic32f37448f952f329549eda5e73637ee3b02f046
| * | Added optional intra macroblock refresh support for encodingJames Dong2012-11-281-1/+49
| |/ | | | | | | | | | | o related-to-bug: 7524791 Change-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f
| * Add support for HLS playlists of type 'event'.Andreas Huber2012-11-2721-45/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Merge "Properly signal an error if codec configuration goes wrong." into ↵Andreas Huber2012-11-141-1/+6
| |\ | | | | | | | | | jb-mr1.1-dev
| | * Properly signal an error if codec configuration goes wrong.Andreas Huber2012-11-141-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | previously any error signaled by setupXXX inside ACodec::configureCodec would be overwritten with the result of setMinBufferSize at the end of the function. Change-Id: Id4beb571ca52ea4646239d0af006e09ce1130268 related-to-bug: 7542181
| * | Various improvements of wifi display codeAndreas Huber2012-11-1316-302/+633
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - manually prepend SPS/PPS if encoder doesn't support it - latency improvements - support for "our" method of optional RTP retransmission - improvements to the wfd commandline tool for testing - make it easier to turn on/off suspension of the video pipeline on idle - fixes an issue where an error during encryption would cause a SEGV - add HDCP descriptor if necessary Squashed commit of the following: commit 1115be0ebb3b885b4f1b7dba56761ca013d0ec4a Author: Andreas Huber <andih@google.com> Date: Fri Nov 9 11:32:23 2012 -0800 Better shutdown of wfd -l sessions. Change-Id: Id898a14ae21efd3b065b00a729830063d39195a7 commit 0e7d106dfe4eb6e2640b0b66c65deaba265f7ff0 Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 16:38:55 2012 -0800 No more sending delay, create rtp packets upfront. Change-Id: I809a225f664fdb485c7d9a49a27886601a6a26b2 commit d399e8571b77353d59afb57508dfd2a82c1ef93a Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 14:19:43 2012 -0800 Restore AudioSource buffer size, factor out TimeSeries, make suspending video optional. Change-Id: Ifdfe4d447b901e714abf52856b4641d1d55a5d41 commit f8b649f0b8f917d59f4b8a2e8e6d7db61a684a78 Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 09:34:06 2012 -0800 Pull 480 frames at a time from AudioSource/AudioRecord Change-Id: I1e215abd329faec3da026631122c0f4c800c0ac4 commit 1bc13452eb35eebbba00f5da93fa86535be5db59 Author: Andreas Huber <andih@google.com> Date: Thu Nov 8 08:50:30 2012 -0800 fixed bitrate traffic simulation Change-Id: Ic5efb7cbb0b5d3b4917bc77b8ba73d447249e695 commit 016cdff18e74bdc631a5679e97192645ed095aa2 Author: Andreas Huber <andih@google.com> Date: Wed Nov 7 14:00:03 2012 -0800 resurrected "our" style of retransmission. Change-Id: I34d757aba67428437cb39b8293a9651750ad20d9 commit 384cf1a3c8fb4ec410bdf8fa5722c298e6028f3e Author: Andreas Huber <andih@google.com> Date: Tue Nov 6 09:38:55 2012 -0800 Changes to make wfd work on manta. Change-Id: I7a4e00cf16581fe2146edd1b359af195774090e4 commit 9628f24b22b35f28630d99dda3614babf51bc07e Author: Andreas Huber <andih@google.com> Date: Wed Nov 7 09:15:44 2012 -0800 Patch up rtp timestamps to more accurately measure network jitter. Change-Id: I9502a4615575f97f98a215a13131a89a6ae93c6d commit 7c891a1a24f08bbd50f55be13f7d05f43e807eb8 Author: Andreas Huber <andih@google.com> Date: Tue Nov 6 09:37:24 2012 -0800 Additions to the "wfd" tool to create a local wfd source. Change-Id: I99558653a70fdc703f9d13990b3ce1c4d3ae227a Change-Id: Ia94c63fc390f597014531073485f0cfc53b3418a
| * Ignore SIGPIPE during write() to broken pipeGlenn Kasten2012-11-061-0/+1
| | | | | | | | | | | | | | This happens occasionally when taking a bugreport. Bug: 6447319 Change-Id: Ia6531a4a3658461f8fd3f7106e7996da7cc5933a
* | stagefright: Fix tunnel mode ifdefsSteve Kondik2013-02-061-5/+4
| | | | | | | | | | | | * Was breaking on 8660 due to previous commit. Change-Id: Ia9f5c45552cc933db336a66b6d1214b65e810488
* | Merge "Fix mako build." into cm-10.1Steve Kondik2013-02-062-8/+7
|\ \
| * | Fix mako build.Danny Baumann2013-02-062-8/+7
| | | | | | | | | | | | Change-Id: Ic73cb2f4152ac77a83fcda7e89b4a8202df440c6
* | | Revert "libstagefright: Convert mono to stereo for LPA clips"Ricardo Cerqueira2013-02-061-52/+16
|/ / | | | | | | Change-Id: Ib6cc3401c889a8ec52dc83e3bea367f94a582a40
* | Squashed commit of updates from CodeAuroraMingming Yin2013-02-0615-72/+917
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | auido: Add amr-wb+ codec to ACodec. -Add an entry for amr-wb+ decoder in ACodec. -amr-wb+ non tunnel will be enabled by default. Change-Id: Ied8902eb83da29a3164eb99e88630570a43f681e libstagefright: Create MP3 decoder libraries without OMX layer - With the current MP3 OMX SW decoders, the decoding time is increased w.r.t the libraries without OMX layer that are present in GB. This increase in decoding time results reduction in power savings in LPA mode. - This commit is to remove OMX layer for MP3 to reduce the power consumption in LPA mode Change-Id: I835ab6d013a326f111e513586f884bacd5f7106a audioflinger: EffectModules are updated with device change Issue: Effects modules are not updated with the device change information Fix: 1) Add setDevice information to mLPAEffectChain 2) Remove the return after sending the device route information to Direct track so that mixer thread is also aware of the device change for EffectsChain Change-Id: I82936cd47290946a5e4772e448669d81e0e4d6f5 libmedia : Add a NULL pointer check - Print frame count in AudioTrack::dump() only if the control block is valid Change-Id: Icf594eb721b48795c43d7bd165f6086031ce6efd CRs-Fixed: 435050 libstagefright: Query AudioSystem for suggested record mute duration - AudioSource mutes a pre-defined duration (defined by kAutoRampStartUs) at the beginning of a recording. - Instead, query the audio system for any ongoing playback streams and use its output latency to calculate the duration to mute the incoming PCM stream. - This assumes all current playback threads will be paused once recording is started. Change-Id: Ie9b1d62e7be803ef1d8a59127b95c73e03fa5ce6 CRs-Fixed: 438149 libstagefright: Convert mono to stereo for LPA clips - Sound effects are not supported for mono clips - Repetative calling of effects_configure and effect_process for mono clips is resulting in crash in the sound effects library. - So, Mono clips are now converted to stereo by copying the left sample to right. - This is same as what Resampler does in Non-LPA Playback. This commit is a port of fcc0647fab20ceaf1c07bc10bb243f14c48b114c CRs-Fixed: 421639 Change-Id: Ie579c8d11afe3db8d42a35956e8bf23eeb88cfe6 audioflinger: Fix to set volume from MediaPlayer in Tunnel mode Issue: MediaPlayer.setVolume does not have effect on Playback volume in TunnelPlayer mode Fix: the left and right volume parameters of setVolume are hardcoded and defaulted in DirectAudioTrack. Updating the parameters from the input arguments fixes the issue Change-Id: I8a107ce57284b225b17d95fed0f69e3adc5fb131 CRs-Fixed: 441849 libstagefright: Enable Tunnel Decode for select formats - Enable tunnel mode decode only if the audio mime type matches a supported list. Change-Id: I32afd83e5fda1e90cb671dd747f17cb83bb84fc1 CRs-Fixed:437651 framework/av:: Add support to decode mp3 data in mp4 container - Added support to decode mp3 data in mp4 container packed as mp4a atom and .mp3 atom as well. Port of 8fa3774adf9259b33ee721cfaeff26da42c29928 Change-Id: I1a04022f30a9f6516575440aba7652986ab7dc58 CRs-Fixed: 439897 audiomixer: Use High Quality resampler Use very high quality resampler to upsample to 48KHz sample rate. Change-Id: I1ba5b839f1e74ae71b405538d970e6a966bd1d47 CRs-fixed: 416730 audioflinger: Fix a deadlock - A deadlock will happen if the obit recipient registered by the DirectAudioTrack is called. - Fix this by moving the lock acquisition in DirectAudioTrack::clearPowerManager() to after DirectAudioTrack::releaseWakeLock() is called. - Also synchronize use of mPowerManager in the DirectAudioTrack destructor with DirectAudioTrack::clearPowerManager() Change-Id: Ib127db1406c4a61a4054ca0cf30f4c7347a5c92a CRs-Fixed: 444093 libstagefright: TunnelPlayer: update condition to send SEEK_COMPLETE - If the client tries to seek to 0 (e.g as a result of LOOPING) without ever calling getPosition(), we will always sent an immediate seek notification without seeking. Change-Id: Id2b9d00c611278d0521cb6fd402710f0ec37bbdd CRs-Fixed: 441411 libstagefright: Remove unnecessary code from TunnelPlayer - TunnelPlayer tries to mimick AudioPlayer when trying to delete the extractor source. - It is needed for AudioPlayer as the OMXCodec object is referenced by the CallbackDispatcher as well as AudioPlayer. - This condition is not true for TunnelPlayer, so why do it. Change-Id: I79c4e17d01910e73ad01c5640ef374626313a18e CRs-Fixed: 442365 Add MediaDebug header from CAF Change-Id: I68dbe72f86a49685b82b64927d1aa80231647a7a
* | FM Radio: Add support for FM Radio in AndroidStefan Ekenberg2013-01-306-0/+585
| | | | | | | | | | | | | | | | Creating interface and framework for using FM Radio RX and TX from different vendors. Change-Id: I1a71aed01bfffdddfabf1cdfbfa3707cb1ed016b Signed-off-by: Benn Porscke <benn.porscke@stericsson.com>
* | Video Encoder: Enable Ducati h264 encoder profile changeHashcode2013-01-272-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables the TI ducati H264 encoder profile via BoardConfig setting: BOARD_USE_TI_DUCATI_H264_PROFILE := true Allows correct video decoding on Motorola OMAP4 / Kindle Fires and other devices using newer DOMX libs. Effectively a cherry-pick of omapzoom commit (with creative board setting name): http://www.omapzoom.org/?p=platform/frameworks/av.git;a=commit;h=e28784d5c68c8699cfd9ebe0231e7132d8b13dad Change-Id: Idc49b00030558a22a9e50e8798e5814ad54fe841 Signed-off-by: Hashcode <hashcode0f@gmail.com>
* | [3/3] libstagefright/videoeditor: Allow custom DOMX source instead of Google ↵Hashcode2013-01-267-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DOMX default Part 3 of 3 patches: To allow omap4 devices to use custom "domx" source via a new BoardConfig.mk item: TI_CUSTOM_DOMX_PATH := device/<manufacturer>/<device-name>/domx This setting provides for 3 changes during the build: 1. In hardware/ti/omap4xxx this settings stops standard Google domx source from being built and changes the domx reference for tiutils. 2. In frameworks/base it changes the default openmax references for frameworks/base/media/jni/mediaeditor/Android.mk to the new location 3. In frameworks/av changes the openmax references in 5 places, and adds new includes in ACodec.cpp, CameraSource.cpp and OMXCodec.cpp This is a combination of cherry-picks from omapzoom (with a more descriptive BoardConfig setting name): http://www.omapzoom.org/?p=platform/frameworks/av.git;a=commit;h=8044105ca117c2e99b35ad9f341d630fc5a9d2e0 http://www.omapzoom.org/?p=platform/frameworks/av.git;a=commit;h=4adf712d1f3f2050fe0010652bbba7ecb8468870 http://www.omapzoom.org/?p=platform/frameworks/av.git;a=commit;h=fa37231ca59872ac491461ca3c14e019834848e5 Change-Id: I53dbf120d515eaf5ec82688dcea4c670c173ed01 Signed-off-by: Hashcode <hashcode0f@gmail.com>
* | libstagefright: Collection of fixes for TunnelPlayerAlexy Joseph2013-01-264-46/+349
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Handling of EOS, and triggering EOS was wrong in TunnelPlayer. Seeking when EOS was posted to the HAL was wrong. EOS should not be posted till seek is complete -Also, EOS should not be posted to the app if we are seeking -Player should wake up when seeked, even after EOS was posted from player to HAL -Fixed this issue by cleaning up the code for EOS -Disable tunnel mode playback for streaming use cases to avoid jittery playback Change-Id: I21699d2d5874bde6cbfe549ce0251b252e9a4090 CRs-Fixed: 433346 CRs-Fixed: 432233 CRs-Fixed: 429868 libstagefright: Add new mime for QC TS container - Add new mime type for TS container that is sniffed by extended extractor. This is needed for media extractor to determine which parser to create. Change-Id: I18dcebbbf3b31cea7db29a4dd65385638343bec1 libstagefright: Use software decoder for ADTS content. Use software decoder for widevine content which uses ADTS format. CRs-fixed: 431096 (cherry picked from commit 3edf2e703bcdc47f122864865056d5cb65b7ab43) Change-Id: I50eba673ddd6ec2bbb737577978e61902ff68d13 audioflinger: Fix to release wakelock after closeoutput -In DirectTrack destructor, closeOutput is called after releaseWakelock is done. This may sometimes result in power collapse happening even before actual close sequence of Audio path is completed and will result in high power consumption. -Release wakelock only after closeOutput is done in directtrack destructor. CRs-fixed: 438179 Change-Id: Ibe103804daf2cb09bade998d6d34c3a34508dd09 libstagefright: Add support to change clip duration to enable LPA Added support to change the clip duration threshold value for LPA playback. A new system property 'lpa.min_duration' has been added which controls the minimum clip length for enabling LPA. The default threshold value has been retained as 60sec. Change-Id: I6a8be6d6bf67495977d8c75e5be14723a31353b1 frameworks/av: Skip tunnel mode for playback through AudioCache In the use case of playback using SoundPool, decoded data is cached from player and further rendered through AudioCache. Avoid Tunnel mode for the use case AAC format through SoundPool Change-Id: I21005a5b39f9fb480ae0d525ecb560fec4382620 CRs-Fixed: 437539 frameworks/base: dumpsys rendering statistics for Stagefright - this adds extra fps statisticis - report via dumpsys Change-Id: I7b4d4582c4eb2ccf2d11557844dade92f9e587c0 CRs-Fixed: 435013 libstagefright: Stop extractor source after start in TunnelPlayer Issue: In the use case of frequent suspend resume during Video Playback with HDMI Connected, we encounter a scenario where tunnel player is created and destroyed without the extractor source started. In such use case, stopping the source in reset during the tunnel player destruction leads to failure during assertion check. Fix: Check for mStarted flag to ensure that stop on source is called only after they are started. Change-Id: Ib18e7ee3d10b2cc706944e358046f163d156706c CRs-Fixed: 440239
* | frameworks/av : Playing AAC and MP3 clips using LPA.Kalyani polepeddy2013-01-212-3/+839
| | | | | | | | | | | | | | | | -AAC and MP3 clips are not playing. -AAC and MP3 are not using LPA path. -Enable LPA decoder path and implement LPAPlayer class. Change-Id: I76438319fc72c4898fad5910f8de874f89287687
* | libmedia: implement samsungs isSeparatedStream, built audioparametercodeworkx2013-01-142-0/+18
| | | | | | | | Change-Id: I96ec5b79c08e37c9bca59470addb5a9f7869eaea
* | Fix typoPavel Kirpichyov2013-01-081-1/+1
| | | | | | | | Change-Id: I311f608d761987d0c714be9ab81188a3ca8eef61
* | Merge "Fix log spam: Failed to open libwvm.so" into cm-10.1Danny Baumann2013-01-061-5/+8
|\ \
| * | Fix log spam: Failed to open libwvm.soGlenn Kasten2012-12-281-5/+8
| | | | | | | | | | | | | | | Bug: 7342813 Change-Id: I98852f036e4679a653723fc2bf1435d6e9d7d34c
* | | stagefright: add support for samsung proprietary omxAdam77Root2013-01-052-0/+7
| | | | | | | | | | | | Change-Id: I79b7b4dd8a2ba71d7c95f067d13620260a2e0f63
* | | Merge "exynos4: Part of Netflix fix" into cm-10.1Daniel Hillenbrand2013-01-041-1/+2
|\ \ \
| * | | exynos4: Part of Netflix fixAndrew Dodd2013-01-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | codeworkx pulled the Samsung colorformat patch from Insignal's exynos-jb branch, which is an invalid source for exynos4 patches. It was checking for an OMX codec name that didn't exist. This still doesn't stop Netflix JPlayer failing in 10.1, but does fix Netflix failing if you disable JPlayer by convincing it that it's on an older Android version. Change-Id: Ia55878dc08f81e2900307558e35c4e0c5b9cac2f
* | | | stagefright: OMXCodec: Re-enable OMX.TI.Video.encoder's quirksRicardo Cerqueira2013-01-033-0/+155
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These have been around since early stagefright, and were dropped for JB. Unfortunately, they're still necessary with for this encoder to work. Change-Id: I8a251bf195a24b166db7464a90a822d6e69b644d libstagefright: Add support for the 720P OMAP3 encoders Bring back some more OMAP code that was removed by Google in JB, and a couple of omapzoom patches. This may stop being necessary if TI publishes JB-specific OMAP3 code, but as long as we're using the ICS domx, these need to be here Change-Id: Ia29f8c9f9ed769ba07b09c07260486f6502841d6 libstagefright: Unbreak OMAP4 encoders The "manual" construction of the h264 codec data is only needed on OMAP3. Execution of this code on OMAP4 breaks the mpeg4 header generation Change-Id: I3ae52f2e685e2d9097796685c98dffa93cfa6430
* | | Squashed commit of updates from CodeAuroravivek mehta2012-12-298-50/+169
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libstagefright: Add support for VC1 clips - configure decoder in frame-by-frame or arbitrary mode based on the codec type. Change-Id: I6404e5b7ee217045e6456f51f914dbd8a651d98a CRs-Fixed: 432847 stagefright: Miscellaneous fixes for LPA and Tunnel playback 1. Fix for AV sync issue with Tunnel playback APIs for returning correct timestamps were implemented 2. Crash while exiting TunnelPlayer Check whether sink is open before flushing or closing it. Check for mIsAudioRouted is good to know if we are closing it 3. Seekbar freezes after seek and pause Check pause status before writing Change-Id: Id8ab7b258e9c05b20e121bdf3c4dc30d519f6c15 frameworks/av: Add support for surround sound recording - Add 5.1 channel as supported input channel Change-Id: I50fcd87245c5c855ede8f09ea1a7c5be2e684640 stagefright: Add tunnel decode for amr-wb/wb+ When tunnel.decode is true, playback of AMR-WB and AMR-WB+ uses tunnel decode. Change-Id: Ic06cb3faaac18f605402c98a27cb4dfa4b7faee2 stagefright: Skip LPA if #channels > 2 Skip LPA for Multi channel playback Change-Id: I5b97471ef55aea260d1c02db672eb4bd64c3edef