| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
SurfaceMediaSource operates in metadata mode only, i.e. just the
metadata is stored in videobuffers. SurfaceMediaSource passes the Gralloc
buffer handle along with a 4 byte 'type' (indicating that the metadata
is of type GrallocSource) to the encoder as opposed to the
GrallocBuffer itself.
Related to bug id: 4529323
Change-Id: I83aebc0dd10f317658cdf70be5802dfc35a1e72d
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added APIs to control pre processes applied on captured audio.
Those APIs are still hidden until reviewed by API council.
Three types of standard pre processes are supported:
- Automatic Gain Control (AGC) by AutomaticGainControl class
- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class
- Noise Suppression (NS) by NoiseSuppressor class
A method is added to AudioEffect class to query audio pre processings
applied by default by the platform on a given AudioRecord session ID.
Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
related-to-bug: 4973779
Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
|
|\ \ \
| | | |
| | | |
| | | | |
in case time out happens"
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
time out happens
o Deal with vendor codec hang bug
Change-Id: Ic8449afd43045f09a9e0bd3d1be9a320e59ccabe
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Restore QueryCodecs() signature exactly as used by third-party libs.
Add an alternative function to select HW only codecs.
Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
|
|\ \ \ \
| | |_|/
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Making a connection from MediaRecorder Native layer to the
SurfaceMediaSource for the purpose of encoding GL Frames. This will be
called from the java side inside the Mobile Filter Framework.
The mediarecorder native layer (client), when set the videosource to
option VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver
side to create a SurfaceMediaSource object and pass it back as a
sp<ISurfaceTexture> object. Using that, the client side will dequeue and
queue buffers. Connecting the GL Frames to the obtained
sp<ISurfaceTexture> is not part of this CL.
Related to bug id: 4529323
Change-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This change adds the 'abandon' method to the SurfaceTexture C++ class.
This method may be used to put the SurfaceTexture in an abandoned state,
causing all ISurfaceTexture methods to fail.
Change-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change removes the getAllocator method from SurfaceMediaSource
because that method is no longer a part of the ISurfaceTexture
interface.
Change-Id: I0e2f0bc3bc1c8cd3c1b4b14246f07b9b4e3066c3
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Related to bug id: 4529323
Change-Id: Id820d45a536bd2c65e0a59def564eb5b3ea4a71c
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Adding SurfaceEncoder which can be used to encode
custom frame data. In a sense, it is reverse
of what SurfaceTexture does.
SurfaceEncoder takes in frames from a native window and
passes them to an encoder, thus acting like a MediaSource.
It uses GRAlloc buffers underneath for passing data.
The client side sets the geometry, format in the beginning,
which cannot be changed while the recording is going on.
Currently, there is no common pixel format that both
GRAlloc and HAL understand.
Also, the encoder cannot encode using the data from the GRAlloc
buffers.
The SurfaceEncoder_test examines mainly the buffer passage
since true encoding cannot be done at this point.
SimpleDummyRecorder 'reads' the frames in the same thread
as the start(), whereas DummyRecorder 'reads' in a separate
thread much like the MPEG4Writer. The test with DummyRecorder
is much closer to the real encoding implementation.
Related to bug id: 4529323
Change-Id: I58ec19a150f8fe4d6195196dc44f55002b46c7c8
|
|/ / /
| | |
| | |
| | |
| | | |
Change-Id: I147fc18ef55bc89d2e2fee69b7869c45abbfdd6b
related-to-bug: 3405354
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adding an enum to indicate an android opaque OMX
colorformat. This will inform the encoder that
the actual colorformat will be relayed by the
Frames read from the GRAlloc Buffers
Related to bug id: 4529323
Change-Id: Iddc5bd1ce8ca2b2506a57aadf5fc91ff0c7b78ef
|
|\ \ \
| | | |
| | | |
| | | | |
limitations-jni/java part"
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Don't hard code platform-specific limitations-jni/java part
Change-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Bug: 5056917
Change-Id: I1a7a73579e3ba4e9709459329fc1901a28b0f4b1
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Audio effect framework is extended to suport effects on
output and input audio path.
AudioFlinger: Support for audio effects and effect chains is
moved from PlaybackThread class to ThreadBase class so that
RecordThread can manage effects.
Effects of type pre processing are allowed on record thread
only. When a pre processing is enabled, the effect interface handle is
passed down to the input stream so that the audio HAL can call the
process function. The record thread loop calls the effect chain process
function that will only manage the effect state and commands and skip the
process function.
AudioRecord: The audio session is allocated before calling getInput() into
audio policy serice so that the session is known before the input theead is
created and pre processings can be created on the correct session.
AudioPolicyService: default pre processing for a given input source are
loaded from audio_effects.conf file.
When an input is created, corresponding effects are created and enabled.
Change-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change makes MediaPlayer connect to the ANativeWindow to which it
is going to render video frames and disconnect when it is done.
Change-Id: I88ab5c2fe62493aabdc84a283ff31634f795d415
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add an option to OMXCodec::QueryCodecs() to filter out
software codecs.
Update stagefright command line tool to list the roles of codecs.
Change-Id: Icddb79118c30fe13cc3aea20f340174cc082c4e0
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | | |
Change-Id: I9c20db128be96cd36cf2083e08e8c21f5e6d1fdf
|
| | |
| | |
| | |
| | | |
Change-Id: I6725d42d38b91e6a1cbca43174870f445aeb3d99
|
| |/
|/|
| |
| |
| |
| |
| | |
through IStreamListener.
Change-Id: Ic0409cdc4891ad26b61f2f98bdda3c7fb2e2de6a
related-to-bug: 5022434
|
| |
| |
| |
| | |
Change-Id: I4388d8f6cf30f08858aec73aa971647feae4a5e3
|
|\ \ |
|
| |/
| |
| |
| | |
Change-Id: If681749753bb96ee98c1539658cfd919eeb0cb65
|
|/
|
|
| |
Change-Id: I2f7e4b8501db3d80b9aa6f99d896d778bec29e8c
|
|
|
|
|
|
|
|
| |
Moved specific effect header files to
system/media/audio_effects/include/audio_effects
and renamed to lower case (effect_xxx.h).
Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
|
|\
| |
| |
| | |
MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager"
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add one more column in MediaStore to indicate whether a
media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager
Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
|
|\ \ |
|
| |/
| |
| |
| |
| | |
Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067
related-to-bug: 4517282
|
|\ \
| | |
| | |
| | | |
metadata buffers"
|
| | |
| | |
| | |
| | |
| | |
| | | |
buffers
Change-Id: I6aa6b5da004c240c9986f6b9036950e234c8bd42
|
| |/
|/|
| |
| | |
Change-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad
|
|/
|
|
|
|
|
|
| |
file
in MPEG2TSWriter
Change-Id: Ie54a5677c7b789a973aa50b7f197c6db238425bc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure sf2 does not coalesce input buffers, generalize ACodec's codec
instantiation based on OMXCodec's list of eligible component names.
Some changes/additions to the "sf2" commandline tool
Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s'
New option '-R' renders surface-allocated buffers.
Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.
Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.
Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.
ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()
ICameraRecordingProxyListener
dataCallbackTimestamp()
The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.
The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().
bug:2644213
Change-Id: I15269397defc25cbbcae16abc071c8349c123122
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added the video decoder component name to kDecoderInfo.
Set the quirks for the video decoder.
Add a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format.
Added a color conversion routine [ from NV12 to RGB ] for thumbnail generation.
Change-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
|
|
|
|
|
|
| |
- Modify the media framework test for Metadata.
Change-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf
|