frameworks/av: Add ifdefs for QCOM_HARDWARE features
Change-Id: Iebe0da91f0b761bba8eb8c0e181c47bbd0d0703d
diff --git a/include/media/AudioParameter.h b/include/media/AudioParameter.h
index 100d2e1..bce7f21 100644
--- a/include/media/AudioParameter.h
+++ b/include/media/AudioParameter.h
@@ -51,7 +51,7 @@
static const char * const keyFrameCount;
static const char * const keyInputSource;
static const char * const keyScreenState;
-#ifdef QCOM_FM_ENABLED
+#ifdef QCOM_HARDWARE
static const char * const keyHandleFm;
static const char * const keyVoipCheck;
static const char * const keyFluenceType;
diff --git a/include/media/AudioRecord.h b/include/media/AudioRecord.h
index fe1b35b..e4cb560 100644
--- a/include/media/AudioRecord.h
+++ b/include/media/AudioRecord.h
@@ -210,8 +210,13 @@
audio_format_t format() const { return mFormat; }
uint32_t channelCount() const { return mChannelCount; }
size_t frameCount() const { return mFrameCount; }
+#ifdef QCOM_HARDWARE
size_t frameSize() const;
audio_source_t inputSource() const;
+#else
+ size_t frameSize() const { return mFrameSize; }
+ audio_source_t inputSource() const { return mInputSource; }
+#endif
/* After it's created the track is not active. Call start() to
* make it active. If set, the callback will start being called.
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index 78fad3c..cad455d 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -25,7 +25,9 @@
#include <system/audio_policy.h>
#include <utils/Errors.h>
#include <utils/Mutex.h>
+#ifdef QCOM_HARDWARE
#include <media/AudioParameter.h>
+#endif
namespace android {
@@ -150,7 +152,9 @@
INPUT_CLOSED,
INPUT_CONFIG_CHANGED,
STREAM_CONFIG_CHANGED,
+#ifdef QCOM_HARDWARE
EFFECT_CONFIG_CHANGED,
+#endif
NUM_CONFIG_EVENTS
};
diff --git a/include/media/AudioTrack.h b/include/media/AudioTrack.h
index f74825c..3ef68fb 100644
--- a/include/media/AudioTrack.h
+++ b/include/media/AudioTrack.h
@@ -24,8 +24,10 @@
#include <media/AudioTimestamp.h>
#include <media/IAudioTrack.h>
#include <utils/threads.h>
+#ifdef QCOM_HARDWARE
#include <media/IDirectTrack.h>
#include <media/IDirectTrackClient.h>
+#endif
namespace android {
// ----------------------------------------------------------------------------
@@ -36,8 +38,12 @@
// ----------------------------------------------------------------------------
+#ifdef QCOM_HARDWARE
class AudioTrack : public BnDirectTrackClient,
virtual public RefBase
+#else
+class AudioTrack : public RefBase
+#endif
{
public:
enum channel_index {
@@ -70,7 +76,9 @@
EVENT_NEW_TIMESTAMP = 8, // Delivered periodically and when there's a significant change
// in the mapping from frame position to presentation time.
// See AudioTimestamp for the information included with event.
+#ifdef QCOM_HARDWARE
EVENT_HW_FAIL = 9, // ADSP failure.
+#endif
};
/* Client should declare Buffer on the stack and pass address to obtainBuffer()
@@ -265,7 +273,11 @@
* This includes the latency due to AudioTrack buffer size, AudioMixer (if any)
* and audio hardware driver.
*/
+#ifdef QCOM_HARDWARE
uint32_t latency() const;
+#else
+ uint32_t latency() const { return mLatency; }
+#endif
/* getters, see constructors and set() */
@@ -584,8 +596,10 @@
* Returns NO_ERROR if timestamp is valid.
*/
virtual status_t getTimestamp(AudioTimestamp& timestamp);
+#ifdef QCOM_HARDWARE
virtual void notify(int msg);
virtual status_t getTimeStamp(uint64_t *tstamp);
+#endif
protected:
/* copying audio tracks is not allowed */
@@ -656,7 +670,9 @@
bool isOffloaded() const
{ return (mFlags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) != 0; }
+#ifdef QCOM_HARDWARE
sp<IDirectTrack> mDirectTrack;
+#endif
// Next 3 fields may be changed if IAudioTrack is re-created, but always != 0
sp<IAudioTrack> mAudioTrack;
sp<IMemory> mCblkMemory;
@@ -724,13 +740,18 @@
uint32_t mUpdatePeriod; // in frames, zero means no EVENT_NEW_POS
audio_output_flags_t mFlags;
+#ifdef QCOM_HARDWARE
sp<IAudioFlinger> mAudioFlinger;
audio_io_handle_t mAudioDirectOutput;
+#endif
int mSessionId;
int mAuxEffectId;
mutable Mutex mLock;
+
+#ifdef QCOM_HARDWARE
void* mObserver;
+#endif
bool mIsTimed;
int mPreviousPriority; // before start()
SchedPolicy mPreviousSchedulingGroup;
diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h
index abd7754..75fae77 100644
--- a/include/media/IAudioFlinger.h
+++ b/include/media/IAudioFlinger.h
@@ -26,8 +26,10 @@
#include <utils/RefBase.h>
#include <utils/Errors.h>
#include <binder/IInterface.h>
+#ifdef QCOM_HARDWARE
#include <media/IDirectTrack.h>
#include <media/IDirectTrackClient.h>
+#endif
#include <media/IAudioTrack.h>
#include <media/IAudioRecord.h>
#include <media/IAudioFlingerClient.h>
@@ -54,7 +56,9 @@
TRACK_TIMED = 1, // client requests a TimedAudioTrack
TRACK_FAST = 2, // client requests a fast AudioTrack or AudioRecord
TRACK_OFFLOAD = 4, // client requests offload to hw codec
+#ifdef QCOM_HARDWARE
TRACK_VOICE_COMMUNICATION = 8, //client uses voice communication
+#endif
};
typedef uint32_t track_flags_t;
@@ -81,6 +85,7 @@
String8& name,
status_t *status) = 0;
+#ifdef QCOM_HARDWARE
/* create a direct audio track and registers it with AudioFlinger.
* return null if the track cannot be created.
*/
@@ -93,6 +98,7 @@
IDirectTrackClient* client,
audio_stream_type_t streamType,
status_t *status) = 0;
+#endif
virtual sp<IAudioRecord> openRecord(
audio_io_handle_t input,
diff --git a/include/media/MediaPlayerInterface.h b/include/media/MediaPlayerInterface.h
index edf198a..0aad0a2 100644
--- a/include/media/MediaPlayerInterface.h
+++ b/include/media/MediaPlayerInterface.h
@@ -83,8 +83,10 @@
// back (after stop is called)
CB_EVENT_TEAR_DOWN, // The AudioTrack was invalidated due to use case change:
// Need to re-evaluate offloading options
+#ifdef QCOM_HARDWARE
CB_EVENT_UNDERRUN,
CB_EVENT_HW_FAIL
+#endif
};
// Callback returns the number of bytes actually written to the buffer.
@@ -100,7 +102,9 @@
virtual ssize_t channelCount() const = 0;
virtual ssize_t frameSize() const = 0;
virtual uint32_t latency() const = 0;
+#ifdef QCOM_HARDWARE
virtual audio_stream_type_t streamType() const {return AUDIO_STREAM_DEFAULT;}
+#endif
virtual float msecsPerFrame() const = 0;
virtual status_t getPosition(uint32_t *position) const = 0;
virtual status_t getFramesWritten(uint32_t *frameswritten) const = 0;
@@ -129,8 +133,10 @@
virtual status_t setParameters(const String8& keyValuePairs) { return NO_ERROR; };
virtual String8 getParameters(const String8& keys) { return String8::empty(); };
+#ifdef QCOM_HARDWARE
virtual ssize_t sampleRate() const {return 0;};
virtual status_t getTimeStamp(uint64_t *tstamp) {return 0;};
+#endif
};
MediaPlayerBase() : mCookie(0), mNotify(0) {}
diff --git a/include/media/MediaProfiles.h b/include/media/MediaProfiles.h
index 74fc247..ec3eb9b 100644
--- a/include/media/MediaProfiles.h
+++ b/include/media/MediaProfiles.h
@@ -32,6 +32,7 @@
CAMCORDER_QUALITY_480P = 4,
CAMCORDER_QUALITY_720P = 5,
CAMCORDER_QUALITY_1080P = 6,
+#ifdef QCOM_HARDWARE
CAMCORDER_QUALITY_QVGA = 7,
CAMCORDER_QUALITY_FWVGA = 8,
CAMCORDER_QUALITY_WVGA = 9,
@@ -40,6 +41,14 @@
CAMCORDER_QUALITY_4kUHD = 12,
CAMCORDER_QUALITY_4kDCI = 13,
CAMCORDER_QUALITY_LIST_END = 13,
+#else
+ CAMCORDER_QUALITY_QVGA = 11,
+ CAMCORDER_QUALITY_FWVGA = 7,
+ CAMCORDER_QUALITY_WVGA = 8,
+ CAMCORDER_QUALITY_VGA = 9,
+ CAMCORDER_QUALITY_WQVGA = 10,
+ CAMCORDER_QUALITY_LIST_END = 11,
+#endif
CAMCORDER_QUALITY_TIME_LAPSE_LIST_START = 1000,
CAMCORDER_QUALITY_TIME_LAPSE_LOW = 1000,
@@ -50,11 +59,15 @@
CAMCORDER_QUALITY_TIME_LAPSE_720P = 1005,
CAMCORDER_QUALITY_TIME_LAPSE_1080P = 1006,
CAMCORDER_QUALITY_TIME_LAPSE_QVGA = 1007,
+#ifdef QCOM_HARDWARE
CAMCORDER_QUALITY_TIME_LAPSE_FWVGA = 1008,
CAMCORDER_QUALITY_TIME_LAPSE_WVGA = 1009,
CAMCORDER_QUALITY_TIME_LAPSE_VGA = 1010,
CAMCORDER_QUALITY_TIME_LAPSE_WQVGA = 1011,
CAMCORDER_QUALITY_TIME_LAPSE_LIST_END = 1011,
+#else
+ CAMCORDER_QUALITY_TIME_LAPSE_LIST_END = 1007,
+#endif
};
/**
@@ -466,8 +479,10 @@
static VideoEncoderCap* createDefaultH263VideoEncoderCap();
static VideoEncoderCap* createDefaultM4vVideoEncoderCap();
static AudioEncoderCap* createDefaultAmrNBEncoderCap();
+#ifdef QCOM_HARDWARE
static AudioEncoderCap* createDefaultAacEncoderCap();
static AudioEncoderCap* createDefaultLpcmEncoderCap();
+#endif
static int findTagForName(const NameToTagMap *map, size_t nMappings, const char *name);
diff --git a/include/media/mediaplayer.h b/include/media/mediaplayer.h
index 1fe34e5..24583ef 100644
--- a/include/media/mediaplayer.h
+++ b/include/media/mediaplayer.h
@@ -50,7 +50,9 @@
MEDIA_ERROR = 100,
MEDIA_INFO = 200,
MEDIA_SUBTITLE_DATA = 201,
+#ifdef QCOM_HARDWARE
MEDIA_QOE = 300,
+#endif
};
// Generic error codes for the media player framework. Errors are fatal, the
diff --git a/include/media/mediarecorder.h b/include/media/mediarecorder.h
index b3109ed..24dfa0f 100644
--- a/include/media/mediarecorder.h
+++ b/include/media/mediarecorder.h
@@ -67,9 +67,11 @@
/* H.264/AAC data encapsulated in MPEG2/TS */
OUTPUT_FORMAT_MPEG2TS = 8,
+#ifdef QCOM_HARDWARE
OUTPUT_FORMAT_QCP = 9, // QCP file format
OUTPUT_FORMAT_THREE_GPP2 = 10, /*3GPP2*/
OUTPUT_FORMAT_WAVE = 11, /*WAVE*/
+#endif
OUTPUT_FORMAT_LIST_END // must be last - used to validate format type
};
@@ -80,9 +82,11 @@
AUDIO_ENCODER_AAC = 3,
AUDIO_ENCODER_HE_AAC = 4,
AUDIO_ENCODER_AAC_ELD = 5,
+#ifdef QCOM_HARDWARE
AUDIO_ENCODER_EVRC = 6,
AUDIO_ENCODER_QCELP = 7,
AUDIO_ENCODER_LPCM = 8,
+#endif
AUDIO_ENCODER_LIST_END // must be the last - used to validate the audio encoder type
};
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index a2d5cb1..c92d147 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -196,7 +196,9 @@
bool mChannelMaskPresent;
int32_t mChannelMask;
+#ifdef QCOM_HARDWARE
bool mInSmoothStreamingMode;
+#endif
unsigned mDequeueCounter;
bool mStoreMetaDataInOutputBuffers;
int32_t mMetaDataBuffersToSubmit;
diff --git a/include/media/stagefright/AudioPlayer.h b/include/media/stagefright/AudioPlayer.h
index 422148f..1295eaa 100644
--- a/include/media/stagefright/AudioPlayer.h
+++ b/include/media/stagefright/AudioPlayer.h
@@ -103,7 +103,9 @@
int64_t mSeekTimeUs;
bool mStarted;
+#ifdef QCOM_HARDWARE
bool mSourcePaused;
+#endif
bool mIsFirstBuffer;
status_t mFirstBufferResult;
diff --git a/include/media/stagefright/AudioSource.h b/include/media/stagefright/AudioSource.h
index 161b64ff..3b79d0a 100644
--- a/include/media/stagefright/AudioSource.h
+++ b/include/media/stagefright/AudioSource.h
@@ -104,6 +104,7 @@
AudioSource(const AudioSource &);
AudioSource &operator=(const AudioSource &);
+#ifdef QCOM_HARDWARE
public:
AudioSource(
audio_source_t inputSource, const sp<MetaData>& meta );
@@ -112,6 +113,7 @@
String8 mMime;
int32_t mMaxBufferSize;
int64_t bufferDurationUs( ssize_t n );
+#endif
};
} // namespace android
diff --git a/include/media/stagefright/MediaCodecList.h b/include/media/stagefright/MediaCodecList.h
index 947f123..05ed696 100644
--- a/include/media/stagefright/MediaCodecList.h
+++ b/include/media/stagefright/MediaCodecList.h
@@ -100,7 +100,9 @@
status_t addTypeFromAttributes(const char **attrs);
void addType(const char *name);
+#ifdef QCOM_HARDWARE
friend class ExtendedUtils;
+#endif
DISALLOW_EVIL_CONSTRUCTORS(MediaCodecList);
};
diff --git a/include/media/stagefright/MediaDefs.h b/include/media/stagefright/MediaDefs.h
index 11e6988..170e587 100644
--- a/include/media/stagefright/MediaDefs.h
+++ b/include/media/stagefright/MediaDefs.h
@@ -32,7 +32,9 @@
extern const char *MEDIA_MIMETYPE_AUDIO_AMR_NB;
extern const char *MEDIA_MIMETYPE_AUDIO_AMR_WB;
+#ifdef QCOM_HARDWARE
extern const char *MEDIA_MIMETYPE_AUDIO_AMR_WB_PLUS;
+#endif
extern const char *MEDIA_MIMETYPE_AUDIO_MPEG; // layer III
extern const char *MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I;
extern const char *MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II;
diff --git a/include/media/stagefright/MetaData.h b/include/media/stagefright/MetaData.h
index a92ba61..9918225 100644
--- a/include/media/stagefright/MetaData.h
+++ b/include/media/stagefright/MetaData.h
@@ -164,7 +164,9 @@
kKeyCryptoDefaultIVSize = 'cryS', // int32_t
kKeyPssh = 'pssh', // raw data
+#ifdef QCOM_HARDWARE
kKeyTunnelException = 'Ntnl', // not tunnel
+#endif
};
enum {
diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h
index 6e3d5a4..1247356 100644
--- a/include/media/stagefright/OMXCodec.h
+++ b/include/media/stagefright/OMXCodec.h
@@ -103,8 +103,10 @@
#if defined(OMAP_ENHANCEMENT)
kAvoidMemcopyInputRecordingFrames = 0x20000000,
#endif
+#ifdef QCOM_HARDWARE
kRequiresGlobalFlush = 0x20000000, // 2^29
kRequiresWMAProComponent = 0x40000000, //2^30
+#endif
};
struct CodecNameAndQuirks {
@@ -144,14 +146,18 @@
EXECUTING_TO_IDLE,
IDLE_TO_LOADED,
RECONFIGURING,
+#ifdef QCOM_HARDWARE
PAUSING,
FLUSHING,
PAUSED,
+#endif
ERROR
};
enum {
+#ifdef QCOM_HARDWARE
kPortIndexBoth = -1,
+#endif
kPortIndexInput = 0,
kPortIndexOutput = 1
};
@@ -374,8 +380,10 @@
OMXCodec(const OMXCodec &);
OMXCodec &operator=(const OMXCodec &);
+#ifdef QCOM_HARDWARE
int32_t mNumBFrames;
bool mInSmoothStreamingMode;
+#endif
};
struct CodecCapabilities {