summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libmedia: Initialize mState/mActive value to avoid possible crashZhou Song2016-04-132-4/+6
| | | | | | | | | | | If track creation fails on server side, mState/mActive is left unitialized. After this a crash can happen when track stop() is called because of a reference to a NULL object. Initialize mState/mActive to specific value in initialized list of track constructor. Change-Id: If8c3611e3229c0c1b14b81285e07b9357fec7658 CRs-Fixed: 992608
* stagefright: Fix CLANG compilation for AMR decoderLeena Winterrowd2016-04-131-1/+1
| | | | | | Fix invalid type in error log's format string. Change-Id: I26aabfcdc1a03c0a7d9cd10fb3b39a660a9be03a
* nuplayer: Seek to valid position in setVideoSurfaceManikanta Kanamarlapudi2016-04-131-4/+3
| | | | | | | | | | | | | | | - If flush is called on both A/V tracks and video decoder is not yet created, In offload case the first audio buffer will get flush and audio playback starts from timestamp of second buffer, where as video playback starts from zero leads to AV sync issue in start and cause framedrops. - Call seek to current position to align the Audio and Video tracks. Seek to zero if playback has not yet started. Change-Id: I4f75d0aa908714ad292f348fa8bf7aa5f837f8d7
* video: Use boot clock for recording start timeSurajit Podder2016-04-135-2/+31
| | | | | | | | | | | | | Camera HAL3 uses boot time for buffer timestamp, rather than system monotonic time. This leads to issues as framework uses system monotonic time as reference start time for timestamp adjustment. Add change to use boot time for reference start time. CRs-Fixed: 946735 Change-Id: Id0af9c8aed1a983095275ac03f7f59abc31594cc
* nuplayer: ignore openAudioSink while waiting for teardown completionDhananjay Kumar2016-04-133-6/+28
| | | | | | | | | | | | | | | | | | | | - AudioSink is reopened on AudioTearDown event as well as on decoder output format change. These events are from different contexts, independent of each other and can occur concurrently, doing set of thread-unsafe operations on audioSink, which sometimes may result in fatal error. - Any request to openSink, after teardown event is received but before its completed, is redundant since once teardown is completed sink is anyway going to be opened again. Also ignoring sink reopen while in teardown would avoid concurrent processing of thread-unsafe operations on audioSink. - Update nuplayer to prevent reopening of sink while teardown is still going on. CRs-Fixed: 978013 Change-Id: Ieb3825f133c2099e07d6e92ef101dd5156af8a20
* nuplayer: update anchor time for offload usecaseSharad Sangle2016-04-131-0/+1
| | | | | | | | | | | In non-offload usecase, mAnchorTmeMediaUs is updated for every audio FillBufferDone. Added the same logic for offload case, otherwise video updates max media duration as ZERO, for clips which have small audio data, and all the buffers are sent to DSP before first video buffer is processed at NuPlayerRenderer level Change-Id: Ib6e0f251207c87ad1525041d07187cef91f4dda5
* frameworks/av: Fix LOG_NDEBUG compilation issuesLeena Winterrowd2016-04-134-1/+6
| | | | | | Fix compilation issues that appear when enabling LOG_NDEBUG. Change-Id: I87e9e5ac66157759dd6f521fab0dd346089a011a
* libavextensions: Add LOG_NDEBUG defineLeena Winterrowd2016-04-131-1/+2
| | | | | | | | LOG_NDEBUG is inherited indirectly from both MyHandler.h & Log.h if no LOG_NDEBUG is defined locally within AVMediaServiceUtils. Add a local definition to keep debug usage for this file straightforward. Change-Id: I878cdc747e8349e937b13dd27c738d45f99dee0a
* libstagefright: handle error when B-frame is sent to MPEG4Writerxiaoqiny2016-04-135-3/+25
| | | | | | | | | Without this patch, writing B-frame to MediaMuxer will be blocked and cannot return a result. This may cause an endless progress bar shown in gallery when triming or muting some videos. Change-Id: Ib9f902a57da470c0357ec68aab00a35fbb26fb77 CRs-Fixed: 521005
* cameraservice: Run HAL3 in Non ZSL modeAbhishek Kondaveeti2016-04-131-1/+1
| | | | | | | | | | | | ZSL mode is not working on HAL3 due to camera backend failures. Run HAL3 forcefully in Non zsl mode till the problem in camera backend fixed. This change will be reverted once the backend issue is fixed. CRs-Fixed: 956182 Change-Id: I1dfcda8eb0fe5cd2d9be6cb2e103f5fd84955ecb
* audio: QTI resampler supports for 32 bit input formatZhou Song2016-04-133-10/+16
| | | | | | | | | | | Configure QTI resampler as 32 bit input format to avoid losing precision. audioflinger: add channel count check to use QTI resampler Change-Id: I8f76dd82b72a0dd8b77343e77e0d0545e1be2114 CRs-Fixed: 940287 Change-Id: I7e1b8582cd6bb106ab0bd25f9bc1bd9e4092318b
* nuplayer: Reverting GenericSource changes done for STA integrationManikanta Sivapala2016-04-131-1/+1
| | | | | | - Remove Virtual for SetDataSource() Change-Id: Ie8502297376f6663a38f95195ff8329b7a42dcb9
* rtsp: keep video damaged access unit to enhance fault toleranceLi Sun2016-04-132-3/+33
| | | | | | | | | | | Make RTSPSource to accept some video damaged access units to enhance fault tolerance. Disable this change as default. add the property to enable it such as: "adb shell setprop rtsp.video.keep-damaged-au video/3gpp" for H263 "adb shell setprop rtsp.video.keep-damaged-au video/avc" for H264 Change-Id: I3b7fb4b098aba5daf149cf36dab7e9380c6d2f69
* libstagefright: Allow for MPEG4Writer extensionDeva Ramasubramanian2016-04-136-4/+21
| | | | | | Defer MPEG4 muxer creation to AVFactory. Change-Id: If0918be77ab7f8d82c78203f371df789e3cc29b8
* audioflinger: Compile 192k resampler for 32 bit environmentRamjee Singh2016-04-131-2/+9
| | | | | | | | Current makefile compiles the resampler only for 64 bit environment. Allow compilation for 32 bit environment as well. CRs-Fixed: 735776 Change-Id: I626725551af73fc5ea98a7dbf87cacea9dbbc0ef
* Update Instrumentation codeWilliam Clark2016-04-131-2/+1
| | | | | | Add support for enhancements in QSSP instrumentation code. Change-Id: I00aa0b2bee5044d91eeeddaa43d3d28518a5ba93
* NuPlayer: extend onResume funtionSidipotu Ashok2016-04-131-1/+1
| | | | | | | - Extend onResume in-order to implement the Audio Voice Concurrency changes. Change-Id: I2b02f644df23f35b6d37d07a99d74ad56470b142
* omx: softcodecs: Support HAL_PIXEL_FORMAT_RGBX_8888Diogo Ferreira2016-04-111-0/+3
| | | | | | | | | | Adds support for the HAL_PIXEL_FORMAT_RGBX_8888 format used by mediatek's hardware. Fixes several CTS tests where interaction between hardware and software encoders and decoders is tested. Change-Id: Ie3267c7d34706c49ad415ebc04ad05f2f2ef3506
* CameraClient: MTK SupportRicardo Cerqueira2016-04-111-0/+3
| | | | | | | Return on MTK hardware, the HAL does this internally and duplicating it here causes an infinite loop. Change-Id: I5bdb925ddb49980747b58dfae4543f812cef4c7d
* audiopolicy: Be a little smarter with auto-attachSteve Kondik2016-04-0711-59/+222
| | | | | | | | | | | | | | * The edge cases, ZOMG! * Instead of relying on effects to be automatically attached, let's just always notify userspace and send a bit more information. This lets the application decide if effects should be attached rather than relying on a hard-coded configuration file. * Perform the setup in getOutputForAttr, but do it on the command thread so we don't block the client. OPO-593 Change-Id: I3900b349f2e895d51fa3a3dcc2de0c4bdf6dbc08
* audio: Send effect session notifications after startOutput successSteve Kondik2016-04-052-5/+11
| | | | | | | * Because we get a hellish firestorm during offload fallback, and our effects library really dislikes this. Change-Id: I22adb55d04502eedf03ce22f35f8b9f61de1c7b0
* Merge tag 'android-6.0.1_r24' into HEADJessica Wagantall2016-04-056-38/+63
|\ | | | | | | | | Ticket: CYNGNOS-2213 Android 6.0.1 release 24
| * merge in mnc-dr1.5-release history after reset to mnc-dr1.5-devThe Android Automerger2016-03-220-0/+0
| |\
| | * merge in mnc-dr1.5-release history after reset to mnc-dr1.5-devThe Android Automerger2016-03-170-0/+0
| | |\ | | |/ | |/|
| * | Get service by value instead of referenceMarco Nelissen2016-03-012-3/+3
| | | | | | | | | | | | | | | | | | | | | to prevent a cleared service binder from being used. Bug: 26040840 Change-Id: Ifb5483c55b172d3553deb80dbe27f2204b86ecdb
| * | Also fix out of bounds access for normal readMarco Nelissen2016-03-011-1/+9
| | | | | | | | | | | | | | | | | | | | | Previous fix accidentally only fixed the fragmented read case. Bug: 27208621 Change-Id: Ie16f1920b84c8aba613842659238fcd5925694ad
| * | Clear allocation to avoid info leakMarco Nelissen2016-03-011-27/+32
| | | | | | | | | | | | | | | Bug: 26914474 Change-Id: Ie1a86e86d78058d041149fe599a4996e7f8185cf
| * | Fixing safteynet logging bug introduced in ag/862848mspector@google.com2016-03-012-4/+1
| | | | | | | | | | | | | | | | | | We moved the safteynet logging into storeMetaDataInBuffers_l Bug: 26324358 Change-Id: I2171742b53192ebb71d546bcb8970bb3c68f366f
| * | 3 uninitialized variables in IOMX.cppmspector@google.com2016-03-011-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Uninitialized MetadataBufferType pointer in case: SET_INPUT_SURFACE STORE_META_DATA_IN_BUFFERS CREATE_INPUT_SURFACE Fix: initialize them to kMetadataBufferTypeInvalid Bug: 26324358 Change-Id: Ib3bcac9bedc98bc65efa39f67cdbffbd90b374c9
| * | Fix info leak vulnerability of IDrmJeff Tinker2016-03-011-1/+1
| | | | | | | | | | | | | | | bug: 26323455 Change-Id: I25bb30d3666ab38d5150496375ed2f55ecb23ba8
| * | IOMX.cpp uninitialized pointer in BnOMX::onTransactmspector@google.com2016-03-011-3/+5
| |/ | | | | | | | | | | | | | | | | This can lead to local code execution in media server. Fix initializes the pointer and checks the error conditions before returning Bug: 26403627 Change-Id: I7fa90682060148448dba01d6acbe3471d1ddb500
* | audio: Update anchor time only when sink start is successfulPreetam Singh Ranawat2016-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | - During offload (WH) to non-offload fallback (BT), anchor time is getting updated incorrectly with offload renderer position when it tries to start sink using offload mode only. - update anchor time post resume only when sink is started successfully. Change-Id: I2c2992afa90506e08389226964b0bd5a5be07529 CRs-Fixed: 978596
* | audio: use offload standby delay for direct pcmWeiyin Jiang2016-04-031-0/+2
| | | | | | | | | | | | | | | | | | Default standby delay for legacy direct is too aggressive for track offloaded use case. Using offload standby delay instead, which allows sufficient time for track transition before standby the output. CRs-Fixed: 982822 Change-Id: Ifd0e39c5b3fe4a4af9f444dbbad21ef1e1a5edfa
* | audio: allow standby for direct trackWeiyin Jiang2016-04-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | Delay standby for offload track use case is not suitable for direct track in PCM format, because player torn down doesn't necessarily happen. To avoid AP looping infinitely, allow standby right after direct track in PCM format is paused. CRs-Fixed: 986784 Change-Id: Id0026ac9891a12acc4affa446b2bc841559fcc28
* | audioflinger: clear mMixerBuffer if frame is not readyMohan Kumar2016-03-221-3/+15
| | | | | | | | | | | | | | | | Clear the mMixerBuffer if frame is not ready before the FastMixer starts processing. Otherwise it might result in large glitches on output device due to junk data present in the mixbuffer. Change-Id: I9f025234d4ac100f85d2ec67c06a8df4195bea98
* | Avoid parsing CC SEI payload beyond buffer endPatrik2 Carlsson2016-03-221-0/+6
| | | | | | | | | | | | | | Break CC SEI parsing when payload size exceeds buffer size to avoid a CHECK that have been seen in MTBF statistics. Change-Id: Ifd97648678a935ac815dd616301d46f9bf583838
* | CameraService: Fix cameraId type of onDeviceStatusChangedBin Chen2016-03-222-3/+3
| | | | | | | | | | | | | | The cameraId should be of type int, instead of camera_device_status_t. Change-Id: I26d587bb74f7100028f09928984c2e8dad6eebef Signed-off-by: Bin Chen <chen_bin@projectara.com>
* | MPEG4Extractor: cast media time to int64_t in order to avoid check on ↵Wei Jia2016-03-221-1/+1
| | | | | | | | | | | | unsigned integer overflow. Change-Id: Iad5ae41f0bbfc5e837b4b78e8acaa3f9462329e6
* | Overflow fixes for amrwbencMarco Nelissen2016-03-224-16/+26
| | | | | | | | | | | | | | Most of these were encountered while running a mixed sanitized/unsanitized AMR encoder, so may not be reachable in real conditions. Change-Id: I85af7d40214133234009323e7e64432fc1be39ca
* | libcameraservice: Allow media server to disconnect camera even unlockedWang, Jianfeng XA2016-03-221-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The camera service may fail to release the camera hardware instance in some use cases. When an application unlocked the camera before disconnect, disconnect from the application will not be accepted. And disconnect from media server will not be accepted also. Then, the camera hardware instance will not be released and a resource leak will be caused. Allow media server to disconnect the camera at all times even if the camera is unlocked. Change-Id: Icd5ed81bed242fa5947aa40ca85e4ca7fa7286e7
* | Fix benign integer overflow conditions for VSYNC add and removal.Dan Austin2016-03-221-2/+4
| | | | | | | | | | | | | | | | | | | | There are integer overflow conditions that could occur on vsyncsForLastFrame in VideoFrameScheduler::schedule upon a VSYNC add or removal. Additional checks have been put in place to remove the overflowable conditions. Bug: 24980200 Change-Id: I7dfc25ae1d2f3e3b3382e990adb3c56518c64e8d
* | Fix harmless unsigned overflow in recoverPTSChad Brubaker2016-03-221-1/+1
| | | | | | | | Change-Id: I89e3a827cf566421e8dd9b6a3c842e73a19c140f
* | Fix integer overflow in time conversionMarco Nelissen2016-03-221-1/+5
| | | | | | | | | | | | | | | | Converting unix epoch time to mpeg4 time requires adding over 2B seconds, which caused an overflow in a calculation involving time_t, which is signed. Bug: 23574783 Change-Id: I21bacc9f5a422091f3c903fb8cf1c760fc078953
* | Prevent divide by zero in WAVExtractorJoshua J. Drake2016-03-221-2/+10
| | | | | | | | | | | | | | | | | | | | | | In the case that mNumChannels, bytesPerSample, or mSampleRate are zero, a divide by zero occurs. None of these parameters of a WAV file should ever be zero. Check that they aren't and return an error otherwise. Bug: 23285883 Change-Id: Id67b8620944405ca59572221f6f1c2b19c363e69
* | OMXCodec: fix potential OOB read in parseHEVCCodecSpecificDataRobert Shih2016-03-221-1/+4
| | | | | | | | | | Bug: 23279597 Change-Id: Ibaa3d52e586e65230ec6df3680d9456ce873390c
* | Prevent integer underflows in ID3::IteratorJoshua J. Drake2016-03-222-0/+11
| | | | | | | | | | | | | | | | | | | | | | If mFrameSize is less than or equal to getHeaderLength(), an integer underflow will occur. This typically leads to a crash reading out of bounds in the following code. Prevent this from happening by validating mFrameSize. Also add NULL checks after references to ID3::Iterator::getData. Bug: 23285887 Change-Id: I35eeda3c5349ebbd9ffb3ea49b79af6a940d1395
* | Stagefright: Remove unused variables and filesAndreas Gampe2016-03-226-510/+0
| | | | | | | | | | | | | | | | | | | | For build-system CFLAGS clean-up. Bug: 18632512 (cherry picked from commit 765b4172f1ffb2c4e2de89163bb888fa352de664) Change-Id: I765dc394f39f60801843851760fdf9838958d7a4
* | h264dec: Use intptr_t when a pointer is treated as an integerAshok Bhat2016-03-222-6/+6
| | | | | | | | | | Change-Id: I83057565a842da31ee137fac674af496c1fc18af Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | MPEG4Extractor: still more NULL dereference fixesJoshua J. Drake2016-03-221-0/+3
| | | | | | | | | | | | | | | | | | When processing various FourCC values within MP4 media, mLastTrack is accessed without first ensuring that a track has been encoutered. Check for NULL and bail out instead of crashing. Bug: 20139950 Change-Id: Ie16687024d17348f576a0e13bd60bd4d6898de91
* | Use errno correctly.tao.pei2016-03-221-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a failed write() or ioctl(), errno wasn't being checked until after some other function calls that could also modify errno, thus checking the wrong errno. Make sure to check it prior to doing anything else that can modify it. [Preconditions] 1.PC connects with phone(mtp). [Procedures] 1.Copy a file from PC to phone. 2.Cancel the copying. 3.Recopy the file. Change-Id: Id772fca7ccb96d3f43bd4beb210bedd8d3ac17fa