History log of /frameworks/base/media/jni/android_media_MediaRecorder.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67f304e2ca0d7a93730669b143bb30ef6a3f7199 31-Dec-2014 Haitao Feng <haitao.feng@intel.com> Use NULL instead of 0 when invoking CallStaticVoidMethod

static void CallStaticVoidMethod is variable argument function.
if pass 0 to the function like: CallStaticVoidMethod(......, 0),
0 will be treated as INT data type.but in the CallStaticVoidMethod
implement 0 will be treated as pointer data type.Pointer in 64bit
system occupied 8 bytes, but in 64bit system int occupied 4 bytes.
if call function like: CallStaticVoidMethod(......, 0),
only low 4 bytes will be assigned 0.Turned out it actually call
function like this: CallStaticVoidMethod(......, 0xXXXXXXXX00000000).
intent to pass NULL to function but passed non-NULL parameter to
the function.this will cause GCDaemon crash.

Bug: 18911458
Change-Id: I9d700d3790a80dbee6826f64baf9ef5d81ca390f
Reviewed-by: Liao, Bruce <bruce.liao@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
4a7873f19afecb01ef06b0f3dc4dde0a13a17ab3 22-Oct-2014 Hochi Huang <hochi.huang@mediatek.com> [FM]Fix FM App record fail Buganizer ID: 17975676

Signed-off-by: Hochi Huang <hochi.huang@mediatek.com>
Review: https://partner-android-review.git.corp.google.com/#/c/185235

Change-Id: I024db429b8ff56851c814857691b06ea5e69198a
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
6a5b1db177b71970a2d00eb6d24b8317914eab29 14-Jul-2014 Eino-Ville Talvala <etalvala@google.com> MediaRecorder: Fix crash when given a released Camera object

Bug: 15617637
Change-Id: I420ecc3f7b946dcf705cf210a7d493290f838f09
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
2f894fec5b22948558b22753cc472d4559bea942 16-Apr-2014 Mark Salyzyn <salyzyn@google.com> am 24dbfdaa: am 936e87e1: am 5788722d: Merge "frameworks: 64 bit compile issues"

* commit '24dbfdaa701a729e3b231db63787e0d636b7cc3b':
frameworks: 64 bit compile issues
853940331ff2be48ed3e63f459845e5e43d0a131 16-Apr-2014 Mark Salyzyn <salyzyn@google.com> frameworks: 64 bit compile issues

ToDo: core/jni/com_android_internal_net_NetworkStatsFactory.cpp (merge issues)

Change-Id: I5cf0bbb868e6c18e86c97c6491b6ee983a8ee1a2
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
6bb5cb24b458a11bd02e9bff37c03f6381e06b7c 16-Jan-2014 Narayan Kamath <narayan@google.com> Resolved conflicts for merge of 28c6ec02 to master

Change-Id: Idf1cabf2694dfa13d928df944d346f5e051b6948
075e9a19ce645752f8282bc19c91b25978a7dc52 06-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in media classes

For storing pointers, long is used in media classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Idc4ca0124d03df7f9cef412488abafd020e5e774
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
83cc994ba40a7227c62a65ccb5addf3a23ff6350 02-Jan-2014 Chong Zhang <chz@google.com> MediaRecorder: add getSurface() api and SURFACE video source

Bug: 12305192
Change-Id: If833c5ac8a738ffa284307e0435b5cbd1b7379b1
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
4a05f436989a49e06ec762aac9507ad13fcc5e23 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor of IGraphicBufferProducer

Change-Id: I2ec590eed03c76a084ee6b0af362a3ca6476bf9f
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
788717ca599c714d58b2cb5deea1d37b4a711c07 16-Feb-2013 Eino-Ville Talvala <etalvala@google.com> Camera and MediaRecorder: Support AppOps

- Allow media processes to update AppOps state
- Pass package name to media services

Bug: 8181262
Change-Id: I115d39f0b306cb9eb7cd3d3e663c680b7322fd3f
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
bfcae3595900b79401d635022bd6d30a5b5a6576 15-Feb-2013 Mathias Agopian <mathias@google.com> Surface doens't have an identity anymore

Change-Id: Ic62c0f6ba9aae9b67335a2029a5de1caa3fc5b94
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
3866f0d581ceaa165710feeee9f37fe1b0d7067d 12-Feb-2013 Mathias Agopian <mathias@google.com> split Surface in two classes: SurfaceControl and Surface

SurfaceControl is the window manager side; it can
control the attributes of a surface but cannot push buffers
to it. Surface on the other hand is the application (producer)
side and is used to push buffers to the surface.

Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
8335f1ccccedb6655d96d9d5b697a7f0938235dd 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
71f2cf116aab893e224056c38ab146bd1538dd3e 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
cac873bd4ad6ffc8587e3d77fece5abcf2804f4f 26-Jul-2011 Pannag Sanketi <psanketi@google.com> Fixing up Mediarecorder for MFF

For using the MediaRecorder in MFF (Mobile Filter Framework),
getMediaRecorder method in mediarecorder jni was earlier changed to
a non static method. Changed it back to a static method.

Also, added a new source type to MediaRecorder.VideoSource for recording
GRalloc buffers.

Change-Id: I031fad45c12b0ac9602d9e451d4767e95a86234d
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
aba28e7fecb06adab8de51619b2929b640369e83 23-Jul-2011 James Dong <jdong@google.com> Merge "Deprecate two methods in MediaRecorder.java class"
897e27bc75886e44d2f9f09155127f401c4173ea 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/base/media/jni/android_media_MediaRecorder.cpp
3ff98beeafd271a65c1f824699431366882b04f6 21-Jul-2011 James Dong <jdong@google.com> Deprecate two methods in MediaRecorder.java class

Change-Id: I98fbe628fe77867b97c04f44458948ede2f49d22
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
42419ce28a09eb63e29a8fef87e6f5534f41902f 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/base/media/jni/android_media_MediaRecorder.cpp
34bb419e5946ab28112e9e27a4d1b3928d31e0e2 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/base/media/jni/android_media_MediaRecorder.cpp
24fc2fb1c541e954b83fd31ea9f786a5e9b45501 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/base/media/jni/android_media_MediaRecorder.cpp
dd66bcbf9d6ef0c50a18d9c4b1b39ce7ef7afcc4 12-Apr-2011 Elliott Hughes <enh@google.com> More native code cleanup.

Don't keep unused global references to classes, don't throw exceptions
when an exception is already pending, and fix a (harmless) misunderstanding
about how GetStringChars works.

Change-Id: Ie445036f057daa8a1c76aceb7bad2a84fb81d820
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
a3804cf77f0edd93f6247a055cdafb856b117eec 12-Apr-2011 Elliott Hughes <enh@google.com> You don't need to poke around inside FileDescriptor manually.

We can help you with that.

Note also that getParcelFileDescriptorFD did no such thing. All its callers
were passing in a regular java.io.FileDescriptor and expecting the int. No
ParcelFileDescriptors involved.

Change-Id: Idc233626f20c092e719f152562601f406cc1b64a
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
15dd15fd572df6b6f785dff75f66e9b99f40322a 09-Apr-2011 Elliott Hughes <enh@google.com> Tidy up exception throwing in the media native code.

(I'm going through all of frameworks/base in multiple passes. This pass is just
for exception throwing.)

Change-Id: Ia14a5c720edae86ac780023be88e676aa1b3315d
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
c18c02d78c0d9ec422f35aac2680022096c8c7cf 10-Sep-2010 James Dong <jdong@google.com> am 2432248b: am 4709c7fa: Merge "Fixed a copy and paste error" into gingerbread

Merge commit '2432248b03c675812dbb2154e2535bf3ada54b0a'

* commit '2432248b03c675812dbb2154e2535bf3ada54b0a':
Fixed a copy and paste error
8d3b9100a660591cca01f1df801aaf9830b9e3ba 10-Sep-2010 James Dong <jdong@google.com> Fixed a copy and paste error

Change java/lang/IOException to java/lang/RuntimeException
since there is no java/lang/IOException while keeping
the signature of the MediaRecorder class
constructor unchanged.

Change-Id: Id9b9aa55db42bef528069ef1e2102038391bc15f
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
b33a5aea130b025f30966828562fcba56f25b265 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added setAuxiliaryOutputFile to MediaRecorder and JNI

added setAuxiliaryOutputFile to allow setting of an auxiliary output file.
Also added the JNI support.

Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
d790c6485a388a3e8045dbd18b903b20a7dcf0d9 12-Aug-2010 James Dong <jdong@google.com> Add lost preview surface detection in the JNI layer
Throws an IOException if this happens rather than crashes

Change-Id: I32bb4c889ae596f992a0d05283c9130a99b2d0d5
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
457d5ae3c9e40c8336b65ea954d1bd5ae1622917 09-Jun-2010 James Dong <jdong@google.com> Fix a potential(observed sometimes) media server crash

The problem is that we are referring an temp object returned from a function call.
When the function call returned, the temp object is gone; and thus the reference
may be invalidated.

-- rebased

bug - 2734946

Change-Id: I1993c4462df95610ca478f816adc30058af5850e
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
5e14010b1fc066dfcbc0a577d59492687c99667d 09-Jun-2010 Mathias Agopian <mathias@google.com> allow re-targetting of surfaces

Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.

Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
8b138323d54e36fd66b22a634494648e20c53373 13-Apr-2010 Mathias Agopian <mathias@google.com> don't hardcode "mSurface" throughout our source code

this is used in a few places to get access to the android.view.Surface
native surface. use a macro instead. Also rename the field to mNativeSurface.

Change-Id: I1c6dea14abd6b8b1392c7f97b304115999355094
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
0fc6bc4cac6391f048f0f2748b3e979effe0924b 27-Feb-2010 James Dong <jdong@google.com> Clean up MediaRecorder for public Java SDK
- update comments and fix a check in setAudioChannels()

bug - 2362412
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
000479f9e325b4e426a67033abd92d47da412725 10-Feb-2010 Mathias Agopian <mathias@google.com> split libsurfaceflinger_client and libcamera_client out of libui
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
4935d05eaa306cef88cf0ab13eca386f270409ec 03-Aug-2009 Marco Nelissen <marcone@google.com> Untangle MediaPlayer, MediaRecorder, MediaScanner and MediaMetadataRetriever JNI
code, so that creating one of those doesn't initialize all the others. Shaves
a hundred milliseconds or so off music app startup time.
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
cbe7c5441c9af004dae93cff09787e21771beda8 30-Jul-2009 James Dong <jdong@google.com> Remove hardcoded maximum frame rate limit from the framework
bug 1993400
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
5e27115995c4506dddf4f1271effd4fb4c935ad3 24-Jun-2009 Dave Sparks <davidsparks@android.com> Use a ref-counted callback interface for Camera.
This allows the camera service to hang onto the callback interface
until all callbacks have been processed. This prevents problems
where pending callbacks in binder worker threads are processed
after the Java camera object and its associated native resources
have been released.
Bug 1884362
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
2bcda90c0234f67f210a96f195b355493ca7d1ff 08-Jun-2009 Jianhong Jiang <jianhong@google.com> NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
4bc035a65cac177be9294e69f110497e3b6e34e6 22-May-2009 Eric Laurent <elaurent@google.com> Fix issue 1846343 - part 1

This change is the first part of a fix for issue 1846343, :
- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.
- renamed streamType to inputSource in all native functions handling audio record.

A second change is required in opencore author driver and android audio input to completely fix the issue.
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
429a3b5f1d94327e5cbb2dc80667af4574bba388 11-May-2009 James Dong <jdong@google.com> Fix a JNI layer crash due to null camera object passed to get_native_camera()
The fix will check on the camera object and if it is a null object, we
throw a NullPointerException; application layer should also avoid passing a null
java object to MediaRecorder.setCamera().
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/media/jni/android_media_MediaRecorder.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/media/jni/android_media_MediaRecorder.cpp