summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* FastMixer computes presentation timestamps for fast tracksGlenn Kasten2013-09-031-1/+46
| | | | | | and forwards them to each track's ExtendedAudioBufferProvider::onTimestamp(). Change-Id: I06fb9586bb7e20d5c0289abdc8cac6cd3fd2f6e8
* Add ExtendedAudioBufferProvider::framesReleased and onTimestampGlenn Kasten2013-09-035-1/+34
| | | | | | | and implement them in SourceAudioBufferProvider using the associated NBAIO_Source, and in Track using the associated AudioTrackServerProxy. Change-Id: I60dc4adba63fc1dc452ff16caf347e4a7c8242c2
* Add NBAIO_Source::onTimestamp()Glenn Kasten2013-09-033-0/+11
| | | | | | | | with dummy default implementation, and implement in MonoPipeReader. onTimestamp is meant to be called by the corresponding sink when it has a new timestamp available. Change-Id: I8a90d24d1061e4a592ce5bd8ee1c9fce6bdd8a84
* Instantiate SingleStateQueue<AudioTimestamp>Glenn Kasten2013-09-035-2/+18
| | | | | | as typedef AudioTimestampSingleStateQueue and use it in MonoPipe. Change-Id: Idaebb362bd9d0a81a7ed83792ab9369dc37c0e74
* Merge "Add NBAIO_Sink::getTimestamp()" into klp-devGlenn Kasten2013-09-036-1/+31
|\
| * Add NBAIO_Sink::getTimestamp()Glenn Kasten2013-09-036-1/+31
| | | | | | | | | | | | | | | | | | | | with a real implementation in AudioStreamOutSink for dummy implementation initially in MonoPipe. Use in AudioFlinger::PlaybackThread::threadLoop_write() to keep the input to the timestamp latch up-to-date. Change-Id: I10ef277991b63bb43d55d6f3df75116ef32246cd
* | Merge "AAC encoder: handle missing object types" into klp-devJean-Michel Trivi2013-09-031-0/+4
|\ \
| * | AAC encoder: handle missing object typesJean-Michel Trivi2013-08-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The audio object type for parametric stereo and lowdelay was not passed to the FDK AAC encoder. Bug 9428126 Change-Id: Ic32822afff8b1da6a2d80c1b65d514f24059fb29
* | | Camera2/3: Increase precapture start timeoutEino-Ville Talvala2013-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we only wait 200 ms for the HAL to switch to the precapture state. This is insufficient at low preview frame rates (dark conditions, ~10 fps), where a 3-request-deep HAL pipeline will take 300 ms to produce a precapture trigger output. In those cases, we would prematurely skip the precapture sequence, causing bad quality pictures. Since this is a fallback timeout to prevent deadlock in case of a bad HAL or framework implementation, increase the timeout to 1 second. Has no impact on correctly-working implementations Bug: 10430191 Change-Id: I08e99f8e7f3beb8f15dcee32632cdebfe3dca8b3
* | | Revert "Enhancement for OnInfo callback on DRM Framework"Jeff Tinker2013-09-033-237/+4
| |/ |/| | | | | | | | | | | | | | | This reverts commit 5ff7836da0220b3097f36c8a5e82111816ebca62. Fixes Fatal signal 6 (SIGABRT)" when playing or downloading a video bug: 10542864 Change-Id: I7f81a41c3acdbeb571a514b3f65e7ba37d403cca
* | Merge "Revert "Fix decoder EOS handling"" into klp-devEric Laurent2013-08-316-208/+202
|\ \
| * | Revert "Fix decoder EOS handling"Eric Laurent2013-08-306-208/+202
| | | | | | | | | | | | | | | | | | | | | This reverts commit 9da36a6c8df70a5c8179ac78fab33cfbb5078cb2. Bug: 10571297. Change-Id: I76f20fe34872ea54fce626077462fb86c8c3f02e
* | | audioflinger: offloaded tracks flush/pause orderEric Laurent2013-08-301-4/+6
|/ / | | | | | | | | | | | | Make sure that a flush received after a pause is forwarded to the HAL after the pause. Change-Id: Ib3221f70c59f8b3dbbac20b23104f6b779b75be0
* | Merge "camera: Fix deadlock when sending callbacks during disconnect" into ↵Igor Murashkin2013-08-301-6/+4
|\ \ | | | | | | | | | klp-dev
| * | camera: Fix deadlock when sending callbacks during disconnectIgor Murashkin2013-08-291-6/+4
| | | | | | | | | | | | | | | Bug: 10552448 Change-Id: Ie93ba744ae6705aa657f980ae8e08ec624feeb39
* | | Merge "Fix decoder EOS handling" into klp-devMarco Nelissen2013-08-306-202/+208
|\ \ \
| * | | Fix decoder EOS handlingMarco Nelissen2013-08-306-202/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conceptually it should be the same whether EOS is signalled on the last buffer holding data, or an empty buffer that follows. Make it so that this actually behaves the same for mp3, AAC and Vorbis. b/8747869 Change-Id: Idece8ef45689a3ffaf70fb45d19862d7b93b2f92
* | | | Merge "Camera3: Be busy as soon as work arrives." into klp-devEino-Ville Talvala2013-08-302-1/+19
|\ \ \ \
| * | | | Camera3: Be busy as soon as work arrives.Eino-Ville Talvala2013-08-292-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RequestThread's internal busy flag (mPaused) was not being immediately set when new work was submitted to it. This allowed for a race condition where a capture() followed by an immediate waitUntilDrained() would immediately return from the wait. Set the mPaused flag to false immediately in capture() and setStreamingRequest() to avoid this, instead of waiting until the end of the next RequestThread iteration. Bug: 10531739 Change-Id: I54a79fe5361d527ec717f41ad805e9b319a48cd8
* | | | | Merge "Implement Track::getTimestamp()" into klp-devGlenn Kasten2013-08-304-2/+44
|\ \ \ \ \
| * | | | | Implement Track::getTimestamp()Glenn Kasten2013-08-294-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | using a new timestamp latch in PlaybackThread, and AudioTrackServerProxy::framesReleased() which returns mServer. Change-Id: I1ebfba968c773faaab95648c272fd3ebd74718d6
* | | | | | Merge "Add AudioFlinger::PlaybackThread::Track::getTimestamp()" into klp-devGlenn Kasten2013-08-302-1/+13
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Add AudioFlinger::PlaybackThread::Track::getTimestamp()Glenn Kasten2013-08-292-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with a dummy implementation initially, and use it in AudioFlinger::TrackHandle::getTimestamp() Change-Id: I2da88fc52a135a7f0d9fd9538986e919dc8ccd3b
* | | | | | Merge "Add IAudioTrack::getTimestamp()" into klp-devGlenn Kasten2013-08-306-13/+49
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Add IAudioTrack::getTimestamp()Glenn Kasten2013-08-296-13/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with dummy implementation in AudioFlinger::TrackHandle, and implement AudioTrack::getTimestamp() using IAudioTrack. Also document invariant that mAudioTrack and control block are always non-0 after successful initialization. Change-Id: I9861d1454cff7decf795d5d5898ac7999a9f3b7e
* | | | | | Merge "New AudioTrack C++ API for audio timestamps" into klp-devGlenn Kasten2013-08-293-0/+54
|\ \ \ \ \ \ | |/ / / / /
| * | | | | New AudioTrack C++ API for audio timestampsGlenn Kasten2013-08-283-0/+54
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new API is intended to replace latency(), especially for A/V sync. The application will receive periodic timestamp notifications. The period is unspecified, but will likely be more frequent after a pause or stop, set position, underrun, display on/off change, route change, or when audio framework notices drift. It will be up to the higher level application (e.g. Stagefright) to reconstruct a clock that updates more frequently. The current latency() method doesn't indicate when latency changes due to screen on/off state, route changes, etc. Includes squahsed change-Id: I2082f8752040be0c234b1a6f1be2e269abf2ce7c Dummy implementation of AudioTrack:getTimestamp() Rename AudioTrack::Timestamp to AudioTimestamp. Renaming and pulling up to a higher level allows more modules to use it. Change-Id: Ibf7f6a207c3f8d8697f25ede2cd5200697fadb86 (cherry picked from commit dd69eb893867634fd169c03204a6ad7c74b351e7)
* | | | | Merge "AudioPlayer: timestamp fixes for compress offload" into klp-devEric Laurent2013-08-291-7/+16
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | AudioPlayer: timestamp fixes for compress offloadHaynes Mathew George2013-08-291-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use realtime queried from AudioTrack as the only time for compress offload playback. Change-Id: I314447637715c4864690c94173260165369146cb
* | | | | Merge "AudioTrack: fix write retries for compressed audio" into klp-devEric Laurent2013-08-291-1/+1
|\ \ \ \ \
| * | | | | AudioTrack: fix write retries for compressed audioEric Laurent2013-08-291-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the amount of frames that can be written to the buffer is less than requested, AudioTrack::processAudioBuffer() estimates the time needed to free the missing amount of frames and asks the callback thread to sleep. This behavior is not possible for compressed audio and should not be enabled for offloaded tracks. Change-Id: I5b657283cfba06254c9ac0ea9b447467cce7eb61
* | | | | Merge "Add time limit to screenrecord" into klp-devAndy McFadden2013-08-291-18/+45
|\ \ \ \ \
| * | | | | Add time limit to screenrecordAndy McFadden2013-08-281-18/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recordings are now limited to 3 minutes. The time can be set lower with the --time-limit option. Bug 10529645 Change-Id: I6ac19b9da8d616d38262414c2e821d56efcec55d
* | | | | | Merge "Notify the media scanner" into klp-devAndy McFadden2013-08-291-2/+36
|\ \ \ \ \ \ | |/ / / / / | | / / / / | |/ / / / |/| | | |
| * | | | Notify the media scannerAndy McFadden2013-08-281-2/+36
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use an "am broadcast" command to notify the media scanner that a new video file is available. Bug 10096103 Change-Id: I8261d81d96832969ebb9031a9766c1b1f2a569ed
* | | | Merge "Set PREPARING flag after setDataSource_l()" into klp-devChong Zhang2013-08-291-1/+1
|\ \ \ \
| * | | | Set PREPARING flag after setDataSource_l()Chong Zhang2013-08-281-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the reset_l() inside setDataSource_l() will get stuck waiting for the PREPARING to be cleared. Bug: 10426788 Change-Id: I7ccdf7abcea71cf150544c7cd3f4781e3a946b97
* | | | Merge "fix MediaDrm.isCryptoSchemeSupported(uuid)" into klp-devJeff Tinker2013-08-294-900/+5
|\ \ \ \ | |/ / / |/| | |
| * | | fix MediaDrm.isCryptoSchemeSupported(uuid)Jeff Tinker2013-08-284-900/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Don't expect plugins to support an empty mimeType in isContentTypeSupported 2. Move the cts test mock drm plugin to the cts tree so it is always used b/10528466 Change-Id: I6023f6165b1e9d294986f7e5cd0896e056e376f1
* | | | Merge "AudioTrack: fix unwanted underrun when restarting" into klp-devEric Laurent2013-08-281-0/+3
|\ \ \ \ | |_|/ / |/| | |
| * | | AudioTrack: fix unwanted underrun when restartingEric Laurent2013-08-281-0/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | When restarting an AudioTrack from stopped state, it is necessary to force refresh of mRemainingFrames by processAudioBuffer() as the last write before stop() could be partial. No doing so will lead into unnecessary sleep before filling the non contiguous part of the buffer returned by obtainBuffer() when processAudioBuffer() is executed for the first time after start(). Change-Id: Id703f8dc092a6f07c905eee194054b4a978f979d
* | | Merge "Camera2: Add flush support" into klp-devEino-Ville Talvala2013-08-279-3/+100
|\ \ \ | |_|/ |/| |
| * | Camera2: Add flush supportEino-Ville Talvala2013-08-239-3/+100
| | | | | | | | | | | | | | | | | | | | | | | | - On HAL2 devices, fall back to wait until idle - On HAL3 devices, call HAL flush method Bug: 9758581 Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
* | | Merge "camera2: Get rid of annoying "Reading a NULL string...." error ↵Igor Murashkin2013-08-261-1/+14
|\ \ \ | |_|/ |/| | | | | message" into klp-dev
| * | camera2: Get rid of annoying "Reading a NULL string...." error messageIgor Murashkin2013-08-231-1/+14
| | | | | | | | | | | | | | | Bug: 10461464 Change-Id: Ie99f025db0e0e12c703f2d391e218b49330ee4dd
* | | Merge "Enhancement for OnInfo callback on DRM Framework" into klp-devJeff Tinker2013-08-263-4/+237
|\ \ \ | |/ / |/| |
| * | Enhancement for OnInfo callback on DRM FrameworkTakeshi Aimi2013-08-233-4/+237
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | In DRM framework, plugins can transmit DrmInfoEvent to Java layer. Although DrmInfoEvent has several entries, current implementation can only convey integer and String. This change enables plugins uto propagate a hashmap to Java layer. The hashmap can have one or more Strings and one byte array as value. Changes are made by Sony Corporation. bug: 10459159 Change-Id: Ic19265d4ad3db4eda66a3c27e1e08873a8f2a4d7 (cherry picked from commit 4f782bf0cb69929ebf03de239e2c9bf8e82adf5e)
* | Merge "wifi-display: pass session info to wifi display settings" into klp-devChong Zhang2013-08-234-9/+15
|\ \
| * | wifi-display: pass session info to wifi display settingsChong Zhang2013-08-214-9/+15
| | | | | | | | | | | | | | | | | | Bug: 9371882 Change-Id: I9e4b8c2154b03ce8ff3e14c465a5224bb6e8db9a
* | | Merge "MediaPlayer: add listener for raw track data" into klp-devChong Zhang2013-08-2316-25/+354
|\ \ \ | |_|/ |/| |