History log of /frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3e328782f1e1061d08ea0c45b855cc418a2d9ea6 09-May-2016 Lajos Molnar <lajos@google.com> stagefright: untangle metadata-mode handling

- specify requested metadata mode from producers to OMX
- (pass requested metadata in IOMX::storeMetadataInBuffers)
- use correct logic for native handle source
- use native handle source for encoded meta buffers

Bug: 22775369
Change-Id: I58b03acd3e9a5367d5010d7f87b7af5cae23362c
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
d56db1d2bee182d1851097a9c712712fc094d117 18-Dec-2015 Eino-Ville Talvala <etalvala@google.com> Camera: Switch camera2 to auto-gen C++ binder interfaces

- Move camera service AIDL files to frameworks/av
- Build C++ interface stubs with AIDL tools
- Add necessary native-side parcelables and update existing ones
- Remove manually-written stubs, rearrange remaining manual stubs
- Adjust implementations to work with auto-generated stubs
- Adjust method signatures for auto-gen differences
- Add rich error messages using binder::Status

Bug: 25091611
Change-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
98a668f6ea51e4d894d2ebb61a0e18287fb14008 18-Dec-2015 Chien-Yu Chen <cychen@google.com> Camera: Fix client permission check

Modify StageFright's CameraSource to forward calling PID as
client PID when connecting to CameraService so CameraService
can check if the client PID has permission to use camera.

Change CameraService to check calling UID is trusted before
using the passed in client PID and client UID to verify permission.

Bug: 24511454
Change-Id: I4906ab73510e2c75714690bed675e3c13aca3ccf
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
d008275796ac4cccf85fefce53cef733a49bc1fa 31-Aug-2015 Wonsik Kim <wonsik@google.com> Implement pause/resume functionality to MediaRecorder

Bug: 20092236
Change-Id: Ia0e92ff246302fd5fdef53c4f961d6645cc26a86
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
46d26dd29195450db15704e84d65740628a821fb 16-Jul-2015 Chong Zhang <chz@google.com> MediaRecorder: enable audio for slow motion recording

bug:22460747

Change-Id: I23f773ecf7b86928a8eacd25a481636e645affbe
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
d46a6b9fd8b2a4f9098757384711e2cd03a91651 15-May-2015 Eino-Ville Talvala <etalvala@google.com> Camera1 API: Support SW encoders for new camera HALs

- Support new set video format/dataspace command in camera service
- HALv3: Select gralloc usage flags based on format
- HALv1: Pass format command directly to HAL layer
- Use format/dataspace command in CameraSource
- Switch all API1 recording to use metadata mode
- Switch all >= HALv2 API1 recording to use kMetadataBufferTypeANWBuffer

Bug: 13222807
Change-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
8f469e18c307cb9dc0d16ed9225972aa8be4516f 13-May-2015 Chong Zhang <chz@google.com> stagefright: rename usePersistentInputSurface to setInputSurface

and clear persistent surface pointer when MediaRecorder is reset

bug: 21045118
bug: 21045402
Change-Id: Ifd0d6deeb969f2252123929541b30b518cecbf9a
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049 01-May-2015 Chong Zhang <chz@google.com> MediaRecorder: implement persistent input surface APIs

Bug: 19127604
Bug: 19489395

Change-Id: I7dd8015a8fe029f9867fcdb52322629c77eff50b
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
be71aa29a3c86d2e01cd17839d2a72ab09a1bce5 28-Apr-2015 Svet Ganov <svetoslavganov@google.com> Respect the record audio app op - media

Change-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
6d339f1f764bbd32e3381dae7bfa7c6c575bb493 18-Apr-2015 Lajos Molnar <lajos@google.com> libmediaplayerservice: fix warnings, make warnings errors, use clang

Change-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
9ee53a49860e91c2b012883eef09d669a7829e06 21-Feb-2015 Chong Zhang <chz@google.com> MediaRecorder: pass capture fps in float

bug: 19460202

Change-Id: Ic8f2dc02dfd482c4b2065b16e28721fc6e3cf696
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
c9f122d8f32ba6928ac9087448025fa3bed1553d 03-Feb-2015 Zhijun He <zhijunhe@google.com> StageFrightRecorder: update setVideoFrameRate sanity check

Allow high speed recording fps to be up to 1000fps

Change-Id: I975d11b8a9abbd50ce6982fb46f4a4a3a035e475
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
c6ac859f5a82ea8642bc6351a45508a15f224f32 08-Dec-2014 Marco Nelissen <marcone@google.com> Remove filename based writer constructors

MediaPlayerService can't open files (it needs an already opened
file descriptor), so these were just wasting space.

Change-Id: I323044a6c1814a7bff952ed71b5c7792df2abf03
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
54ef1bae010f12dfe6a40ff4452695b1b11ff449 09-Sep-2014 Chong Zhang <chz@google.com> StagefrightRecorder: default to codec and fps from camcorder low profile

Bug: 16870964
Change-Id: I18425af630d3f041a3bcf77fbae3f07856fe8af2
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
114819633470ebd5b346c13c2a82a0025d2d39c0 10-Jul-2014 Robert Shih <robertshih@google.com> StagefrightRecorder: webm (video only) support

Bug: 16329805
Change-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
1a5690652f3f6ee40f15c2f9f6c4b6badf4dbcf5 26-Feb-2014 Chong Zhang <chz@google.com> initialize encoder at start() time for camera source

Bug: 13156212
Change-Id: I845ef51f662f04c50179dbfb128204922a424e1d
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
72cecca17d735db6532c45f0a7e10c47ee6f065a 26-Dec-2013 Chong Zhang <chz@google.com> Change StagefrightRecorder to use MediaCodec

Bug: 12305192
Change-Id: I72d7cb571be5bd348b58ad650f3269d24c15d350
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
b5099903c059dc913e0e592969c10d15fac0c14c 15-Nov-2013 Robert Shih <robertshih@google.com> Merge "Fixed StagefrightRecorder::setupVideoEncoder to use the clipped bitrate value mVideoBitRate; removed unused arguments after refactoring."
4db37cedd4db8230f3ec6191d8d7ba2b0036886e 12-Nov-2013 Robert Shih <robertshih@google.com> Fixed StagefrightRecorder::setupVideoEncoder to use the clipped bitrate value
mVideoBitRate; removed unused arguments after refactoring.

Bug: 11074303
Change-Id: Ieb5dd7dc67e5bc16b6e580ba11b157e4365f3cd6
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
9c7f845780d62ea09469a8dac7117cc01adfea5c 30-Oct-2013 Lajos Molnar <lajos@google.com> StageFrightRecorder: do not use meta-data mode for software encoders

Camera HAL v1 uses vendor-specific camera-source meta-data mode, but
software encoders use generic gralloc-source mode, so they are not
compatible.

Change-Id: I0d1bab8eada26dcb70c97b1eec83f06d1f331239
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11446505
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
99617adda9bc46c43f511f0940bc735c73de61de 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor or IGraphicBufferProducer

Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
ceb388d6c03c38b96dc41c0ea4804b749aa077c4 19-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CameraService and Stagefright: Support AppOps

Camera:
- Signal to AppOpsService when camera usage starts and stops
- Listen to permissions revocations and act on them
- Currently just kill camera connection when permissions lost

Stagefright:
- Pass on client name, UID to camera as needed

Bug: 8181262
Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
8ba01021b573889802e67e029225a96f0dfa471a 18-Dec-2012 Andy McFadden <fadden@android.com> Rename ISurfaceTexture and SurfaceTexture

The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.

Bug 7736700

Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
b832a03d563dd000faa44f2577e92237525edc32 06-Oct-2011 James Dong <jdong@google.com> Fix an issue where we should allow negative values but did not

Change-Id: Ia8d718b4e6aec4c17db86e30134132f767fd72c5
related-to-bug: 5419527
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
3cecf640c4daf2df616b278bd9986018c8182908 30-Jun-2011 James Dong <jdong@google.com> Do not support still image capture mode for timelapse video recording

related-to-bug: 4973779

Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
b33f3407bab0970a7f9241680723a1140b177c50 02-Jul-2011 Pannag Sanketi <psanketi@google.com> Connect MediaRecorder Native to SurfaceMediaSource

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
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
d552b88515c6ccd18695e5db5e6032a6425d8c63 08-Jul-2011 James Dong <jdong@google.com> Use advertised h264 encoding parameters by default if the profile is not baseline

o Force to use AVC baseline profile for camcorder low quality videos

Change-Id: I3424c57dd0c55fc4991f5767b57695c8f3420ecb
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
4ca2c7c913f8bd4ada13aca56d36045d42d1e00f 01-Jun-2011 Wu-cheng Li <wuchengli@google.com> Add framework support for camcorder zoom.

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
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
86b7f47aa7482424cf8fd248f1315311919be3b0 10-May-2011 James Dong <jdong@google.com> Support platform and camera dependent recording start time offset

related-to-bug: 4390777

Change-Id: Icb52973ad4ac716f04fb103ef527915a966d06d5
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
07b1bb529a1ae76c46a71b01338c166f9490629d 12-May-2011 James Dong <jdong@google.com> Support for storing geo information in the recorded mp4/3gpp file.

o Geo data (latitude and longitude) is stored in udta box

Change-Id: I76e4aeb741c4b339f3753d3d28190151f3ea4919
related-to-bug: 4260295
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
64760240f931714858a59c1579f07264d7182ba2 11-May-2011 Dima Zavin <dima@android.com> update for new audio.h header location

Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
760943b5e7a09b602aba04ec451e97662f48b0a4 21-Mar-2011 James Dong <jdong@google.com> Initial check-in for AACWriter

Change-Id: Ia21ca39a404484b2dda25c6101780d2ff11c4623

related-to-bug: 4211046
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
fce7a473248381cc83a01855f92581077d3c9ee2 20-Apr-2011 Dima Zavin <dima@android.com> audio/media: convert to using the audio HAL and new audio defs

Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
75b0b5473c7b43f8c5972db7e6e8930988ead751 23-Feb-2011 Gloria Wang <gwang@google.com> To collect the total usage time of encoders in the media recorder

Change-Id: I94c9c94dec6bd714a3ebf96b4465b94f069e55b8
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
42dd1d5f186252a7f09f8fb1a46ea82e3877b2d3 13-Jan-2011 James Dong <jdong@google.com> Add audio encoding parameters check

bug - 3345296

Change-Id: If3f33955f5473b0c5ad9c9b85f8b5cb21ddd7e65
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
13f6284305e4b27395a23db7882d670bdb1bcae1 09-Nov-2010 James Dong <jdong@google.com> Rotation support

- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation

The original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged.
The only change I made is to reuse the same kKeyRotation in MetaData.h;
and thus do not neeed to use kKeyRotationDegree.

Change-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
8480835b4bc1350646376aa7f3ae33742a7adeb1 02-Nov-2010 James Dong <jdong@google.com> Use meta data in the media recording framework

o This patch allows us to do 720p video recording

Change-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
f9f083e2853740c97588f4db82c24645ae5880e4 15-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of a127c07c to master

Change-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086
59b7dc39ea8332d3418a599e51447d7edb612ac4 12-Oct-2010 Andreas Huber <andih@google.com> Support for writing to MPEG2 transport stream files.

Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
54ff19ac69ace7c05ea90d225e26dab3b133f487 08-Oct-2010 James Dong <jdong@google.com> Move Camera specific logic out from StagefrightRecorder to CameraSource

o updated comments and streamlined the logic in
checkVideoSize() and checkFrameRate() as suggested

Change-Id: I49d04ac7998d4a215997aa63555dfb6e814e38d3
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
5f4d93467a03b3a38320416f8cc2c2c2c94bf3fc 04-Oct-2010 James Dong <jdong@google.com> Use setVideoSize API in StagefrightRecorder

Change-Id: Ia7ddf5e8d2b931453d2cb801169906191349ca07
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
78eff720c86eb6d4e3d45a144df60b2ca464d2d4 16-Sep-2010 Nipun Kwatra <nkwatra@google.com> Implemented frequent read returns for quick stop in time lapse.

If the frame capture interval is large, read will block for a long time.
Due to the way the mediaRecorder framework works, a stop() call from
mediaRecorder waits until the read returns, causing a long wait for
stop() to return. To avoid this, we return a copy of the last read
frame with the same time stamp if a frame is not available quickly.
This keeps the read() call from blocking too long. This method is
triggered when startQuickReadReturns() is called on
CameraSourceTimeLapse.

In the still camera case, also using waitRelative on Condition
instaed of sleeping, so that we can wake it up.
Also for the idle check instead of sleeping, we now wait on a
condition variable, which is woken up when the last takePicture
callback gets called.

Change-Id: Ia74386e175536aee0f44ae2f8b114c353d3d72f5
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
155e833a7a5fc3e193691324cf9326da1bc3289a 02-Sep-2010 Nipun Kwatra <nkwatra@google.com> Moving decision to use still camera to CameraSourceTimeLapse

CameraSourceTimeLapse now decides whether to use still or video
camera automatically. It checks if the passed in size is a valid
preview size and if it is, then uses the video camera else uses
the still camera.

Removed from StagefrightRecorder the support to set parameter
useStillCameraForTimeLapse.

Change-Id: I71f5b0fc7080ca524792381efe918d22e41a7f36
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
cfe88a20345dad981842b2c8092e4c704d3f98b4 01-Sep-2010 Nipun Kwatra <nkwatra@google.com> Support for auxiliary video parameters.

Added support for passing width, height and video bitrate
for the auxiliary video.
Also setting encoder level depending on the video size and bitrate.

Change-Id: I4a90046853f67287c3e7e6babc75b4827f0c3e73
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
9c075bca0b75093ca0514a3c8f74d73c8e9e83fd 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Adding support for parallel recording sessions.

- Added setOutputFileAuxiliary to pass the auxiliary file descriptor. The java
interface through JNI will be checked in next.

- renamed setupCameraSource to setupCamera as the function just sets the camera.
- Added setupCameraSource which sets up the camera source. This functionality
was in setupVideoEncoder before.
- setupVideoEncoder now takes in a cameraSource instead of creating it on it
own.

- Refactored startMPEG4Recording() to use setupMPEG4Recording,
setupMPEG4MetaData.
- setupMPEG4Recording() takes in file descriptor, bitrates to setup a mpeg4
writer. This function can be called multiple times to setup multiple
writers.
- Added setupMPEG4MetaData() for setting up the meta data for mpeg4 writer.
startMPEG4Recording() now calls setupMPEG4Recording, setupMPEG4MetaData for
each recording session.

Change-Id: I07f5334a1ff8e12a36f58e94129fcfa6add2208b
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
4b79168835965cf0fc41ebe2a367e22b4cb20d08 11-Aug-2010 Jamie Gennis <jgennis@google.com> Change the framework to use the new camera preview path.

This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated. The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface. The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.

Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
982a93173bc84f005172152d823cbb59dfcbeb12 05-Aug-2010 Andreas Huber <andih@google.com> am 1f513d88: am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread

Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf'

* commit '1f513d8821670a33d6361ea521b6756163a3f9bf':
Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8 04-Aug-2010 Andreas Huber <andih@google.com> Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.

Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
f95ce6452d87316b8f5df6692537bd039377f349 02-Aug-2010 Nipun Kwatra <nkwatra@google.com> Allowing useStillCameraForTimeLapse to be set through MediaRecorder.java

This will allow apps to make the decision of whether to use still image mode or
video mode for time lapse capture.

- setTimeLapseParameters now takes in a useStillCameraForTimeLapse parameter.
- Added support in StagefrightRecorder for passing through this parameter.

Change-Id: Iafbcb76f9a7903118ea5eb822c81008619630f03
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
e4e0a6994d39c4a7cba09c5fff442b2dca1df8f8 21-Jul-2010 Nipun Kwatra <nkwatra@google.com> Allowing setting of time lapse parameters through MediaRecorder.java

added setTimeLapseParameters() to MediaRecorder.java and SetParameter support
in StagefrightRecorder to allow enabling time lapse and setting the corresponding
parameters.

Change-Id: I509040aa71f8d3fc37337b0894a81d9c0fd7a40a
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
932e0a11d74d5e236ccef9ee314442385c3d4e9d 21-Jul-2010 James Dong <jdong@google.com> am 9049fe60: am d7514ec6: Merge "Progress status notification" into gingerbread

Merge commit '9049fe60c20640bd606741c8f45f3f781a1684f5'

* commit '9049fe60c20640bd606741c8f45f3f781a1684f5':
Progress status notification
faed5cd124a54b8db3429f4c26b3220bbec4c8bb 16-Jul-2010 James Dong <jdong@google.com> Progress status notification

- Keep track of per-track progress

Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
cbcc684555a8774b21ba04c09b2f5cee8c88453a 15-Jul-2010 James Dong <jdong@google.com> am b068b47c: am d6a85a21: Merge "Support user-supplied timescales for authoring" into gingerbread

Merge commit 'b068b47c6d0214256116a0c661740bddf7acc18c'

* commit 'b068b47c6d0214256116a0c661740bddf7acc18c':
Support user-supplied timescales for authoring
8f5f2fcee5c12d08df71d17017410c50951fc2e3 02-Jul-2010 James Dong <jdong@google.com> Support user-supplied timescales for authoring

- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
004a77836d1963847acd20ea684e2ffe48aa3f19 09-Jul-2010 James Dong <jdong@google.com> am 4f440632: am 929642ee: Add runtime dumpsys support for media recorder client

Merge commit '4f4406322dafd6e128b437edbc541327f0b38d04'

* commit '4f4406322dafd6e128b437edbc541327f0b38d04':
Add runtime dumpsys support for media recorder client
b914122eb9cb54bbeae4ec03bfebb194aecdccbd 08-Jul-2010 James Dong <jdong@google.com> Add runtime dumpsys support for media recorder client

Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
bf21177ccede8f01c0da0bd53392a289a5a84462 08-Jul-2010 James Dong <jdong@google.com> am b3598832: am c4243342: Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread

Merge commit 'b35988329ac1a574898db9226039e37e352c57a8'

* commit 'b35988329ac1a574898db9226039e37e352c57a8':
Allow application to set two more encoding paramters: video profile and level
145bfe5eb3e08c9689c28f6bf3287a979438b04b 02-Jul-2010 James Dong <jdong@google.com> Allow application to set two more encoding paramters: video profile and level

Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
fc20aab463f527ab3b0664986f0381a86b375884 01-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding timelapse capture from videocamera.

Current implementation looks at the timestamps of all incoming frames in
CameraSource::dataCallbackTimestamp().
It drops all frames until enough time has elapsed to get the next time lapse frame.
When enough time has passed to capture the next time lapse frame, the frame is no longer dropped
and the timestamp of this frame is modified to be one frame time (1/framerate) ahead of the
last encoded frame's time stamp.

Change-Id: I82b9d5e96113dffa6901aac3b8a8ef999ffc1d0b
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
934da11c4cc598d3dd3b53726c362bcdcc0fd37f 30-Jun-2010 James Dong <jdong@google.com> Refactor Stagefright::StartMPEG4Recording()

- Also, better error handling

Change-Id: Ic18d08dc6489adf92c6a588efa4baca66429b175
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
37047fceba836f341d0108beed0991b0f8dfc543 26-Jun-2010 James Dong <jdong@google.com> Separate MediaRecorderClient with MediaPlayerClient

- An alternative would be to define a common base class that
both MediaRecorderClient and MediaPlayerClient can derive.
But since the common code, onTransact() and notify() uses
some Binder code, having a common base class may not gain
us too much in terms of code reuse.

Change-Id: Ibc06720278ad173fceacff3d267b7060856c6316
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
93d6b102a13afa23bfa80d74c399d93d542e6ad6 25-Jun-2010 James Dong <jdong@google.com> Provide progress status report during authoring

- Track either the number of A/V frames authored, or the time elapsed
- Track the completion of the authoring
- Add multiple camera support for authoring by accepting a camera id parameter
- Set file type based on the OUTPUT_FORMAT requested

Change-Id: I0f9d31b3b7a8fa43eb53f572410fb0ebd4fa0bb7
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
2dec2b5be2056c6d9428897dc672185872d30d17 20-Jun-2010 James Dong <jdong@google.com> Enable passing parameters to the MediaWriter at runtime (at start() call).

- estimate the moov box size for mp4 file writer based on the file
size/duration limit and target bit rate.
- can switch to use 64 bit file offset at runtime

rebased

Change-Id: Ibbe1f57e91ab2605820d5d96e8048d11e5559c53
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
d3d4e5069e1af0437c4f5a7b4ba344bda5b937af 25-Jun-2010 James Dong <jdong@google.com> Track maximum amplitude and fix getMaxAmplitude()

- only start to track the max amplitude after the first call to getMaxAmplitude()

Change-Id: I64d3d9ca0542202a8535a211425e8bccceca50fc
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
99c2a076b4a46762a22bbb4dfbd51d107e0532d9 17-Jun-2010 James Dong <jdong@google.com> Check and clip some video encoding parameters against media profiles before passing them to video encoder

Change-Id: I69e0e7411806a4ece6c0bf0e02c74eaaf48a17ac
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
a7d1a2dd776bf356c228785a94ba8e0ff6a2ec7f 10-Jun-2010 James Dong <jdong@google.com> Initial checkin for pause and resume control

Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
ddcc4a66d848deef6fb4689e64e30cd9bd2684fe 08-Jun-2010 James Dong <jdong@google.com> Remove some hard-coded encoding parameters

Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
ef9d0cd72e476a4b7556833fb09505a51b626797 11-May-2010 James Dong <jdong@google.com> Added initial validation on video/audio encoding parameters before/at start()

Change-Id: I1a40dd247202f70e3e5429d74533d349b88f1d54
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
13aec890216948b0c364f8f92792129d0335f506 22-Apr-2010 James Dong <jdong@google.com> Support audio and video track interleaving in the recorded mp4 file

Change-Id: Ifa27eb23ee265f84fe06773b29b0eb2b0b075b60
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
050b28a593350047845a45a14cc5026221ac1620 23-Apr-2010 James Dong <jdong@google.com> Support AAC recording

- Extend the audio recording to AAC format
- Add support for setting some recording parameters
- Add stss box to the meta data in the recorded file

Change-Id: I41167bfd9d70ef9cd33906f8437b39c232b6d3b7
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
c32cd79d9ad4aba7d959b5b3be7361b4715e6f18 27-Apr-2010 James Dong <jdong@google.com> Use timestamp from camera driver for CameraSource

Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
2dce41ad26cb3e9e15c9e456a84bcf5309548ca0 26-Jan-2010 Andreas Huber <andih@google.com> Support for audio recording into AMR NB/WB files as well as audio tracks in MPEG4 files.

related-to-bug: 2295449
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h
30ab66297501757d745b9ae10da61adcd891f497 17-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 333057b355f8c260c549553b9a0634755c838b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 13 15:35:48 2009 -0800

Some more tweaks to AVC encoding on sholes.

commit 9981d0ee52ec5b8b0182aae733d1571e3ebb8390
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 12 16:36:57 2009 -0800

Support for avc encoding, including sholes specific tweaks to pick the right colorspace for the camera to not require transcoding.

commit 5ba0ebbbd4efca51f3ae1f60e2ca31e7d2cf136d
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 11 09:50:03 2009 -0800

Enable actual (camera) video-only recording using h.263 or mpeg4 encoding.

commit 3fd59c3526a37fe7c696f4a978925d1831c09313
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 10 14:57:48 2009 -0800

Allow switching between the PV recorder implementation and one supported by stagefright.

This is controlled through the property "media.stagefright.enable-record".
/frameworks/av/media/libmediaplayerservice/StagefrightRecorder.h