summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'LA.BF64.1.2.2_rb4.7' of ↵Steve Kondik2015-11-1617-27/+122
|\ | | | | | | | | | | git://codeaurora.org/platform/frameworks/av into cm-13.0 Change-Id: Ia41df61c3ccfeb809572b63a4b1a8ca6bd85dfb2
| * Merge "audiopolicy: Add synchronization to EffectDescriptorCollection"Linux Build Service Account2015-11-112-0/+8
| |\
| | * audiopolicy: Add synchronization to EffectDescriptorCollectionHaynes Mathew George2015-11-092-0/+8
| | | | | | | | | | | | | | | | | | | | | Synchronize public APIs of EffectDescriptorCollection CRs-Fixed: 920103 Change-Id: I04ccac526c6f99e61e43288776653d6b7ff325c4
| * | Merge "libstagefright: omx: Prevent assertion due to state mismatches"Linux Build Service Account2015-11-102-4/+41
| |\ \ | | |/ | |/|
| | * libstagefright: omx: Prevent assertion due to state mismatchesHaynes Mathew George2015-11-092-4/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead handle them a bit better. Since the assertions dealt with in this patchset can only happen if the OMX IL client died while de-init'ing the component, it is impossible to deal with all possible cases gracefully. Hence take an aggressive approach by moving state of the component to OMX_StateInvalid. This looks okay as per the spec, but might not be the best approach. Change-Id: I3f23f5e3853523fe1a7fb3aaf38b46595fa91732
| * | Merge "AudioPolicyService: fix race in AudioCommandThread"Linux Build Service Account2015-11-091-8/+16
| |\ \ | | |/ | |/|
| | * AudioPolicyService: fix race in AudioCommandThreadEric Laurent2015-11-041-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixe race condition in AudioCommandThread::threadLoop() where a command can be inserted in first position in the queue after the sleep time has been calculated causing a longer delay than expected. Also fix a failure to hold a wake lock while commands are still in the queue. Bug: 22707905. Change-Id: I813626986677bf00106acb37ee20d3dd75d5cf33
| * | Merge "libstagefright: Add WFD specific flags to consumer usage flags"Linux Build Service Account2015-11-072-2/+14
| |\ \
| | * | libstagefright: Add WFD specific flags to consumer usage flagsTatenda Chipeperekwa2015-11-052-2/+14
| | |/ | | | | | | | | | | | | | | | | | | | | | Add the GRALLOC_USAGE_PRIVATE_WFD flag to the consumer usage flags to allow the display framework to distinguish WFD from other virtual display connections. Change-Id: I7cdbac3716fb5c18d1691701accb8e66f388de86
| * | Merge "stagefright: Add null check before passing meta data buffer"Linux Build Service Account2015-11-061-1/+5
| |\ \
| | * | stagefright: Add null check before passing meta data bufferManoj Kumar AVM2015-11-041-1/+5
| | |/ | | | | | | | | | | | | | | | | | | Add necessary null checks to GraphicBuffer before passing it onto Metadatabuffer. Change-Id: I5cf09da4bd316e5c1733023746aa54960a36d8c9
| * | audio: use QTI flac decoder based on flagSharad Sangle2015-11-041-0/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | While setting up the component for flac, current design is if encoder then don't use QTI flac component otherwise use QTI flac component, so if QTI flac is not being used then this might be wrong. So enhance the design to use QTI flac component only when it is enabled, otherwise use default flac component Change-Id: I57454841611885ae7cdf75896f8297ef8132292e CRs-Fixed: 916650
| * Merge "AudioPolicyService: Synchronize access to AudioPolicyManager"Linux Build Service Account2015-11-041-0/+1
| |\
| | * AudioPolicyService: Synchronize access to AudioPolicyManagerHaynes Mathew George2015-11-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Synchronize access to APM when getDevicesForStream is called on APM. CRs-Fixed: 913227 Change-Id: I2ba6922341f035375270b02000ef5a7e078f6b5a
| * | Merge "Camera: frameworks: Add NULL check for callback"Linux Build Service Account2015-11-041-1/+5
| |\ \
| | * | Camera: frameworks: Add NULL check for callbackSusmitha Gummalla2015-10-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | --Added NULL check for mRemoteCallback Change-Id: Ib88a128a52e81b8ec1052e3222b6d8b9e494afcc
| * | | Merge "nuplayer: Drop frames with DATACORRUPT flag"Linux Build Service Account2015-11-036-1/+18
| |\ \ \ | | |_|/ | |/| |
| | * | nuplayer: Drop frames with DATACORRUPT flagShalaj Jain2015-10-266-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 "DO NOT MERGE: CameraService: Link to client binder death at end of ↵Linux Build Service Account2015-11-022-8/+11
| |\ \ \ | | | | | | | | | | | | | | | connect"
| | * | | DO NOT MERGE: CameraService: Link to client binder death at end of connectEino-Ville Talvala2015-10-292-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If, within a binder Looper thread, a Binder object death notifier is registered, and then a nested Binder transaction is begun, that transaction may process a death notification callback for the just-registered object, if it was dead at the time of registration. This can lead to an unexpected nested call into the service, and cause deadlock. To avoid this, move the death notifier registration to the end of handling the connect transaction. Also remove one extra bit of disconnect logging. Bug: 23525545 Change-Id: If01cbaf42704f55134118afefc9a8f7bdb014e09
| * | | | Merge "NuPlayer: use a generic funtion to get flags"Linux Build Service Account2015-10-303-3/+3
| |\ \ \ \ | | | |/ / | | |/| / | | |_|/ | |/| |
| | * | NuPlayer: use a generic funtion to get flagsSidipotu Ashok2015-10-263-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Merge "stagefright: Return error for wrong buffer index in MediaCodec"Linux Build Service Account2015-10-292-1/+5
| |\ \ \ \
| | * | | | stagefright: Return error for wrong buffer index in MediaCodecShalaj Jain2015-10-262-1/+5
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return error if the index passed by client is incorrect rather than returning OK with null buffer. Also add a null buffer check in MPEG4Writer as it shouldn't rely on the source returning the correct error code, just as a precaution. Change-Id: Iaefcd57a545ec3ce4ec0b8d4220bdf41377ff798
| * | | | Merge "stagefright: Remove additional deep-copy of encoder buffers"Linux Build Service Account2015-10-293-9/+22
| |\ \ \ \
| | * | | | stagefright: Remove additional deep-copy of encoder buffersShivaprasad Hongal2015-10-263-9/+22
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MPEG4Writer makes a copy of encoded buffer to avoid holding on to the read buffer. This is not needed with MediaCodecSource, as the encoded-output buffer is already copied to a heap buffer. This saves a copy and some power. However, cloning the buffer is still needed for upstream sources that cannot afford to keep the buffers with writer up until they are released. So, pass a hint in buffer's metadata to indicate if it is OK to delay the release and not copy the buffer Change-Id: Ib59ac29ebc6ce4afd6fc272688a8260438ab1517
| * | | | Merge "stagefright: Enable QTI FLAC based on feature flag"Linux Build Service Account2015-10-291-0/+6
| |\ \ \ \
| | * | | | stagefright: Enable QTI FLAC based on feature flagAshish Jain2015-10-261-0/+6
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -QTI Flac decoder is used only if QTI_FLAC_DECODER flag is defined. -Enable QTI_FLAC_DECODER flag if respective feature flag is enabled. Change-Id: I192e30af3e53a57f13aa2be5dc92bfbe5f20d096 CRs-Fixed: 927012
| * | | | Merge "libcameraservice: Fix ALOG prints in FlashLight."Linux Build Service Account2015-10-291-4/+8
| |\ \ \ \ | | |_|_|/ | |/| | |
| | * | | libcameraservice: Fix ALOG prints in FlashLight.Dilip Gopalakrishna2015-10-251-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing __FUNCTION__ arguments into log statements. Change-Id: I0256bad626d490fb9360a73c104afaad7a012a97
* | | | | mediaserver: conditionally launch ListenServiceKiran Kandi2015-11-122-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conditionally instantiate ListenService from MediaService. ListenServiceruns as a singleton in its own thread that calls AudioHAL which in turn accesses Listen Driver. It is the entry point from Application processes that want so execute Listen commands and receive Voice detection events. It manages Listen application resources and global states across all Listen applications. ListenService is similar to AudioFlinger. That is why it is instantiated from MediaServer. Listenservice talks to AudioHAL to deal with concurrent usage of mic. Change-Id: I71c346bb16e0ed3a7aae9c908e03c7f1c694fe0a
* | | | | stagefright: Fix more compilation warningsd34d2015-11-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix format specifiers for int64_t * Fix format specifiers for size_t Change-Id: I25a775ac3eda092e36fc231ec16698a1c4a66f8b
* | | | | stagefright: Fix compilation warningSteve Kondik2015-11-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix format specifiers for int64_t Change-Id: If3f05d0c8c1471ea0b3a97d90a5a774a5c168915
* | | | | audiopolicy: Fix call recording for legacy qcom HALnadlabak2015-11-072-0/+21
| | | | | | | | | | | | | | | | | | | | Change-Id: I774f75b493c47386ca1eaf004d663432f1041a66
* | | | | audio: Send USB connection events only for USB accessoryRamjee Singh2015-11-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Send USB connected/disconnected events to Audio HAL only in case of USB AOA as these are used only in case of USB AOA Change-Id: I7db508f6eff5e8601d54f1e1bfa603358f9d6703
* | | | | audio: Fixed Audio Source in Voice CallPavan Chikkala2015-11-072-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setPhoneState calls getDeviceForInputSource to check if voice_tx device is available as part of Primary Audio Module. getDeviceForInputSource always returns DEVICE_IN_COMMUNICATION for SOURCE_VOICE_COMMUNICATION on A Family and this is not added to Available devices This is leading to creation of txPatch when it is not needed Fix is to use AUDIO_SOURCE_VOICE_CALL instead of AUDIO_SOURCE_VOICE_COMMUNICATION Change-Id: I9aa7dd2139b8374ec7f06676d06ef5addea4b2a9
* | | | | audiopolicy: Add DEVICE_IN_COMMUNICATION for VOIPPavan Chikkala2015-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - On A family, Only DEVICE_IN_COMMUNICATION is supported by voip_tx profile. getDeviceForInputSource should always return DEVICE_IN_COMMUNICATION to load voip_tx profile Change-Id: I3bb2fb70a89eadc35c2ced0c7f717ec15120bfe7
* | | | | audio: Added support for USB AOA connect/disconnect eventsRamjee Singh2015-11-071-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB AOA is supported by primary HAL on A family through customized connect/disconnect parameters.Added support for that in AudioPolicyManager Change-Id: I5212027b2711c24a9750629774f69d669a9d164f
* | | | | audiopolicy: Update DeviceNametoEnumTablePavan Chikkala2015-11-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added entry for DEVICE_IN_COMMUNICATION to support VOIP usecase. Change-Id: Ie7e5131b776d7b93c53ca0796dffa11316091805
* | | | | SoftAVCDec: Exit gracefully when memory allocation fails in the decoderHarish Mahendrakar2015-11-071-0/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib6e16be3f128e4fc97f8f05b794da980341c81cc
* | | | | SoftAVCDec: Added a check for unsupported resolutionsHarish Mahendrakar2015-11-071-0/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: I97203353c7d026e02c8aad0f2c820a641e453c7c
* | | | | stagefright: Squashed commit of pause/resume featuresSteve Kondik2015-11-0731-43/+635
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Stop thread before deleting object referenceOscar Rydhé2015-11-072-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If setPeriodicCapture is called Visualizer will start a thread and do periodic callbacks. When native_finalize is called the reference to the class is deleted. If a callback happens after this the reference is no longer valid and when used from the callback method the vm crashes. With this patch the thread will be terminated before deleting the reference. Change-Id: I30f331437ddad05f8d52c244cdbecb1859a0abd2
* | | | | audio: Change the default init value for StreamDescriptorRalph Nathan2015-11-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, audio doesn't play on Brillo because the policy manager's default value for all streams is set to 0. In Android, this value is changed by calls from AudioService.java. If we set the default value to 1 in Brillo, then even if there are no calls, we will have audio. BUG=none TEST=manual Change-Id: I1418c9ecfb4f1c81c9c0946eee11deed3c65b358
* | | | | MatroskaExtractor: don't use new buffer unless necessaryMarco Nelissen2015-11-071-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the NAL size length is 4 bytes, we can store the start code in the space occupied by the NAL size length and avoid allocating a new buffer and copying the data into it. Also fix potential memory leak. Change-Id: I29dd72a0616dfae66ddd7b7f9478678e356df440
* | | | | AudioPolicyService: Synchronize access to AudioPolicyManagerHaynes Mathew George2015-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synchronize access to APM when getDevicesForStream is called on APM. Change-Id: I2ba6922341f035375270b02000ef5a7e078f6b5a