summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Add ability to test supported content types to MediaDrmJeff Tinker2013-08-221-1/+1
| | | | | bug: 10244066 Change-Id: I317f05b146db962c271893f6208890a5a6c396f1
* Merge "You can now opt-in to having the video decoder push blank buffers to ↵Andreas Huber2013-08-151-1/+2
|\ | | | | | | the" into klp-dev
| * You can now opt-in to having the video decoder push blank buffers to theAndreas Huber2013-08-141-1/+2
| | | | | | | | | | | | | | surface on the transition from executing->idle by specifying the key "push-blank-buffers-on-shutdown" with a value of 1 in the call to configure. Change-Id: I1155fccf89f18e717728c985e590651597595515
* | Merge "Check adaptive playback support via CodecCapabilities" into klp-devLajos Molnar2013-08-142-1/+7
|\ \ | |/ |/|
| * Check adaptive playback support via CodecCapabilitiesLajos Molnar2013-08-132-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added flags field to CodecCapabilities, so that applications can query whether codecs support various features. For now added one video-decoder feature: kFlagSupportsAdaptivePlayback Media playback applications can query it to see if a codec supports seamless resolution changes, such as by supporting dynamic output buffers. Signed-off-by: Lajos Molnar <lajos@google.com> Change-Id: I09da46e8ab6b8645fa2749e33128e49eda2e865b Related-to-bug: 7093648
* | Merge "Optionally repeat the previously submitted frame to the encoder" into ↵Andreas Huber2013-08-132-0/+3
|\ \ | | | | | | | | | klp-dev
| * | Optionally repeat the previously submitted frame to the encoderAndreas Huber2013-08-132-0/+3
| |/ | | | | | | | | | | | | if no new frame has been delivered by surface flinger within the timeout interval. Change-Id: I282f1b726dfe5646b178d7858d6f5d4f5a264fde
* | Fix potential leak of audio input handle.Jeff Brown2013-08-091-8/+1
|/ | | | | | | | | | | | | The audio input handle is ultimately owned by the audio recorder object but it could be dropped on the floor if an error occurred before that object was fully initialized. Rearranged some of the argument validation and merged getInput_l with openRecord_l to simplify the code and prevent such a leak from occurring. Bug: 10265163 Change-Id: I124dce344b1d11c2dd66ca5e2c9aec0c52c230e2
* Merge "Cleanup comments for the new control block implementation"Glenn Kasten2013-08-072-17/+4
|\
| * Cleanup comments for the new control block implementationGlenn Kasten2013-08-022-17/+4
| | | | | | | | | | | | | | | | There was some obsolete and incomplete text left over after the new control block code was submitted. This cleans up all those comments to be accurate again. Change-Id: Ic52f5869cb723cde25d709514d6deea6aa6f20aa
* | Merge "Adds a drm resource busy error, removes some deprecated errors"Jeff Tinker2013-08-071-4/+1
|\ \
| * | Adds a drm resource busy error, removes some deprecated errorsJeff Tinker2013-08-021-4/+1
| | | | | | | | | | | | | | | Change-Id: Id719fb6df9c9d955ac24803082d08f2a4a5bc766 related-to-bug: 9695816
* | | Merge "IOMX: add updateGraphicBufferInMeta method for metadata mode"Lajos Molnar2013-08-061-0/+4
|\ \ \
| * | | IOMX: add updateGraphicBufferInMeta method for metadata modeLajos Molnar2013-08-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is used to set the handle in the metadata buffer that is valid in the mediaserver process, as well as to keep a reference for the graphic buffers in BufferMeta. Change-Id: I46bb68d8bed894f357eeeb25368360d11b276634 Signed-off-by: Lajos Molnar <lajos@google.com>
* | | | separte producer and consumer interfacesMathias Agopian2013-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | Bug: 9265647 Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c
* | | | Merge "AudioRecord notification frames"Glenn Kasten2013-08-061-1/+4
|\ \ \ \
| * | | | AudioRecord notification framesGlenn Kasten2013-08-021-1/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I76ec536d1504eb9a558178b62bf225aace4b40d1
* | | | | Merge "AudioRecord::openRecord_l now take flags"Glenn Kasten2013-08-061-0/+1
|\ \ \ \ \ | |/ / / /
| * | | | AudioRecord::openRecord_l now take flagsGlenn Kasten2013-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new parameter 'flags' of type audio_input_flags_t will be used for requesting a fast track, but is currently ignored. Change-Id: If68dfda8b2d4eaaca42927d721b4630c47f71f3b
* | | | | Merge "IAudioFlinger::openRecord track_flags_t flags is in/out"Glenn Kasten2013-08-051-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | IAudioFlinger::openRecord track_flags_t flags is in/outGlenn Kasten2013-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow AudioFlinger to tell client it is denying a request. Change-Id: Iff2be3ad6636371bbda9c9899a283c94620c1f06
* | | | | Merge "AudioRecord::set and constructor now take flags"Glenn Kasten2013-08-051-2/+6
|\ \ \ \ \ | |/ / / /
| * | | | AudioRecord::set and constructor now take flagsGlenn Kasten2013-08-021-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new optional parameter 'flags' of type audio_input_flags_t will be used for requesting a fast track. Change-Id: Ia7e070cb57c833e608352da354fb30dc26df6918
* | | | | Merge "Make AudioRecord and AudioTrack comments more similar"Glenn Kasten2013-08-052-3/+12
|\ \ \ \ \
| * | | | | Make AudioRecord and AudioTrack comments more similarGlenn Kasten2013-08-022-3/+12
| | |_|_|/ | |/| | | | | | | | | | | | | Change-Id: I122a7cf7bfc162090cb27f37c325db7a23985bc7
* | | | | Merge "AudioRecord callback thread waits for priority boost"Glenn Kasten2013-08-051-0/+1
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | AudioRecord callback thread waits for priority boostGlenn Kasten2013-08-021-0/+1
| |/ / / | | | | | | | | | | | | Change-Id: Iae38fa4ac20a45751566169213a08a15deb0a2f6
* | | | Merge "Remove default parameters for AudioTrack"Glenn Kasten2013-08-051-11/+11
|\ \ \ \
| * | | | Remove default parameters for AudioTrackGlenn Kasten2013-08-021-11/+11
| |/ / / | | | | | | | | | | | | | | | | | | | | The defaults aren't needed; all users must know these values. Change-Id: I0c1c97cb80bfea8e69a7cfa53ec85a91a8d48bb5
* | | | AudioRecord has no default sample rateGlenn Kasten2013-08-021-2/+0
|/ / / | | | | | | | | | Change-Id: I72feefdd6f3a623fd3669b80d4b264518fdc0929
* | | Merge "Report underruns for fast tracks also"Glenn Kasten2013-08-021-0/+9
|\ \ \
| * | | Report underruns for fast tracks alsoGlenn Kasten2013-07-311-0/+9
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression that was introduced earlier by commit 9f80dd223d83d9bb9077fb6baee056cee4eaf7e5 called "New control block for AudioTrack and AudioRecord". That commit broke underrun reporting for fast tracks. Also remove Track::mUnderrunCount, which counted the number of underrun events, and was only used by dumpsys media.audio_flinger. Now dumpsys media.audio_flinger reports the number of underrun frames, Isolated underrun-related control block accesses via the proxy, so that the server is not directly poking around in the control block. The new proxy APIs are AudioTrackServerProxy::getUnderrunFrames() and AudioTrackServerProxy::tallyUnderrunFrames(). getUnderrunFrames() returns a rolling counter for streaming tracks, or zero for static buffer tracks which never underrun, but do a kind of 'pause' at end of buffer. tallyUnderrunFrames() increments the counter by a specified number of frames. Change-Id: Ib31fd73eb17cbb23888ce3af8ff29f471f5bd5a2
* | | Unregister any handlers still registered on now "dead" ALoopersAndreas Huber2013-07-311-0/+1
|/ / | | | | | | | | | | | | upon the death of an ALooper. Change-Id: I64c0835b8db04486204f3d0fa7173ee53708a116 related-to-bug: 10106648
* | Remove default channel mask in AudioRecord constructor and set()Glenn Kasten2013-07-301-8/+8
| | | | | | | | Change-Id: I22ad4ba8777842bf6705e79c6ad796fdb9a4104c
* | Camera: Rename new API to camera2, rearrange camera serviceEino-Ville Talvala2013-07-303-0/+0
| | | | | | | | | | | | | | | | | | | | | | - Support API rename from photography to camera2 - Reorganize camera service files - API support files to api1/, api2/, api_pro/ - HAL device support files into device{1,2,3}/ - Common files into common/ - Camera service remains at top-level Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9
* | Move control block mName to createTrack() outputGlenn Kasten2013-07-303-3/+6
| | | | | | | | | | | | | | This is part of a series of CLs to clean up the shared memory control block, by removing any fields that don't have to be there. Change-Id: I6e51003a1293b6800258c31b22cff2eba42162e7
* | Rename control block flags to mFlagsGlenn Kasten2013-07-301-1/+2
| | | | | | | | Change-Id: I7b6d31e24531954ab1ecdf3ed56c19433700bd89
* | Rename control block server to mServer and add commentsGlenn Kasten2013-07-301-3/+6
| | | | | | | | Change-Id: Ieabd91acee92d0e84e66fbd358df5282b856306e
* | Use correct type for OutputDescriptor::formatGlenn Kasten2013-07-301-1/+1
|/ | | | Change-Id: Ide608ef452d57da29b708180d90470361c123d1d
* Merge "Use standard name and type for channel mask"Glenn Kasten2013-07-291-2/+2
|\
| * Use standard name and type for channel maskGlenn Kasten2013-07-241-2/+2
| | | | | | | | | | | | Former name 'channels' was ambiguous with respect to channel count. Change-Id: I716f792d95a7e0c787d27514ad6e93dbcef8a415
* | Declare methods in binder opcode orderGlenn Kasten2013-07-291-3/+3
| | | | | | | | Change-Id: I5f624b7a51ffe1a17a67c056cf984f74e4c56eac
* | stagefright: offload playback supportRichard Fitzgerald2013-07-261-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Offloading of compressed audio decoding to audio DSP is implemented for audio only, non streamed content. when the datasource is AudioPlayer: - Create an offloaded sink when playing a compressed source - Send metadata to audio HAL - Return sink start error to AwesomePlayer so that a new player for PCM audio can be created in case of problem. - Forward stream end and tear down callback events to AwesomePlayer - Stop the sink and wait for stream end callback when EOS is reached. - Pause and restart the sink if needed before flushing when seeking (otherwise flush is a no op). - For current media time, directly query the render position from the sink and offset by the start position (seek to time) AwesomePlayer: - When initializing the audio decoder, check with audio policy manager if offloading is supported. If yes, create the software decoder in case a reconfiguration is needed but connect the audio track directly to the AudioPlayer. - In case of error when starting the AudioPlayer, reconnect the software decoder (OMXSource) and recreate a PCM AudioPlayer. - Handle AudioPlayer tear down event by detroying and recreating the AudioPlayer to allow transitions between situations were offloading is supported or not. - Force tear down of offloaded AudioPlayer when paused for a certain time: This will close the sink and allow the DSP to power down. Utils: - Added helper methods: - send meta data to audio ia sink setParameters - query audio policy manager if offloading is supported for a given audio content Change-Id: I115842ce424f947b966d45e253a74d3fd5df9aae Signed-off-by: Eric Laurent <elaurent@google.com>
* | libmediaplayerservice: offload playback supportRichard Fitzgerald2013-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Main change is to how recycled tracks are used for gapless playback. If we are playing offloaded tracks that can't be recycled we don't open a new offloaded output until we have closed the previous one. This is because offloaded tracks are a limited resource so we don't want to spuriously create unnecessary instances. If the tracks cannot be recycled this means that the formats are incompatible and so the hardware most likely will also be unable to use the existing output channel for the new track. If we already have the maximum number of hardware offload channels open (which could be only one) then creation of the next output would fail if we attempted it while the previous output was still open. Change-Id: I4f5958074e7ffd2e17108157fee86329506730ea Signed-off-by: Eric Laurent <elaurent@google.com>
* | libmedia: offloaded playback supportRichard Fitzgerald2013-07-252-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - start() returns a status so that upper layers can recreate a non offloaded track in case of error. - Added states to handle offloaded tracks specific: - waiting for stream end (drain) notification by audio flinger - allow pause while waiting for stream end notification - getPosition() queries the render position directly from audio HAL. - disable APIs not applicable to offloaded tracks - Modified track restoring behavior for invalidated offloaded tracks: just send the callback and wait for upper layers to create a new track. - Added wait for stream end management in audio track client proxy. Similar to obtainBuffer and should be factored in. Change-Id: I0fc48117946364cb255afd653195498891f622bd Signed-off-by: Eric Laurent <elaurent@google.com>
* | AudioFlinger: offload playback, non-blocking writeEric Laurent2013-07-251-0/+7
|/ | | | | | | | | | | | | | | | | | | | | | | | - Added specialized playback thread class for offload playback, derived from directoutput thread. This thread type handles specific state transitions for offloaded tracks and offloading commands (pause/resume/drain/flush..) to audio HAL. As opposed to other threads, does not go to standby if the track is paused. - Added support for asynchronous write and drain operations at audio HAL. Use a thread to handle async callback events from HAL: this avoids locking playback thread mutex when executing the callback and cause deadlocks when calling audio HAL functions with the playback thread mutex locked. - Better accouting for track activity: call start/stop and release Output methods in audio policy manager when tracks are actually added and removed from the active tracks list. Added a command thread in audio policy service to handle stop/release commands asynchronously and avoid deadlocks with playback thread. - Track terminated status is not a state anymore. This condition is othogonal to state to permitted state transitions while terminated. Change-Id: Id157f4b3277620568d8eace7535d9186602564de
* camera2: Implement ICameraDeviceUser::waitUntilIdleZhijun He2013-07-231-0/+2
| | | | | | Also fixed some logging typo Change-Id: Ib254bdb137dca10b12595c23aeb1c53097423425
* Use AudioSystem::setLowRamDevice() to configure memoryGlenn Kasten2013-07-192-0/+6
| | | | | Bug: 9798886 Change-Id: I9321e3f369f1ed9429ae222e3926ebdeb012b8b0
* ANetworkSession and ParsedMessage are now part of stagefright foundation.Andreas Huber2013-07-182-0/+195
| | | | | | | | Also fixes some bugs in ParseMessage and adds "WebSocket" mode to ANetworkSession, something that's opt-in and should not affect existing clients of the API. Change-Id: I86d5748e0d818231d85d3590d86c2b41d4f8b1f1
* Merge "Support "suspension" of a video encoder in "surface-input" mode."Andreas Huber2013-07-171-0/+10
|\