Loading media/libmediaplayer2/JAudioTrack.cpp +14 −7 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,7 @@ JAudioTrack::JAudioTrack( // < Usages of the argumen void* user, // Offload void* user, // Offload size_t frameCount, // bufferSizeInBytes size_t frameCount, // bufferSizeInBytes audio_session_t sessionId, // AudioTrack audio_session_t sessionId, // AudioTrack const audio_attributes_t* pAttributes, // AudioAttributes const jobject attributes, // AudioAttributes float maxRequiredSpeed) { // bufferSizeInBytes float maxRequiredSpeed) { // bufferSizeInBytes JNIEnv *env = JavaVMHelper::getJNIEnv(); JNIEnv *env = JavaVMHelper::getJNIEnv(); Loading Loading @@ -65,13 +65,17 @@ JAudioTrack::JAudioTrack( // < Usages of the argumen jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V"); jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V"); jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor); jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor); jobject jAudioAttributesObj = JAudioAttributes::createAudioAttributesObj(env, pAttributes); if (attributes != NULL) { mAudioAttributesObj = reinterpret_cast<jobject>(env->NewGlobalRef(jAudioAttributesObj)); mAudioAttributesObj = new JObjectHolder(attributes); env->DeleteLocalRef(jAudioAttributesObj); } else { mAudioAttributesObj = new JObjectHolder( JAudioAttributes::createAudioAttributesObj(env, NULL)); } jmethodID jSetAudioAttributes = env->GetMethodID(jBuilderCls, "setAudioAttributes", jmethodID jSetAudioAttributes = env->GetMethodID(jBuilderCls, "setAudioAttributes", "(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;"); "(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;"); jBuilderObj = env->CallObjectMethod(jBuilderObj, jSetAudioAttributes, mAudioAttributesObj); jBuilderObj = env->CallObjectMethod(jBuilderObj, jSetAudioAttributes, mAudioAttributesObj->getJObject()); jmethodID jSetAudioFormat = env->GetMethodID(jBuilderCls, "setAudioFormat", jmethodID jSetAudioFormat = env->GetMethodID(jBuilderCls, "setAudioFormat", "(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;"); "(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;"); Loading Loading @@ -125,7 +129,6 @@ JAudioTrack::~JAudioTrack() { JNIEnv *env = JavaVMHelper::getJNIEnv(); JNIEnv *env = JavaVMHelper::getJNIEnv(); env->DeleteGlobalRef(mAudioTrackCls); env->DeleteGlobalRef(mAudioTrackCls); env->DeleteGlobalRef(mAudioTrackObj); env->DeleteGlobalRef(mAudioTrackObj); env->DeleteGlobalRef(mAudioAttributesObj); } } size_t JAudioTrack::frameCount() { size_t JAudioTrack::frameCount() { Loading Loading @@ -509,11 +512,15 @@ status_t JAudioTrack::setPreferredDevice(jobject device) { } } audio_stream_type_t JAudioTrack::getAudioStreamType() { audio_stream_type_t JAudioTrack::getAudioStreamType() { if (mAudioAttributesObj == NULL) { return AUDIO_STREAM_DEFAULT; } JNIEnv *env = JavaVMHelper::getJNIEnv(); JNIEnv *env = JavaVMHelper::getJNIEnv(); jclass jAudioAttributesCls = env->FindClass("android/media/AudioAttributes"); jclass jAudioAttributesCls = env->FindClass("android/media/AudioAttributes"); jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls, jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls, "getVolumeControlStream", "()I"); "getVolumeControlStream", "()I"); int javaAudioStreamType = env->CallIntMethod(mAudioAttributesObj, jGetVolumeControlStream); int javaAudioStreamType = env->CallIntMethod( mAudioAttributesObj->getJObject(), jGetVolumeControlStream); return (audio_stream_type_t)javaAudioStreamType; return (audio_stream_type_t)javaAudioStreamType; } } Loading media/libmediaplayer2/MediaPlayer2AudioOutput.cpp +15 −20 Original line number Original line Diff line number Diff line Loading @@ -60,7 +60,7 @@ status_t MediaPlayer2AudioOutput::dump(int fd, const Vector<String16>& args) con } } MediaPlayer2AudioOutput::MediaPlayer2AudioOutput(audio_session_t sessionId, uid_t uid, int pid, MediaPlayer2AudioOutput::MediaPlayer2AudioOutput(audio_session_t sessionId, uid_t uid, int pid, const audio_attributes_t* attr, std::vector<jobject>& routingDelegatesBackup) const jobject attributes, std::vector<jobject>& routingDelegatesBackup) : mCallback(nullptr), : mCallback(nullptr), mCallbackCookie(nullptr), mCallbackCookie(nullptr), mCallbackData(nullptr), mCallbackData(nullptr), Loading @@ -76,13 +76,12 @@ MediaPlayer2AudioOutput::MediaPlayer2AudioOutput(audio_session_t sessionId, uid_ mAuxEffectId(0), mAuxEffectId(0), mFlags(AUDIO_OUTPUT_FLAG_NONE) { mFlags(AUDIO_OUTPUT_FLAG_NONE) { ALOGV("MediaPlayer2AudioOutput(%d)", sessionId); ALOGV("MediaPlayer2AudioOutput(%d)", sessionId); if (attr != nullptr) { mAttributes = (audio_attributes_t *) calloc(1, sizeof(audio_attributes_t)); if (mAttributes != nullptr) { if (mAttributes != nullptr) { memcpy(mAttributes, attr, sizeof(audio_attributes_t)); mAttributes->~JObjectHolder(); } } } else { if (attributes != nullptr) { mAttributes = nullptr; mAttributes = new JObjectHolder(attributes); } } setMinBufferCount(); setMinBufferCount(); Loading @@ -99,7 +98,6 @@ MediaPlayer2AudioOutput::~MediaPlayer2AudioOutput() { JAudioTrack::removeGlobalRef(routingDelegate.second); JAudioTrack::removeGlobalRef(routingDelegate.second); } } close(); close(); free(mAttributes); delete mCallbackData; delete mCallbackData; } } Loading Loading @@ -251,16 +249,13 @@ status_t MediaPlayer2AudioOutput::getFramesWritten(uint32_t *frameswritten) cons return status; return status; } } void MediaPlayer2AudioOutput::setAudioAttributes(const audio_attributes_t * attributes) { void MediaPlayer2AudioOutput::setAudioAttributes(const jobject attributes) { Mutex::Autolock lock(mLock); Mutex::Autolock lock(mLock); if (attributes == nullptr) { if (mAttributes != nullptr) { free(mAttributes); mAttributes->~JObjectHolder(); mAttributes = nullptr; } else { if (mAttributes == nullptr) { mAttributes = (audio_attributes_t *) calloc(1, sizeof(audio_attributes_t)); } } memcpy(mAttributes, attributes, sizeof(audio_attributes_t)); if (attributes != nullptr) { mAttributes = new JObjectHolder(attributes); } } } } Loading Loading @@ -325,7 +320,7 @@ status_t MediaPlayer2AudioOutput::open( newcbd, newcbd, frameCount, frameCount, mSessionId, mSessionId, mAttributes, mAttributes != nullptr ? mAttributes->getJObject() : nullptr, 1.0f); // default value for maxRequiredSpeed 1.0f); // default value for maxRequiredSpeed } else { } else { // TODO: Due to buffer memory concerns, we use a max target playback speed // TODO: Due to buffer memory concerns, we use a max target playback speed Loading @@ -344,7 +339,7 @@ status_t MediaPlayer2AudioOutput::open( nullptr, nullptr, frameCount, frameCount, mSessionId, mSessionId, mAttributes, mAttributes != nullptr ? mAttributes->getJObject() : nullptr, targetSpeed); targetSpeed); } } Loading media/libmediaplayer2/include/mediaplayer2/JAudioTrack.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ #include <media/VolumeShaper.h> #include <media/VolumeShaper.h> #include <system/audio.h> #include <system/audio.h> #include <utils/Errors.h> #include <utils/Errors.h> #include <mediaplayer2/JObjectHolder.h> #include <media/AudioTimestamp.h> // It has dependency on audio.h/Errors.h, but doesn't #include <media/AudioTimestamp.h> // It has dependency on audio.h/Errors.h, but doesn't // include them in it. Therefore it is included here at last. // include them in it. Therefore it is included here at last. Loading Loading @@ -115,7 +115,7 @@ public: void* user, void* user, size_t frameCount = 0, size_t frameCount = 0, audio_session_t sessionId = AUDIO_SESSION_ALLOCATE, audio_session_t sessionId = AUDIO_SESSION_ALLOCATE, const audio_attributes_t* pAttributes = NULL, const jobject pAttributes = NULL, float maxRequiredSpeed = 1.0f); float maxRequiredSpeed = 1.0f); /* /* Loading Loading @@ -446,7 +446,7 @@ private: jclass mAudioTrackCls; jclass mAudioTrackCls; jobject mAudioTrackObj; jobject mAudioTrackObj; jobject mAudioAttributesObj; sp<JObjectHolder> mAudioAttributesObj; /* Creates a Java VolumeShaper.Configuration object from VolumeShaper::Configuration */ /* Creates a Java VolumeShaper.Configuration object from VolumeShaper::Configuration */ jobject createVolumeShaperConfigurationObj( jobject createVolumeShaperConfigurationObj( Loading media/libmediaplayer2/include/mediaplayer2/MediaPlayer2AudioOutput.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -41,7 +41,7 @@ public: MediaPlayer2AudioOutput(audio_session_t sessionId, MediaPlayer2AudioOutput(audio_session_t sessionId, uid_t uid, uid_t uid, int pid, int pid, const audio_attributes_t * attr, const jobject attributes, std::vector<jobject>& routingDelegatesBackup); std::vector<jobject>& routingDelegatesBackup); virtual ~MediaPlayer2AudioOutput(); virtual ~MediaPlayer2AudioOutput(); Loading Loading @@ -76,7 +76,7 @@ public: virtual void flush(); virtual void flush(); virtual void pause(); virtual void pause(); virtual void close(); virtual void close(); void setAudioAttributes(const audio_attributes_t * attributes); void setAudioAttributes(const jobject attributes); virtual audio_stream_type_t getAudioStreamType() const; virtual audio_stream_type_t getAudioStreamType() const; void setVolume(float volume); void setVolume(float volume); Loading Loading @@ -112,7 +112,7 @@ private: AudioCallback mCallback; AudioCallback mCallback; void * mCallbackCookie; void * mCallbackCookie; CallbackData * mCallbackData; CallbackData * mCallbackData; audio_attributes_t * mAttributes; sp<JObjectHolder> mAttributes; float mVolume; float mVolume; AudioPlaybackRate mPlaybackRate; AudioPlaybackRate mPlaybackRate; uint32_t mSampleRateHz; // sample rate of the content, as set in open() uint32_t mSampleRateHz; // sample rate of the content, as set in open() Loading media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h +6 −5 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <media/mediaplayer_common.h> #include <media/mediaplayer_common.h> #include <mediaplayer2/MediaPlayer2Interface.h> #include <mediaplayer2/MediaPlayer2Interface.h> #include <mediaplayer2/MediaPlayer2Types.h> #include <mediaplayer2/MediaPlayer2Types.h> #include <mediaplayer2/JObjectHolder.h> #include <vector> #include <vector> #include <jni.h> #include <jni.h> Loading Loading @@ -100,7 +101,8 @@ public: audio_session_t getAudioSessionId(); audio_session_t getAudioSessionId(); status_t setAuxEffectSendLevel(float level); status_t setAuxEffectSendLevel(float level); status_t attachAuxEffect(int effectId); status_t attachAuxEffect(int effectId); status_t setParameter(int key, const Parcel& request); status_t setAudioAttributes(const jobject attributes); jobject getAudioAttributes(); status_t getParameter(int key, Parcel* reply); status_t getParameter(int key, Parcel* reply); // Modular DRM // Modular DRM Loading @@ -121,14 +123,14 @@ private: // Disconnect from the currently connected ANativeWindow. // Disconnect from the currently connected ANativeWindow. void disconnectNativeWindow_l(); void disconnectNativeWindow_l(); status_t setAudioAttributes_l(const Parcel &request); status_t setAudioAttributes_l(const jobject attributes); void clear_l(); void clear_l(); status_t seekTo_l(int64_t msec, MediaPlayer2SeekMode mode); status_t seekTo_l(int64_t msec, MediaPlayer2SeekMode mode); status_t prepareAsync_l(); status_t prepareAsync_l(); status_t getDuration_l(int64_t *msec); status_t getDuration_l(int64_t *msec); status_t reset_l(); status_t reset_l(); status_t checkStateForKeySet_l(int key); status_t checkState_l(); pid_t mPid; pid_t mPid; uid_t mUid; uid_t mUid; Loading @@ -145,13 +147,12 @@ private: int64_t mSeekPosition; int64_t mSeekPosition; MediaPlayer2SeekMode mSeekMode; MediaPlayer2SeekMode mSeekMode; audio_stream_type_t mStreamType; audio_stream_type_t mStreamType; Parcel* mAudioAttributesParcel; bool mLoop; bool mLoop; float mVolume; float mVolume; int mVideoWidth; int mVideoWidth; int mVideoHeight; int mVideoHeight; audio_session_t mAudioSessionId; audio_session_t mAudioSessionId; audio_attributes_t * mAudioAttributes; sp<JObjectHolder> mAudioAttributes; float mSendLevel; float mSendLevel; std::vector<jobject> mRoutingDelegates; std::vector<jobject> mRoutingDelegates; sp<ANativeWindowWrapper> mConnectedWindow; sp<ANativeWindowWrapper> mConnectedWindow; Loading Loading
media/libmediaplayer2/JAudioTrack.cpp +14 −7 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,7 @@ JAudioTrack::JAudioTrack( // < Usages of the argumen void* user, // Offload void* user, // Offload size_t frameCount, // bufferSizeInBytes size_t frameCount, // bufferSizeInBytes audio_session_t sessionId, // AudioTrack audio_session_t sessionId, // AudioTrack const audio_attributes_t* pAttributes, // AudioAttributes const jobject attributes, // AudioAttributes float maxRequiredSpeed) { // bufferSizeInBytes float maxRequiredSpeed) { // bufferSizeInBytes JNIEnv *env = JavaVMHelper::getJNIEnv(); JNIEnv *env = JavaVMHelper::getJNIEnv(); Loading Loading @@ -65,13 +65,17 @@ JAudioTrack::JAudioTrack( // < Usages of the argumen jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V"); jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V"); jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor); jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor); jobject jAudioAttributesObj = JAudioAttributes::createAudioAttributesObj(env, pAttributes); if (attributes != NULL) { mAudioAttributesObj = reinterpret_cast<jobject>(env->NewGlobalRef(jAudioAttributesObj)); mAudioAttributesObj = new JObjectHolder(attributes); env->DeleteLocalRef(jAudioAttributesObj); } else { mAudioAttributesObj = new JObjectHolder( JAudioAttributes::createAudioAttributesObj(env, NULL)); } jmethodID jSetAudioAttributes = env->GetMethodID(jBuilderCls, "setAudioAttributes", jmethodID jSetAudioAttributes = env->GetMethodID(jBuilderCls, "setAudioAttributes", "(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;"); "(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;"); jBuilderObj = env->CallObjectMethod(jBuilderObj, jSetAudioAttributes, mAudioAttributesObj); jBuilderObj = env->CallObjectMethod(jBuilderObj, jSetAudioAttributes, mAudioAttributesObj->getJObject()); jmethodID jSetAudioFormat = env->GetMethodID(jBuilderCls, "setAudioFormat", jmethodID jSetAudioFormat = env->GetMethodID(jBuilderCls, "setAudioFormat", "(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;"); "(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;"); Loading Loading @@ -125,7 +129,6 @@ JAudioTrack::~JAudioTrack() { JNIEnv *env = JavaVMHelper::getJNIEnv(); JNIEnv *env = JavaVMHelper::getJNIEnv(); env->DeleteGlobalRef(mAudioTrackCls); env->DeleteGlobalRef(mAudioTrackCls); env->DeleteGlobalRef(mAudioTrackObj); env->DeleteGlobalRef(mAudioTrackObj); env->DeleteGlobalRef(mAudioAttributesObj); } } size_t JAudioTrack::frameCount() { size_t JAudioTrack::frameCount() { Loading Loading @@ -509,11 +512,15 @@ status_t JAudioTrack::setPreferredDevice(jobject device) { } } audio_stream_type_t JAudioTrack::getAudioStreamType() { audio_stream_type_t JAudioTrack::getAudioStreamType() { if (mAudioAttributesObj == NULL) { return AUDIO_STREAM_DEFAULT; } JNIEnv *env = JavaVMHelper::getJNIEnv(); JNIEnv *env = JavaVMHelper::getJNIEnv(); jclass jAudioAttributesCls = env->FindClass("android/media/AudioAttributes"); jclass jAudioAttributesCls = env->FindClass("android/media/AudioAttributes"); jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls, jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls, "getVolumeControlStream", "()I"); "getVolumeControlStream", "()I"); int javaAudioStreamType = env->CallIntMethod(mAudioAttributesObj, jGetVolumeControlStream); int javaAudioStreamType = env->CallIntMethod( mAudioAttributesObj->getJObject(), jGetVolumeControlStream); return (audio_stream_type_t)javaAudioStreamType; return (audio_stream_type_t)javaAudioStreamType; } } Loading
media/libmediaplayer2/MediaPlayer2AudioOutput.cpp +15 −20 Original line number Original line Diff line number Diff line Loading @@ -60,7 +60,7 @@ status_t MediaPlayer2AudioOutput::dump(int fd, const Vector<String16>& args) con } } MediaPlayer2AudioOutput::MediaPlayer2AudioOutput(audio_session_t sessionId, uid_t uid, int pid, MediaPlayer2AudioOutput::MediaPlayer2AudioOutput(audio_session_t sessionId, uid_t uid, int pid, const audio_attributes_t* attr, std::vector<jobject>& routingDelegatesBackup) const jobject attributes, std::vector<jobject>& routingDelegatesBackup) : mCallback(nullptr), : mCallback(nullptr), mCallbackCookie(nullptr), mCallbackCookie(nullptr), mCallbackData(nullptr), mCallbackData(nullptr), Loading @@ -76,13 +76,12 @@ MediaPlayer2AudioOutput::MediaPlayer2AudioOutput(audio_session_t sessionId, uid_ mAuxEffectId(0), mAuxEffectId(0), mFlags(AUDIO_OUTPUT_FLAG_NONE) { mFlags(AUDIO_OUTPUT_FLAG_NONE) { ALOGV("MediaPlayer2AudioOutput(%d)", sessionId); ALOGV("MediaPlayer2AudioOutput(%d)", sessionId); if (attr != nullptr) { mAttributes = (audio_attributes_t *) calloc(1, sizeof(audio_attributes_t)); if (mAttributes != nullptr) { if (mAttributes != nullptr) { memcpy(mAttributes, attr, sizeof(audio_attributes_t)); mAttributes->~JObjectHolder(); } } } else { if (attributes != nullptr) { mAttributes = nullptr; mAttributes = new JObjectHolder(attributes); } } setMinBufferCount(); setMinBufferCount(); Loading @@ -99,7 +98,6 @@ MediaPlayer2AudioOutput::~MediaPlayer2AudioOutput() { JAudioTrack::removeGlobalRef(routingDelegate.second); JAudioTrack::removeGlobalRef(routingDelegate.second); } } close(); close(); free(mAttributes); delete mCallbackData; delete mCallbackData; } } Loading Loading @@ -251,16 +249,13 @@ status_t MediaPlayer2AudioOutput::getFramesWritten(uint32_t *frameswritten) cons return status; return status; } } void MediaPlayer2AudioOutput::setAudioAttributes(const audio_attributes_t * attributes) { void MediaPlayer2AudioOutput::setAudioAttributes(const jobject attributes) { Mutex::Autolock lock(mLock); Mutex::Autolock lock(mLock); if (attributes == nullptr) { if (mAttributes != nullptr) { free(mAttributes); mAttributes->~JObjectHolder(); mAttributes = nullptr; } else { if (mAttributes == nullptr) { mAttributes = (audio_attributes_t *) calloc(1, sizeof(audio_attributes_t)); } } memcpy(mAttributes, attributes, sizeof(audio_attributes_t)); if (attributes != nullptr) { mAttributes = new JObjectHolder(attributes); } } } } Loading Loading @@ -325,7 +320,7 @@ status_t MediaPlayer2AudioOutput::open( newcbd, newcbd, frameCount, frameCount, mSessionId, mSessionId, mAttributes, mAttributes != nullptr ? mAttributes->getJObject() : nullptr, 1.0f); // default value for maxRequiredSpeed 1.0f); // default value for maxRequiredSpeed } else { } else { // TODO: Due to buffer memory concerns, we use a max target playback speed // TODO: Due to buffer memory concerns, we use a max target playback speed Loading @@ -344,7 +339,7 @@ status_t MediaPlayer2AudioOutput::open( nullptr, nullptr, frameCount, frameCount, mSessionId, mSessionId, mAttributes, mAttributes != nullptr ? mAttributes->getJObject() : nullptr, targetSpeed); targetSpeed); } } Loading
media/libmediaplayer2/include/mediaplayer2/JAudioTrack.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ #include <media/VolumeShaper.h> #include <media/VolumeShaper.h> #include <system/audio.h> #include <system/audio.h> #include <utils/Errors.h> #include <utils/Errors.h> #include <mediaplayer2/JObjectHolder.h> #include <media/AudioTimestamp.h> // It has dependency on audio.h/Errors.h, but doesn't #include <media/AudioTimestamp.h> // It has dependency on audio.h/Errors.h, but doesn't // include them in it. Therefore it is included here at last. // include them in it. Therefore it is included here at last. Loading Loading @@ -115,7 +115,7 @@ public: void* user, void* user, size_t frameCount = 0, size_t frameCount = 0, audio_session_t sessionId = AUDIO_SESSION_ALLOCATE, audio_session_t sessionId = AUDIO_SESSION_ALLOCATE, const audio_attributes_t* pAttributes = NULL, const jobject pAttributes = NULL, float maxRequiredSpeed = 1.0f); float maxRequiredSpeed = 1.0f); /* /* Loading Loading @@ -446,7 +446,7 @@ private: jclass mAudioTrackCls; jclass mAudioTrackCls; jobject mAudioTrackObj; jobject mAudioTrackObj; jobject mAudioAttributesObj; sp<JObjectHolder> mAudioAttributesObj; /* Creates a Java VolumeShaper.Configuration object from VolumeShaper::Configuration */ /* Creates a Java VolumeShaper.Configuration object from VolumeShaper::Configuration */ jobject createVolumeShaperConfigurationObj( jobject createVolumeShaperConfigurationObj( Loading
media/libmediaplayer2/include/mediaplayer2/MediaPlayer2AudioOutput.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -41,7 +41,7 @@ public: MediaPlayer2AudioOutput(audio_session_t sessionId, MediaPlayer2AudioOutput(audio_session_t sessionId, uid_t uid, uid_t uid, int pid, int pid, const audio_attributes_t * attr, const jobject attributes, std::vector<jobject>& routingDelegatesBackup); std::vector<jobject>& routingDelegatesBackup); virtual ~MediaPlayer2AudioOutput(); virtual ~MediaPlayer2AudioOutput(); Loading Loading @@ -76,7 +76,7 @@ public: virtual void flush(); virtual void flush(); virtual void pause(); virtual void pause(); virtual void close(); virtual void close(); void setAudioAttributes(const audio_attributes_t * attributes); void setAudioAttributes(const jobject attributes); virtual audio_stream_type_t getAudioStreamType() const; virtual audio_stream_type_t getAudioStreamType() const; void setVolume(float volume); void setVolume(float volume); Loading Loading @@ -112,7 +112,7 @@ private: AudioCallback mCallback; AudioCallback mCallback; void * mCallbackCookie; void * mCallbackCookie; CallbackData * mCallbackData; CallbackData * mCallbackData; audio_attributes_t * mAttributes; sp<JObjectHolder> mAttributes; float mVolume; float mVolume; AudioPlaybackRate mPlaybackRate; AudioPlaybackRate mPlaybackRate; uint32_t mSampleRateHz; // sample rate of the content, as set in open() uint32_t mSampleRateHz; // sample rate of the content, as set in open() Loading
media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h +6 −5 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <media/mediaplayer_common.h> #include <media/mediaplayer_common.h> #include <mediaplayer2/MediaPlayer2Interface.h> #include <mediaplayer2/MediaPlayer2Interface.h> #include <mediaplayer2/MediaPlayer2Types.h> #include <mediaplayer2/MediaPlayer2Types.h> #include <mediaplayer2/JObjectHolder.h> #include <vector> #include <vector> #include <jni.h> #include <jni.h> Loading Loading @@ -100,7 +101,8 @@ public: audio_session_t getAudioSessionId(); audio_session_t getAudioSessionId(); status_t setAuxEffectSendLevel(float level); status_t setAuxEffectSendLevel(float level); status_t attachAuxEffect(int effectId); status_t attachAuxEffect(int effectId); status_t setParameter(int key, const Parcel& request); status_t setAudioAttributes(const jobject attributes); jobject getAudioAttributes(); status_t getParameter(int key, Parcel* reply); status_t getParameter(int key, Parcel* reply); // Modular DRM // Modular DRM Loading @@ -121,14 +123,14 @@ private: // Disconnect from the currently connected ANativeWindow. // Disconnect from the currently connected ANativeWindow. void disconnectNativeWindow_l(); void disconnectNativeWindow_l(); status_t setAudioAttributes_l(const Parcel &request); status_t setAudioAttributes_l(const jobject attributes); void clear_l(); void clear_l(); status_t seekTo_l(int64_t msec, MediaPlayer2SeekMode mode); status_t seekTo_l(int64_t msec, MediaPlayer2SeekMode mode); status_t prepareAsync_l(); status_t prepareAsync_l(); status_t getDuration_l(int64_t *msec); status_t getDuration_l(int64_t *msec); status_t reset_l(); status_t reset_l(); status_t checkStateForKeySet_l(int key); status_t checkState_l(); pid_t mPid; pid_t mPid; uid_t mUid; uid_t mUid; Loading @@ -145,13 +147,12 @@ private: int64_t mSeekPosition; int64_t mSeekPosition; MediaPlayer2SeekMode mSeekMode; MediaPlayer2SeekMode mSeekMode; audio_stream_type_t mStreamType; audio_stream_type_t mStreamType; Parcel* mAudioAttributesParcel; bool mLoop; bool mLoop; float mVolume; float mVolume; int mVideoWidth; int mVideoWidth; int mVideoHeight; int mVideoHeight; audio_session_t mAudioSessionId; audio_session_t mAudioSessionId; audio_attributes_t * mAudioAttributes; sp<JObjectHolder> mAudioAttributes; float mSendLevel; float mSendLevel; std::vector<jobject> mRoutingDelegates; std::vector<jobject> mRoutingDelegates; sp<ANativeWindowWrapper> mConnectedWindow; sp<ANativeWindowWrapper> mConnectedWindow; Loading