summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaRecorderClient.cpp
Commit message (Collapse)AuthorAgeFilesLines
* remove uses of Surface in favor or IGraphicBufferProducerMathias Agopian2013-03-121-1/+1
| | | | Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
* CameraService and Stagefright: Support AppOpsEino-Ville Talvala2013-02-251-1/+11
| | | | | | | | | | | | | 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
* Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-181-2/+2
| | | | | | | | | | 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
* AV Android make files changesJames Dong2012-03-281-1/+0
| | | | | | | o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc o remove some runtime dependencies to libandroid, libandroid_runtime, etc Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
* Fix incorrect includes of AudioTrack.hGlenn Kasten2012-01-181-2/+0
| | | | | | | Remove unnecessary includes of AudioTrack.h. Use forward declaration of class names in preference to #include when possible. Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-22/+22
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-24/+24
| | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* Do not support still image capture mode for timelapse video recordingJames Dong2011-07-241-11/+0
| | | | | | related-to-bug: 4973779 Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
* Connect MediaRecorder Native to SurfaceMediaSourcePannag Sanketi2011-07-221-0/+15
| | | | | | | | | | | | | | | | | 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
* Add framework support for camcorder zoom.Wu-cheng Li2011-06-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* update for new audio.h header locationDima Zavin2011-05-121-1/+1
| | | | | Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876 Signed-off-by: Dima Zavin <dima@android.com>
* audio/media: convert to using the audio HAL and new audio defsDima Zavin2011-04-271-1/+3
| | | | | Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5 Signed-off-by: Dima Zavin <dima@android.com>
* Remove legacy PV stuffJames Dong2010-11-151-20/+1
| | | | Change-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd
* Added setAuxiliaryOutputFile to MediaRecorder and JNINipun Kwatra2010-08-311-0/+11
| | | | | | | added setAuxiliaryOutputFile to allow setting of an auxiliary output file. Also added the JNI support. Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
* am 9aa05ec2: am 681c5ff2: Merge "Reverse the default setting of ↵Andreas Huber2010-08-301-2/+2
|\ | | | | | | | | | | | | | | | | media.stagefright.enable-{rtsp,record} in preparation for building without opencore." into gingerbread Merge commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12' * commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12': Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.
| * Reverse the default setting of media.stagefright.enable-{rtsp,record} in ↵Andreas Huber2010-08-301-2/+2
| | | | | | | | | | | | | | preparation for building without opencore. Change-Id: I1ca6bd8faba0185f9694f9dc04d2b3e6a7ab5ac3 related-to-bug: 2370115
| * resolved conflicts for merge of 27eecb70 to gingerbreadJean-Baptiste Queru2010-07-301-1/+1
| |\ | | | | | | | | | Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
| | * fix inaccurate copyrightsJean-Baptiste Queru2010-07-291-1/+1
| | | | | | | | | | | | Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
* | | Change the framework to use the new camera preview path.Jamie Gennis2010-08-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | am 4506c62a: fix inaccurate copyrightsJean-Baptiste Queru2010-07-291-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Merge commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625' into gingerbread-plus-aosp * commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625': fix inaccurate copyrights
| * | fix inaccurate copyrightsJean-Baptiste Queru2010-07-291-1/+1
| |/ | | | | | | Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
* | Add runtime dumpsys support for media recorder clientJames Dong2010-07-081-0/+7
| | | | | | | | Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
* | Separate MediaRecorderClient with MediaPlayerClientJames Dong2010-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | - 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
* | Remove most stagefright property overrides, remove VorbisPlayer and ↵Andreas Huber2010-06-231-2/+0
|/ | | | | | | VorbisMetadataRetriever as this functionality is now provided by stagefright. Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce related-to-bug: 2370115
* Refactor MediaScanner. Some steps on the way towards being able to build the ↵Andreas Huber2009-12-031-0/+10
| | | | tree without OpenCore.
* Squashed commit of the following:Andreas Huber2009-11-161-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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".
* Dump media recorder PID in dumpsys media.player, and fix minor bugs.Gloria Wang2009-10-291-1/+9
|
* am c1c82509: Merge change 2163 into donutAndroid (Google) Code Review2009-05-201-0/+4
|\ | | | | | | | | | | | | Merge commit 'c1c82509fb78403a969040cf057a66cbe3bfa538' * commit 'c1c82509fb78403a969040cf057a66cbe3bfa538': Fix permission hole for RECORD_AUDIO created when we moved the MediaRecorder
| * Fix permission hole for RECORD_AUDIO created when we moved the MediaRecorderDave Sparks2009-05-201-0/+4
| | | | | | | | | | | | | | | | implementation to the mediaserver process. The permission check was previously enforced only at the AudioRecord binder interface for clients not in the same process. This change adds an additional check when the client tries to set the audio source. Bug 1868334
| * AI 143267: am: CL 143127 Media recorder service requires ↵Dave Sparks2009-03-271-0/+16
| | | | | | | | | | | | | | | | | | android.permission.CAMERA to record video Original author: davidsparks Merged from: //branches/cupcake/... Automated import of CL 143267
* | move libbinder's header files under includes/binderMathias Agopian2009-05-201-4/+4
| |
* | AI 143396: am: CL 143267 am: CL 143127 Media recorder service requires ↵Dave Sparks2009-03-271-0/+16
|/ | | | | | | | | | | android.permission.CAMERA to record video Original author: davidsparks Merged from: //branches/cupcake/... Original author: android-build Merged from: //branches/donutburger/... Automated import of CL 143396
* auto import from //branches/cupcake_rel/...@138607The Android Open Source Project2009-03-131-0/+10
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+273
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-262/+0
|
* auto import from //depot/cupcake/@132589The Android Open Source Project2009-03-031-11/+0
|
* auto import from //depot/cupcake/@137055The Android Open Source Project2009-03-021-0/+11
|
* auto import from //branches/cupcake/...@131421The Android Open Source Project2009-02-131-0/+11
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-0/+251