• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  **
3  ** Copyright 2008, The Android Open Source Project
4  **
5  ** Licensed under the Apache License, Version 2.0 (the "License");
6  ** you may not use this file except in compliance with the License.
7  ** You may obtain a copy of the License at
8  **
9  **     http://www.apache.org/licenses/LICENSE-2.0
10  **
11  ** Unless required by applicable law or agreed to in writing, software
12  ** distributed under the License is distributed on an "AS IS" BASIS,
13  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ** See the License for the specific language governing permissions and
15  ** limitations under the License.
16  */
17 
18 #ifndef ANDROID_MEDIARECORDERCLIENT_H
19 #define ANDROID_MEDIARECORDERCLIENT_H
20 
21 #include <media/IMediaRecorder.h>
22 
23 namespace android {
24 
25 class MediaRecorderBase;
26 class MediaPlayerService;
27 
28 class MediaRecorderClient : public BnMediaRecorder
29 {
30 public:
31     virtual     status_t        setCamera(const sp<ICamera>& camera);
32     virtual     status_t        setPreviewSurface(const sp<ISurface>& surface);
33     virtual     status_t        setVideoSource(int vs);
34     virtual     status_t        setAudioSource(int as);
35     virtual     status_t        setOutputFormat(int of);
36     virtual     status_t        setVideoEncoder(int ve);
37     virtual     status_t        setAudioEncoder(int ae);
38     virtual     status_t        setOutputFile(const char* path);
39     virtual     status_t        setOutputFile(int fd, int64_t offset, int64_t length);
40     virtual     status_t        setVideoSize(int width, int height);
41     virtual     status_t        setVideoFrameRate(int frames_per_second);
42     virtual     status_t        setParameters(const String8& params);
43     virtual     status_t        setListener(const sp<IMediaRecorderClient>& listener);
44     virtual     status_t        prepare();
45     virtual     status_t        getMaxAmplitude(int* max);
46     virtual     status_t        start();
47     virtual     status_t        stop();
48     virtual     status_t        reset();
49     virtual     status_t        init();
50     virtual     status_t        close();
51     virtual     status_t        release();
52 
53     virtual     status_t        dump(int fd, const Vector<String16>& args) const;
54 private:
55     friend class                MediaPlayerService;  // for accessing private constructor
56 
57                                 MediaRecorderClient(const sp<MediaPlayerService>& service, pid_t pid);
58     virtual                     ~MediaRecorderClient();
59 
60     pid_t                       mPid;
61     Mutex                       mLock;
62     MediaRecorderBase           *mRecorder;
63     sp<MediaPlayerService>      mMediaPlayerService;
64 };
65 
66 }; // namespace android
67 
68 #endif // ANDROID_MEDIARECORDERCLIENT_H
69 
70