OSDN Git Service

RIO-8910: Fix for MP3 parser returning incorrect value for bitrate key
[android-x86/external-opencore.git] / android / android_audio_stream.h
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_AUDIO_STREAM_H
19 #define ANDROID_AUDIO_STREAM_H
20
21 #include <utils/Errors.h>
22
23 #include "android_audio_mio.h"
24 #include "utils/Timers.h"
25
26 using namespace android;
27
28 class AndroidAudioStream : public AndroidAudioMIO
29 {
30     public:
31         OSCL_IMPORT_REF AndroidAudioStream();
32         OSCL_IMPORT_REF ~AndroidAudioStream();
33
34         virtual PVMFCommandId QueryInterface(const PVUuid& aUuid, PVInterface*& aInterfacePtr,
35                                              const OsclAny* aContext = NULL);
36
37         virtual void setParametersSync(PvmiMIOSession aSession, PvmiKvp* aParameters,
38                                        int num_elements, PvmiKvp * & aRet_kvp);
39
40     private:
41
42         virtual void writeAudioBuffer(uint8* aData, uint32 aDataLen, PVMFCommandId cmdId,
43                                       OsclAny* aContext, PVMFTimestamp aTimestamp);
44
45         // active timing
46         AndroidAudioMIOActiveTimingSupport* iActiveTiming;
47
48         // number of bytes in an input frame
49         int iInputFrameSizeInBytes;
50         bool mClockUpdated;
51 };
52
53 #endif // ANDROID_AUDIO_STREAM_H
54