summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Public API changes for audio offload support.Richard Fitzgerald2013-06-2711-25/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: this does _not_ include all private member variables added to classes as part of offload support. Only public/protected functions and stubs functions/variables needed to make the changes buildable. - isOffloadSupported() added to audio policy service A stub implementation is required to build, this always returns false - setParameters() added to IAudioTrack A stub implementation is required to build, this always returns INVALID_OPERATION - CBlk flag for stream end - Change AudioSystem::getRenderPosition() to take an audio_output_t so caller can specify which output to query - Add AudioSystem::isOffloadSupported() This is fully implemented down to the AudioFlinger function AudioPolicyServer::isOffloadSupported() which is just a stub that always returns false. - Add EVENT_STREAM_END to AudioTrack interface. STREAM_END is used to signal when the hardware has actually finished playing all the data it was sent. - Add event type enumeration to media player interface AudioSink callbacks so that the same callback can be used to handle multiple types of event. For offloaded tracks we also have to handle STREAM_END and TEAR_DOWN events - Pass audio_offload_info_t to various functions used for opening outputs, tracks and audio players. This passes additional information about the compressed stream down to the HAL when using offload. For publicly-available APIs this is an optional parameter (for some of the internal and low-level APIs around the HAL interface it is mandatory) - Add getParameters() and setParameters() API to AudioTrack Currently dummy implementations. - Change AudioPlayer contructor so that it takes a set of bitflags defining what options are required. This replaces the original bool which only specified whether to use deep buffering. - Changes to StageFright class definition related to handling tearing-down of an offloaded track when we need to switch back to software decode - Define new StageFright utility functions used for offloaded tracks Currently dummy implementations. - AudioFlinger changes to use extended audio_config_t. Fills in audio_offload_info_t member if this info is passed in when opening an output. - libvideoeditor changes required to add the new event type parameter to AudioSink callback functions - libmediaplayerservice changes required to add the new event type parameter to AudioSink callback functions Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1 Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Eric Laurent <elaurent@google.com>
* Merge "Adds VP9 decoding support for stagefright."Lajos Molnar2013-06-2510-23/+57
|\
| * Adds VP9 decoding support for stagefright.hkuang2013-06-2410-23/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | Also change the VP8 encoder role name from video_encoder.vpx to video_encoder.vp8 for future VP9 encoder support. Requires the change in frameworks/native and media_codecs.xml corresponding to the device. VP9 decoding test will be added to cts repo later.
* | Merge "Workaround AudioRecord bug for large buffer sizes"Glenn Kasten2013-06-251-1/+2
|\ \
| * | Workaround AudioRecord bug for large buffer sizesGlenn Kasten2013-06-241-1/+2
| | | | | | | | | | | | | | | Bug: 9556436 Change-Id: I92d1238b623d2cfd648e0a684d0e710fb0bd8b43
* | | Merge "Use mFutex as an event flag rather than semaphore"Glenn Kasten2013-06-251-6/+5
|\ \ \ | |/ /
| * | Use mFutex as an event flag rather than semaphoreGlenn Kasten2013-06-241-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | An event flag can be more fault-tolerant in case of loss of synchronization, as it cannot overflow. It also allows more bits to be used in the future. See http://en.wikipedia.org/wiki/Event_flag Change-Id: I01ca25d951eb263124da54bb4738f0d94ec4a48b
* | | stagefright: support for video decoder metadata modeLajos Molnar2013-06-211-15/+186
|/ / | | | | | | | | | | Change-Id: Id360f29236798163f9f3a82135f601083a8a5058 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 7093648
* | am 455479bc: am 209bbbcf: Apply EQ and bass boost first in effect chainJean-Michel Trivi2013-06-201-2/+2
|\ \ | |/ |/| | | | | * commit '455479bc2c6a88746d4801f3f5a0e8d9f8609528': Apply EQ and bass boost first in effect chain
| * am 209bbbcf: Apply EQ and bass boost first in effect chainJean-Michel Trivi2013-06-201-2/+2
| |\ | | | | | | | | | | | | * commit '209bbbcf4190231f9dede758cbe77d109919f9f1': Apply EQ and bass boost first in effect chain
| | * Apply EQ and bass boost first in effect chainJean-Michel Trivi2013-06-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EQ and bass boost can improperly interact with other effects (e.g. virtualizer) outside of the bundle. Apply them first in an effect chain, which is equivalent to using them to affect the content of a track, rather than how a track is presented, when additional effects are cascaded behind EQ and BB. Bug 8589316 Change-Id: Ifb34e46bc1969f613cdc90ee2a79af677e2fad92
* | | Merge "Speed up id3v2 unsynchronization"Marco Nelissen2013-06-171-5/+10
|\ \ \
| * | | Speed up id3v2 unsynchronizationMarco Nelissen2013-06-171-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of doing many overlapping memmoves, do a single copy pass that skips over the inserted unsynchronization bytes. For some files this reduces parsing time from minutes to milliseconds. b/9463262 Change-Id: I735b7051e77a093d86fb7a3e46209875946225ed
* | | | Merge "The software avc decoder would silently drop output frames if not"Andreas Huber2013-06-172-36/+31
|\ \ \ \
| * | | | The software avc decoder would silently drop output frames if notAndreas Huber2013-06-142-36/+31
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | enough room was available in the output queue at the time they were available. No more. Change-Id: I5957290d40ba31bda7944271ec7f2aa0f1f7043c
* | | | am 767227fc: am 82fc2ca6: am d5018116: Merge "Fix typo."Glenn Kasten2013-06-141-1/+1
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit '767227fcac7be843b338473954420d390e354bf7': Fix typo.
| * | | am 82fc2ca6: am d5018116: Merge "Fix typo."Glenn Kasten2013-06-141-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * commit '82fc2ca6905978b4f49f2c6bf948a6872575f2cc': Fix typo.
| | * \ \ am d5018116: Merge "Fix typo."Glenn Kasten2013-06-141-1/+1
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd5018116252a3ecb491e2eaddad12180b85d1e78': Fix typo.
| | | * \ \ Merge "Fix typo."Glenn Kasten2013-06-141-1/+1
| | | |\ \ \
| | | | * | | Fix typo.Masaki Muranaka2013-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia72ed2bef54751dc2d6c3379a58de95a0e9ebfdd
| | | * | | | Noise will be heard if audio sample rate not matched with audio trackMing Zhou2013-06-071-1/+1
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When audio sample rate which set to audio track is not the same with the actual pcm data, noise will be heard. Fix the bug when write 8 bit pcm samples. Change-Id: Idcb0d7b0e9aaa250dd22b758c8337e23d1706049 Signed-off-by: Ming Zhou <b42586@freescale.com> Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
* | | | | | AudioRecord must be used as sp<> onlyGlenn Kasten2013-06-131-7/+2
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | Bug: 9423855 Change-Id: I78ba8228c60dff11fb466156bb632c5dda45cdaf
* | | | | New control block for AudioTrack and AudioRecordGlenn Kasten2013-06-124-1045/+1726
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Main differences between old and new control block: - removes the mutex, which was a potential source of priority inversion - circular indices into shared buffer, which is now always a power-of-2 size Change-Id: I4e9b7fa99858b488ac98a441fa70e31dbba1b865
* | | | | Converter now takes the desired _output_ format instead of theAndreas Huber2013-06-123-37/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | input format, allowing control over the type of encoding. Change-Id: Iaaa1a825f447ea130e373bbd8e5dc96f2762db18
* | | | | am f8af99b7: am 0662f7b6: Merge "stagefright: synchronously change ↵Lajos Molnar2013-06-121-13/+18
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | nativewindow crop" into jb-mr2-dev * commit 'f8af99b7c10f1441d9a52676724b168f20752270': stagefright: synchronously change nativewindow crop
| * | | | am 0662f7b6: Merge "stagefright: synchronously change nativewindow crop" ↵Lajos Molnar2013-06-121-13/+18
| |\ \ \ \ | | |/ / / | |/| | / | | | |/ | | |/| | | | | | | | | into jb-mr2-dev * commit '0662f7b6735df0a140f6512285d05f8f9a38bb98': stagefright: synchronously change nativewindow crop
| | * | stagefright: synchronously change nativewindow cropLajos Molnar2013-06-111-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only change the nativewindow crop before queuing frames with the new crop. Change-Id: Icd8a84c82e66a8be3d6bc1675c777b1de8dc39b9 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 9395753
| * | | am 25b5617c: Merge "stagefright: Fix port-reconfiguration & ↵Lajos Molnar2013-06-031-6/+4
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | output-buffer-filled race condition" into jb-mr2-dev * commit '25b5617c56488fe5413473ffae6b43f6c5bddc96': stagefright: Fix port-reconfiguration & output-buffer-filled race condition
| | * | Merge "stagefright: Fix port-reconfiguration & output-buffer-filled race ↵Lajos Molnar2013-06-031-6/+4
| | |\ \ | | | | | | | | | | | | | | | condition" into jb-mr2-dev
| | | * | stagefright: Fix port-reconfiguration & output-buffer-filled race conditionLajos Molnar2013-05-311-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the invalid assumption that when a port-reconfiguration event is received, buffers cannot be downstream (waiting to be rendered). Luckily, these buffers are properly handled (freed) after they are sent to be rendered. Change-Id: I1df39c1ffc2bfb96f8b7b4ee5be07cae654f956f Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 8736466
* | | | | Remove "LOCAL_MODULE_TAGS := debug" for stagefright testsMike Lockwood2013-06-061-8/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: I53815d2f6d7dfe7eebb26c3802eb3d195244aab1
* | | | | stagefright: created SoftVideoDecoderOMXComponentLajos Molnar2013-06-059-794/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Created common base class for all software video decoders to make adding new features easier. Change-Id: Id89964e572d5cc5add02662273e6ae96c6b7eb12 Signed-off-by: Lajos Molnar <lajos@google.com>
* | | | | Track exact timestamps in SoftMPEG4/H263 decodersLajos Molnar2013-06-052-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7772e3afec020f889dea80fd6372afbc36cd68d6 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 9285553 (cherry picked from commit e113aa1f078cb3d5f8182058e144fd14ce945fca)
* | | | | Reset PV decoder on SoftMPEG4 decoder resetLajos Molnar2013-06-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, state may be undefined for subsequent frames. Change-Id: Icdc0126247e1422eba21f2008a04cf7867d93f5d Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 9284771 (cherry picked from commit 0f15875b8e80fb49a3b18d88964b063326f307b9)
* | | | | Merge "Fix underruns when sample rate != native sample rate"Glenn Kasten2013-06-041-2/+4
|\ \ \ \ \
| * | | | | Fix underruns when sample rate != native sample rateGlenn Kasten2013-06-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This forces a minimum of 3 application buffers when the sample rates don't match, using the normal mixer and low latency HAL. There is still an issue that the latency() varies depending on whether screen was off or on at the time of creating the AudioTrack. With screen on: I/AudioTrack( 2028): afFrameCount=960, minBufCount=2, afSampleRate=48000, afLatency=50 I/AudioTrack( 2028): minFrameCount: 2646, afFrameCount=960, minBufCount=3, sampleRate=44100, afSampleRate=48000, afLatency=50 With screen off: I/AudioTrack( 2817): afFrameCount=960, minBufCount=4, afSampleRate=48000, afLatency=84 I/AudioTrack( 2817): minFrameCount: 3528, afFrameCount=960, minBufCount=4, sampleRate=44100, afSampleRate=48000, afLatency=84 Change-Id: Ib45515edff2afcd672dda34881b658c800ffc25a
* | | | | | Merge "Fix uninitialized variable error in HLS bandwidth determination."Andreas Huber2013-06-031-1/+1
|\ \ \ \ \ \
| * | | | | | Fix uninitialized variable error in HLS bandwidth determination.Andreas Huber2013-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I647e79443f2a06e5b1b4f9068c02b424b0e57989
* | | | | | | Merge "Fix our software decoders to reset (more of) their internal state"Andreas Huber2013-06-0311-0/+30
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |
| * | | | | | Fix our software decoders to reset (more of) their internal stateAndreas Huber2013-06-0311-0/+30
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | properly on a transition from idle->loaded. Change-Id: I56ccfeef24c391e50e42b522194206e35c7ab700 related-to-bug: 9105408
* | | | | | Merge "Use sp<AudioTrack> instead of raw AudioTrack *"Glenn Kasten2013-06-036-59/+37
|\ \ \ \ \ \
| * | | | | | Use sp<AudioTrack> instead of raw AudioTrack *Glenn Kasten2013-06-036-59/+37
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change prepares for the new implementation of AudioTrack client, which will require clients to use only sp<AudioTrack>, not raw AudioTrack *. A raw delete will cause a race condition during AudioTrack destruction. AudioTrack was made a RefBase by commit b68a91a70bc8d0d18e7404e14443d4e4020b3635 on 2011/11/15, when it was needed by OpenSL ES (for the callback protector). At that time, the only other client that was also converted from AudioTrack * to sp<AudioTrack> was android.media.AudioTrack JNI in project frameworks/base (file android_media_AudioTrack.cpp). Details: * Use .clear() instead of delete followed by = NULL. * ALOG %p need .get(). * sp<> don't need to be listed in constructor initializer, if initially 0. * Use == 0 for sp<> vs == NULL for raw pointers. * Use if (sp != 0) instead of if (raw). Change-Id: Ic7cad25795d6e862e112abdc227b6d33afdfce17
* | | | | | Merge "wifi-display: fix resolution list and keepalive interval"Chong Zhang2013-06-033-3/+30
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | wifi-display: fix resolution list and keepalive intervalChong Zhang2013-05-303-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add all resolutions lower than 1280x720p30 - schedule next keepalive when sending M16 bug 9116665 Change-Id: I7b3fea2101d3d882c0af5c153af5c502b8ce98f6
* | | | | | am f9bb8358: am b7319a7e: Update HTTP proxy configuration for all media ↵Andreas Huber2013-06-0313-2/+161
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | playback inside stagefright. * commit 'f9bb8358e454be6dc88403171db7e0e182407f17': Update HTTP proxy configuration for all media playback inside stagefright.
| * | | | | am b7319a7e: Update HTTP proxy configuration for all media playback inside ↵Andreas Huber2013-06-0313-2/+161
| |\ \ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | stagefright. * commit 'b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1': Update HTTP proxy configuration for all media playback inside stagefright.
| | * | | | Update HTTP proxy configuration for all media playback inside stagefright.Andreas Huber2013-05-3113-2/+161
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b related-to-bug: 8873723 (cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
* | | | | Merge "New HLS implementation supporting independent stream sources, ↵Andreas Huber2013-05-3123-828/+2563
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | audio-only streams"
| * | | | | New HLS implementation supporting independent stream sources, audio-only streamsAndreas Huber2013-05-3123-828/+2563
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | and more. Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
* | | | | Merge "Consistent whitespace"Glenn Kasten2013-05-313-6/+8
|\ \ \ \ \ | |/ / / / |/| | | |