| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| | |
OK to lose history
Change-Id: Ieca78edc5dfe479dd7ea48fe7e0f3c164356cee3
|
| |
| |
| |
| |
| |
| |
| | |
Remove old includes.
Header files only include other header files that they directly need themselves.
Change-Id: Ic471386808d9f42ea19ccbd59cb50a5f83a89dd0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | |
| | | |
* changes:
Make android.hardware.photography.Camera work on HAL3+ devices
Initial implementation of android.hardware.photography.CameraDevice (service)
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Verified preview streaming requests
* Other things *should* work but unverified / unimplemented in client side
Missing:
* CameraService needs to return static camera info metadata
Bug: 9213377
Change-Id: I71568560fcf18d0e2b408ed1c4d0066647314868
|
|/
|
|
|
|
| |
Change-Id: Id360f29236798163f9f3a82135f601083a8a5058
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 7093648
|
|
|
|
|
| |
Bug: 9423855
Change-Id: I78ba8228c60dff11fb466156bb632c5dda45cdaf
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| | |
nativewindow crop" into jb-mr2-dev
* commit 'f8af99b7c10f1441d9a52676724b168f20752270':
stagefright: synchronously change nativewindow crop
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Done:
* ICameraService
* ICameraServiceListener
Partial:
* ICamera (disconnect only)
* IProCameraUser (disconnect only)
Bug: 9213377
Change-Id: I8e2e6e05cfd02ec36be1d5b2c551f10ffb43b5b4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
playback inside stagefright.
* commit 'f9bb8358e454be6dc88403171db7e0e182407f17':
Update HTTP proxy configuration for all media playback inside stagefright.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b
related-to-bug: 8873723
(cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
|
|\ \ \
| |/ /
| | /
| |/
|/|
| |
| | |
into jb-mr2-dev
* commit '1cd68527a6c4cc92608dfe8a8c6ba51e5e2c4fc2':
MediaMuxer: Remove SAMPLE_FLAG_SYNC flag
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MediaMuxer.writeSampleData() uses MediaCodec.BufferInfo
objects to specify the flags, so use directly the MediaCodec
flags. This is more intuitive and avoids users of the
MediaMuxer API having to create translations between
MediaMuxer's and MediaCodec's flag constants.
Change-Id: I18e12a6839ffb2c63da62516a4dc4c94e8bb3d17
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9169479
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes a regression introduced recently, that increased timing jitter
during the startup of the FastMixer and AudioTrack callback threads.
The regression was to make requestPriority() asynchronous as a way to
avoid an apparent priority inversion in system_server. This means that
the target thread could run briefly with the initial priority, before
the new priority takes effect.
This change removes the startup jitter for FastMixer, by making the
requestPriority() synchronous again for that case. It doesn't matter
that this restores the priority inversion involving normal mixer thread,
because it happens during startup of both threads.
The change also removes the startup jitter for the AudioTrack callback
thread, by having the target thread check whether the requestPriority()
has completed yet. If not, the target thread blocks with a timeout
until the priority boost finishes.
Finally, we now log an error message if the expected priority boost
doesn't happen.
Bug: 8698989
Change-Id: Id590e9a274b70ec1ba85b44a585ee37a22e41cbc
|
| |/
| |
| |
| |
| |
| |
| | |
codec specific data is provided as part of the MediaFormat if available.
Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e
related-to-bug: 8616651
|
| |\
| | |
| | |
| | | |
would" into jb-mr2-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
not return from a stop() or release() call if mediaserver dies at just the right
moment.
Change-Id: I7728f8df82d62602d4d272f8023aa88678dd7d95
related-to-bug: 8397711
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
output buffers already queued for rendering before considering a flush
completed. Otherwise the decoder may not have enough output buffers to
continue decoding after the discontinuity and we'll never dequeue more
from the native window.
Change-Id: I42e275dc336568e180081c6d7c0dc05fc9637c79
related-to-bug: 8578467
|
| |
| |
| |
| |
| | |
bug: 8621516
Change-Id: I9a06c9ea5bfde924906d3876a417b9451b6abde8
|
| |\
| | |
| | |
| | | |
mode." into jb-mr2-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By default, MPEG4Write will keep running in real time recording mode.
bug:8598944
Change-Id: Idf7fbd4e0feb7763660a74279ba8817b79098aaf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
anything other than "uninitialized" state.
Change-Id: Id133d897ac65b455b34e5de17ff9c39b47285630
related-to-bug: 8397711
|
| | |
| | |
| | |
| | |
| | |
| | | |
b/7465749
Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
|
| |\ \
| | | |
| | | |
| | | | |
jb-mr2-dev
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b
|
| |\ \ \
| | |/ /
| | | /
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.
Change-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Stream creation/deletion
- Request submission
- Request thread loop
- Add get() to CameraMetadata to allow HAL submission while retaining
ownership.
Change-Id: I271f72bcbe9557eded43cbcbfe789109857f8144
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The first DTMF tone after a silent period is truncated.
This is because the phone app starts and stops the tone
when the user presses and releases the key.
This combined to the fact that the tones use the low latency path
and that when the output stream exists standby there is a period
of several milliseconds during which no audio is mixed until the
stream is "warmed up".
The result is that much less audio is generated than the actual
key press duration.
The fix consists in storing the tone start time and making sure that
the number of samples generated corresponds at least to the time difference
between the tone start and stop commands.
Bug 6607077
Change-Id: I070d20dd8600c25a9e5d5a60c1d3313b7917b00d
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Minor: also change addListener to fire the current status upon subscription
* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated
Change-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e
|
| | |
| | |
| | |
| | |
| | |
| | | |
and put the logic to create that string in one location instead of many...
Change-Id: I1f729f2e7376cd3b45eea0e48f7bd10084b41b39
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently crypto plugins are expected to be in libdrmdecrypt.so.
When there are multiple plugins supporting different schemes,
this approach requires source code integration across
vendors which is unmanagable. Also, for integration with
MediaDrm where the crypto keys are obtained from a drm server,
the MediaCrypto plugin needs to interoperate with the MediaDrm
plugin. This change allows {MediaCrypto, MediaDrm} pairs that
are logically related to be implemented in a common shared
library.
Change-Id: I7f6638f29171f91609fc2d944396365568630b56
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | | |
Change-Id: I41a9f358f63a19e7b746a9ccf24722001e5e7475
|
| |\ \ |
|
| | |/
| | |
| | |
| | |
| | |
| | | |
bug:7991013
Change-Id: I10cb034b432876c724baa4974efcb3d67b8a99b6
|
| |\ \
| | |/
| |/| |
|