summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-6.0.1_r17' into HEADJessica Wagantall2016-03-0713-9/+54
|\ | | | | | | | | Android 6.0.1 release 17 Ticket: CYNGNOS-1854
| * Camera: Disallow dumping clients directlyEino-Ville Talvala2016-01-2210-6/+37
| | | | | | | | | | | | | | | | Camera service dumps should only be initiated through ICameraService::dump. Bug: 26265403 Change-Id: If3ca4718ed74bf33ad8a416192689203029e2803
| * Fix out-of-bounds writeMarco Nelissen2016-01-221-1/+9
| | | | | | | | | | Bug: 26365349 Change-Id: Ia363d9f8c231cf255dea852e0bbf5ca466c7990b
| * fix possible overflow in effect wrappers.Eric Laurent2016-01-222-2/+8
| | | | | | | | | | | | | | | | | | | | Add checks on parameter size field in effect command handlers to avoid overflow leading to invalid comparison with min allowed size for command and reply buffers. Bug: 26347509. Change-Id: I20e6a9b6de8e5172b957caa1ac9410b9752efa4d (cherry picked from commit ad1bd92a49d78df6bc6e75bee68c517c1326f3cf)
* | stagefright: Don't crash on invalid / null AVCC atoms in MKVSteve Kondik2016-03-012-11/+14
| | | | | | | | | | | | | | | | * Seen in the wild. If a file contains an invalid track, skip it. * Also correct AVCC atom size check in Matroska extractor. REF: CYNGNOS-2168 Change-Id: I589aadbd689c9a00e1dca613e61fcec5b06ed69a
* | audio: omx encoder isn't expected for raw recordingWeiyin Jiang2016-02-251-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Raw recording doesn't require any encoder, so no OMX encoder will be created and audio source will be directly used as media source. UNKNOWN_ERROR error will be threwn if call AudioSource::start() continuously, so we should avoid omx encoder operations if it's not created for raw recording. CYNGNOS-1679 Change-Id: Ib38c4e42b7667e9bf882cddb15422d0dd598b60e CRs-Fixed: 752419 (cherry picked from commit 587267232a2829936510bbe46591863403782d1a)
* | Revert "AudioMixer: delete reformatBuffer provider in proper order"Ashish Jain2016-02-011-2/+2
| | | | | | | | | | | | This reverts commit 415bcac8afac7aef3e9853cfe4a0f2a0eb2f04ad. Change-Id: Ibbc35f16ef8cd17ead72498178c3e7bca1dff3cc
* | AudioMixer: Clear bufferProviders in correct orderAshish Jain2016-02-011-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: While switching between clips with different track properties, when earlier track is cleared, postDownMixerBufferProvider tries to release a buffer to serverProxy instead of the original owner i.e. downMixBufferProvider. This illegal releaseBuffer call to serverProxy results in an assert in AudioTrackShared. -In issue scenario, data flow path in AudioMixer is, ServerProxy-->-->DownMixer-->PostDownMixer-->Resampler, - Clear for downMixerBufferProvider ensures that all serverproxy buffers are returned back. -This also causes the postDownMixer to get connected with serverProxy. -Hence on delete of postDownMixer illegal releaseBuffer for serverProxy gets executed. Fix: Clear PostDownMixerBufferProvider before clearing DownMixerBufferProvider to ensure that buffers are release to right owners. Change-Id: I982366660d0a1e04be8cca6dabe758221dedf9b1
* | audioflinger: Enable TEE_SINK compilationLeena Winterrowd2016-02-011-1/+1
| | | | | | | | | | | | | | Change CHECK to ALOG_ASSERT to allow compilation of the TEE_SINK dump feature. Change-Id: I1114a9d185cfd24cdbdda51c526f48be7fd009f9
* | Merge tag 'android-6.0.1_r13' into HEADJessica Wagantall2016-02-013-1/+21
|\ \ | |/ | | | | | | | | | | Android 6.0.1 release 13 Ticket: CYNGNOS-1522 Change-Id: Ie9d7be6df3e63138bafb892a3181446e3c7d844e
| * merge in mnc-mr1-release history after reset to mnc-dr-devThe Android Automerger2015-12-170-0/+0
| |\
* | | Combine 'DTS Sound (TruMedia) Postpro support in frameworks/av for Android ↵jinamdar2016-02-014-3/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6.0' as a single patch. Signed-off-by: jinamdar <jaydeep.inamdar@dts.com> (cherry picked from commit d3668da66643d4cc39058fb65c8db0742748f70f) Conflicts: services/audioflinger/AudioFlinger.cpp services/audioflinger/Threads.cpp Change-Id: I67e3ba100ff40058919ba827b806aea7bdbaf4bb
* | | Revert "Audio Effects are not processing first buffer"Gabriele M2016-01-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This causes a short and loud noise when turning off effects while an audio track is playing or when an audio track is started with audio effects enabled. The noise appears to be non-existent if the volume level is set to its maximum. This reverts commit d15a8bd157cb531716bd3e15561f557e74588801. Change-Id: I2b8dd3447d673b4b98018710bc10c1eeb282598e
* | | libmedia: Add support for LHR tonesKarthik Reddy Katta2016-01-232-1/+7
| | | | | | | | | | | | | | | | | | | | | Add tones to the ToneGenerator that are to be used for Local Hold Recall. Change-Id: I92cc1d63a3f6d38fc224774909b5b27d58be969c
* | | AVUtils: hevc: Return 0 when codec data is malformedDiogo Ferreira2016-01-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was returning ERROR_MALFORMED, which is a negative value, since the function prototype returns size_t, it would be converted to somewhere near 2**32 and would never fall into the actual error checking clause in AVUtils::HEVCMuxer::makeHEVCCodecSpecificData. Fixes android.mediastress.cts.HEVCR1080pAacLongPlayerTest#testPlay00 Ticket: CYNGNOS-1683 Change-Id: I13e6a76cb0ee4a6b730e1eb1023320b74a0539c7
* | | Revert "Stagefright: Allow setting high-framerates in CameraSource"Keith Mok2016-01-221-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b5ccf81c19a7e9ce9b330abe734f1bae76d50796. That patch breaks "High Speed 60 FPS" and it fails in CameraSource::checkFrameRate which it compares the preview frame rate: Failed to set preview frame rate to 30 fps. The actual frame rate is 60. SAMBAR-1261 Change-Id: I6adf1432bf901e8ba37b1b86621e117e77cbf853
* | | av: "ACodec: update native window crop rectangle" depends on QCOMChristopher R. Palmer2016-01-201-0/+2
| | | | | | | | | | | | Change-Id: If0cc81468ab7ee8fa0ec374a9f23e4004e7cb212
* | | audio: Update anchor time for offload playback post resumePreetam Singh Ranawat2016-01-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -AV sync is lost after multiple pasue/resume operatins. -Renderer does not update anchor time post resume and it may lead to AV sync loss after multiple pause/resume in offload playback case. -Get renderer position and update anchor time post resume for offload audio Change-Id: I2d9ba21c0e9b193ec77213de12229407cbf8dfd6
* | | 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
* | | ACodec: update native window crop rectangleSanthosh Behara2016-01-181-1/+19
| | | | | | | | | | | | | | | | | | | | | In setupNativeWindowSizeFormatAndUsage, set the crop rectangle with the output port's crop value. Change-Id: I415be069d02d88dcd6b7c2460dda6df191ee7434
* | | StagefrightMetadataRetriever: correct the status flagKim Zhang2016-01-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of EOS or ERROR from source, correct the status flag and clear the input index to continue to wait for output buffer from decoder. This is to fix thumbnail generation failure for some clips with one frame. CRs-Fixed: 951250 Change-Id: If9889dbcc32bf49368add408a317da026879fec8
* | | AudioMixer: delete reformatBuffer provider in proper orderSharad Sangle2016-01-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If mixer is creating reformatBufferProvider and downMixerBufferProvider while adding a track it first creates downMixerProvider then reformatBufferProvider. While deleting track it first deletes downMixerBufferProvider and then reformatBufferProvider, which should be in reverse order, the object created last should be deleted first. Change-Id: I844e7862280fe37c3167b31e92bbb27aa9463315
* | | libstagefright:Fix random memcmp crash while accessing output format.Vasantha Balla2016-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Random memcmp crash happens while checking for image-data in output format of audio buffer.Audio output format gets updated with pcm-format flag after codec formatchange in ExtendedNuUtils. Simultaneous memory check happens for image-data in FBD of MediaCodec. So crash happens. Avoid checking for image-data and crop information for audio buffers. Change-Id: I85ffcb149dc67a0f1bdb26116245627b1843d932
* | | av: Add support for loading audio_effects_vendor.confSteve Kondik2016-01-122-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | * In case a device has a /vendor partition which cannot be modified, this allows us to short-circuit the audio_effects.conf file which might be placed there with one of our own which lives on /system. Change-Id: Ief87bd4cfba2c3188b0dff122d91f773b7f3d92d
* | | libstagefright: Support YVU420SemiPlanar camera formatEthan Chen2016-01-111-0/+4
| | | | | | | | | | | | Change-Id: I631ba6267b3769d9da498329a39ac89c609be6d8
* | | Use standard arm assembly syntax.Chih-Hung Hsieh2016-01-0823-26/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The output from gcc before and after this change, and from llvm are identical, except the ADRL to ADR change. In this case, old "ADRL r8, Table" is translated into add r8, pc, #1184 ; 0x4a0 nop ; (mov r0, r0) and new "ADR r8, Table; NOP" is translated into equivalent: add r8, pc, #1184 ; 0x4a0 nop {0} BUG: 21169627 Change-Id: I64130e99f6506494b9c4a6e0f1f850491d481242
* | | Fix overflow in amrwbencMarco Nelissen2016-01-081-0/+3
| | | | | | | | | | | | | | | | | | This got dropped in a previous merge. Change-Id: Ic5ec1f6662944deee32e740697fc55774c894033
* | | codecs: update for check ifeq ($(TARGET_ARCH),arm)Yongqin Liu2016-01-086-113/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This condition check will only pass when compile for 32bit platform. It will not pass when generate the 32bit binary or libarary for 64bit platform. update it with variants like LOCAL_SRC_FILES_arm to make it used by 32bit binary or library on 64biy platform as well Change-Id: Ia887610a97c68fa58925d2d86c5eb29cb397d6ef Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
* | | Use unified syntax to compile with both llvm and gas.Chih-Hung Hsieh2016-01-0833-188/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove useless stab debug info directives .func and .endfunc, which are not recognized by clang/llvm integrated assembler. * Replace require8 with REQUIRE8, preserve8 with PRESERVE8. * Replace LDRNESB with LDRSBNE, LDREQSB with LDRSBEQ, etc. * Replace VST1 {*.U8} with VST1.8 ..., VLD1 {*.U8} with VLD1.8, and VMOV with VMOV.I8. * New assembler output code is identical or equivalent to old gas output. For example, the 3 references of LDR r7, =0x80808080 in omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Average_4x_Align_unsafe_s.S produced 3 instances of .word 0x80808080 by llvm integrated assembler but only one by gas. Change-Id: Ifdcd5bee915a7534198d7f219bceab72045f6a22
* | | Disable integer sanitization for amrwbencMarco Nelissen2016-01-082-1/+4
| | | | | | | | | | | | | | | | | | | | | Integer sanitization causes too many false positives, and so far all have been benign or intentional. Change-Id: I3c40e478e3da31023a635f4ef212873c1fb644f3
* | | cameraservice: Change the error mapping for ERROR_CAMERA_DEVICE.Sai Kumar Sanagavarapu2016-01-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of API1-HAL3, if HAL reports CAMERA3_MSG_ERROR_DEVICE, it is getting mapped to CAMERA_ERROR_UNKNOWN in the service layer. But this particular error code is not handled properly even in applications like GoogleCamera (Android default camera app). For example if camera deamon gets killed when GoogleCamera is previewing, since its not handling the error properly, preview freeze is seen for long time followed by mediaserver crash if any user interaction happens meanwhile. Ideally, app should close gracefully based on the error received. So, map CAMERA3_MSG_ERROR_DEVICE to CAMERA_ERROR_SERVER_DIED, so that app and mediaserver gets closed gracefully. Change-Id: Idad9d23262e28e85b020b5bacdaad7c77fe16372
* | | drm : Give permission to access drm service api from Oma Drm engineParamananda Pradhan2016-01-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Uses user defined permission "com.oma.drm.permission.ACCESS_OMA_DRM" to access protected api call from Oma Drm util framework. This changes is required for DRM Image support in Android. CRs-Fixed: 941545 Change-Id: If9b7d079612453f51e3e9e9126dd6553e73b8a5a
* | | Clean up time zone handling in MtpUtils::parseDateTime.Elliott Hughes2016-01-081-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intent here is supposed to be to use local time (which mktime(3) does) unless the string ends 'Z' in which case we're supposed to use UTC. The UTC equivalent of mktime(3) is timegm(3). This code has come to my attention in two ways. Externally it was pointed out that the localtime_r(3) was accessing uninitialized memory leading to unpredicatable results. Internally, this is the only caller of the non-standard mktime_tz --- ironically using it in a way that -- apart from the flakiness caused by the uninitialized variable -- would make it behave like the standard mktime(3). Bug: https://code.google.com/p/android/issues/detail?id=185159 Bug: http://b/15765976 Change-Id: I5f015727c4c08a139ef478fafba5811a9758d5df
* | | Fix more potential (benign) AMRWB overflowsMarco Nelissen2016-01-082-2/+4
| | | | | | | | | | | | | | | Bug: 25843966 Change-Id: I18003aa20be1ff0a93473ecd8b4995861bed8c89
* | | Fix more amrwbenc overflowsMarco Nelissen2016-01-084-20/+21
| | | | | | | | | | | | | | | Bug: 25843966 Change-Id: I16aa3eb0fc4c8d507b92d3a84139cfef6302c96c
* | | Tabs -> spacesMarco Nelissen2016-01-0861-8177/+8177
| | | | | | | | | | | | Change-Id: I706d7ef81a138739996e0fbb2759348c7a4be8a6
* | | ACodec: Fix error handling in OutputPortSettingsChangedStateShivaprasad Hongal2016-01-081-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Freeing the input buffers & node in ACodec::OutputPortSettingsChangedState on error, can cause NuPlayerDecoder to deference freed buffers. Instead of freeing the node internally on error in OutputPortSettingsChangedState, notify error to NuPlayer, and add kWhatShutDown handling to initiate Idle state transition. Change-Id: I7778d759c564fad27d266ac63d293bf0c30c029b
* | | stagefright: Fix crash on mediaserverKeith Mok2016-01-061-1/+3
| | | | | | | | | | | | | | | | | | | | | CameraSource can be null when we do setupCustomVideoEncoderParams, add a null pointer checking for it. Change-Id: Ie28018e67d623b03bb7c3c7dbc8a92669158b84b
* | | audiopolicy: Handle legacy startOutput on output command thread tooXuefer2016-01-061-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | * Fixes the build for legacy audio policy * Broken by: de3b1c01146d2103f6bf56e2659a9c650734945a Change-Id: I990ce609b3da81c462b35c7dd3f7b11d189e2d2e Signed-off-by: Xuefer <xuefer@gmail.com>
* | | stagefright: Add deferred release optionSteve Kondik2016-01-052-3/+13
| | | | | | | | | | | | | | | | | | * Fill in stub methods to improve video encoding performance. Change-Id: I2bbf192e022043d161429c6cabf4a7d740802d20
* | | stagefright: Only include HFR/HSR on QCOM devicesSteve Kondik2016-01-051-0/+27
| | | | | | | | | | | | Change-Id: Ib98c9c94cccc902708d25a9b8d81bc54fd6bbf7c
* | | stagefright: Forward-port HFR and HSR supportSteve Kondik2016-01-057-10/+213
| | | | | | | | | | | | | | | | | | * CAF commit bd42a7ac3a60c0d8a079b4567484c9b006bac8ad upstream Change-Id: I457ccab603647f3139ea2199a544f64ac3d1a214
* | | Merge tag 'android-6.0.1_r10' into HEADJessica Wagantall2016-01-050-0/+0
|\ \ \ | | |/ | |/| | | | | | | Ticket: CYNGNOS-1404 Android 6.0.1 release 10
| * | merge in mnc-mr1-release history after reset to mnc-dr-devThe Android Automerger2015-12-150-0/+0
| |\ \ | | |/
| | * Fix security vulnerability in ICrypto DO NOT MERGEJeff Tinker2015-12-101-1/+3
| | | | | | | | | | | | | | | | | | b/25800375 Change-Id: I03c9395f7c7de4ac5813a1207452aac57aa39484
| | * libstagefright: check requested memory size before allocation for ↵Wei Jia2015-12-102-0/+18
| |/ | | | | | | | | | | | | | | SoftMPEG4Encoder and SoftVPXEncoder. Bug: 25812794 Change-Id: I96dc74734380d462583f6efa33d09946f9532809 (cherry picked from commit 87f8cbb223ee516803dbb99699320c2484cbf3ba)
* | BatteryNotifier: Add missing log LOG_TAGAdrianDC2016-01-011-0/+3
| | | | | | | | Change-Id: Ifbdf02d46c54a6d28e86e0d5314731b081383a00
* | libmedia: correct latency computing for TRANSFER_SYNCMingming Yin2015-12-311-1/+2
| | | | | | | | | | | | | | - Compute the track latency by frame count returned from audio hal when in TRANSFER_SYNC mode Change-Id: If7bbf780abc8e141eb35eea44c01c583b1290d3c
* | nuplayer: Enable PCM offload for any sourceSteve Kondik2015-12-294-24/+35
| | | | | | | | | | | | | | | | | | * Use the raw PCM format to perform the early open of the audio sink. This ensures that the renderer will do the same. * Fill in stubs for timestamp and position calculation. This fixes underruns and other issues. Change-Id: I8d761e523194cc12f387b4b2aa1594536e56da01
* | stagefright: Those who cannot remember history are doomed to repeat itSteve Kondik2015-12-282-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * A new sniffer might want to defer it's work based on the knowledge already gained by those who have already sniffed. * This is the case for our FFMPEG sniffer, which is pretty awesome in that it is able to fill in all the gaps and detect almost anything, however the cost is additional latency during scanning and startup. * As we cycle thru each sniffer, feed the current score to the next. It is up to the extractor to use this knowledge wisely. * Additionally, print some metrics on how long the sniff took. Change-Id: I5dc8de11ed4939a01eabb0cae0b4e1e71d991eea