diff options
| -rw-r--r-- | core/java/android/widget/VideoView.java | 48 | ||||
| -rw-r--r-- | include/media/IMediaPlayer.h | 2 | ||||
| -rw-r--r-- | include/media/MediaPlayerInterface.h | 2 | ||||
| -rw-r--r-- | include/media/mediaplayer.h | 2 | ||||
| -rw-r--r-- | media/java/android/media/MediaPlayer.java | 47 | ||||
| -rw-r--r-- | media/jni/android_media_MediaPlayer.cpp | 14 | ||||
| -rw-r--r-- | media/libmedia/IMediaPlayer.cpp | 32 | ||||
| -rw-r--r-- | media/libmedia/mediaplayer.cpp | 10 | ||||
| -rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.cpp | 14 | ||||
| -rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.h | 2 | ||||
| -rw-r--r-- | media/libmediaplayerservice/StagefrightPlayer.cpp | 10 | ||||
| -rw-r--r-- | media/libmediaplayerservice/StagefrightPlayer.h | 2 |
12 files changed, 5 insertions, 180 deletions
diff --git a/core/java/android/widget/VideoView.java b/core/java/android/widget/VideoView.java index 531d9fe..3d9cde4 100644 --- a/core/java/android/widget/VideoView.java +++ b/core/java/android/widget/VideoView.java @@ -62,9 +62,6 @@ public class VideoView extends SurfaceView implements MediaPlayerControl { private static final int STATE_PLAYING = 3; private static final int STATE_PAUSED = 4; private static final int STATE_PLAYBACK_COMPLETED = 5; - private static final int STATE_SUSPEND = 6; - private static final int STATE_RESUME = 7; - private static final int STATE_SUSPEND_UNSUPPORTED = 8; // mCurrentState is a VideoView object's current state. // mTargetState is the state that a method caller intends to reach. @@ -90,7 +87,6 @@ public class VideoView extends SurfaceView implements MediaPlayerControl { private boolean mCanPause; private boolean mCanSeekBack; private boolean mCanSeekForward; - private int mStateWhenSuspended; //state before calling suspend() public VideoView(Context context) { super(context); @@ -470,14 +466,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl { public void surfaceCreated(SurfaceHolder holder) { mSurfaceHolder = holder; - //resume() was called before surfaceCreated() - if (mMediaPlayer != null && mCurrentState == STATE_SUSPEND - && mTargetState == STATE_RESUME) { - mMediaPlayer.setDisplay(mSurfaceHolder); - resume(); - } else { - openVideo(); - } + openVideo(); } public void surfaceDestroyed(SurfaceHolder holder) @@ -485,9 +474,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl { // after we return from this we can't use the surface any more mSurfaceHolder = null; if (mMediaController != null) mMediaController.hide(); - if (mCurrentState != STATE_SUSPEND) { - release(true); - } + release(true); } }; @@ -581,39 +568,14 @@ public class VideoView extends SurfaceView implements MediaPlayerControl { } public void suspend() { - if (isInPlaybackState()) { - if (mMediaPlayer.suspend()) { - mStateWhenSuspended = mCurrentState; - mCurrentState = STATE_SUSPEND; - mTargetState = STATE_SUSPEND; - } else { - release(false); - mCurrentState = STATE_SUSPEND_UNSUPPORTED; - Log.w(TAG, "Unable to suspend video. Release MediaPlayer."); - } - } + release(false); } public void resume() { - if (mSurfaceHolder == null && mCurrentState == STATE_SUSPEND){ - mTargetState = STATE_RESUME; - return; - } - if (mMediaPlayer != null && mCurrentState == STATE_SUSPEND) { - if (mMediaPlayer.resume()) { - mCurrentState = mStateWhenSuspended; - mTargetState = mStateWhenSuspended; - } else { - Log.w(TAG, "Unable to resume video"); - } - return; - } - if (mCurrentState == STATE_SUSPEND_UNSUPPORTED) { - openVideo(); - } + openVideo(); } - // cache duration as mDuration for faster access + // cache duration as mDuration for faster access public int getDuration() { if (isInPlaybackState()) { if (mDuration > 0) { diff --git a/include/media/IMediaPlayer.h b/include/media/IMediaPlayer.h index a1ce113..3d77278 100644 --- a/include/media/IMediaPlayer.h +++ b/include/media/IMediaPlayer.h @@ -48,8 +48,6 @@ public: virtual status_t setAudioStreamType(int type) = 0; virtual status_t setLooping(int loop) = 0; virtual status_t setVolume(float leftVolume, float rightVolume) = 0; - virtual status_t suspend() = 0; - virtual status_t resume() = 0; virtual status_t setAuxEffectSendLevel(float level) = 0; virtual status_t attachAuxEffect(int effectId) = 0; diff --git a/include/media/MediaPlayerInterface.h b/include/media/MediaPlayerInterface.h index eae0d7b..2d55a55 100644 --- a/include/media/MediaPlayerInterface.h +++ b/include/media/MediaPlayerInterface.h @@ -120,8 +120,6 @@ public: virtual status_t reset() = 0; virtual status_t setLooping(int loop) = 0; virtual player_type playerType() = 0; - virtual status_t suspend() { return INVALID_OPERATION; } - virtual status_t resume() { return INVALID_OPERATION; } virtual void setNotifyCallback(void* cookie, notify_callback_f notifyFunc) { mCookie = cookie; mNotify = notifyFunc; } diff --git a/include/media/mediaplayer.h b/include/media/mediaplayer.h index 207191d..88b0c3e 100644 --- a/include/media/mediaplayer.h +++ b/include/media/mediaplayer.h @@ -169,8 +169,6 @@ public: status_t invoke(const Parcel& request, Parcel *reply); status_t setMetadataFilter(const Parcel& filter); status_t getMetadata(bool update_only, bool apply_filter, Parcel *metadata); - status_t suspend(); - status_t resume(); status_t setAudioSessionId(int sessionId); int getAudioSessionId(); status_t setAuxEffectSendLevel(float level); diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java index cb46a29..01134f2 100644 --- a/media/java/android/media/MediaPlayer.java +++ b/media/java/android/media/MediaPlayer.java @@ -1087,53 +1087,6 @@ public class MediaPlayer private native void _reset(); /** - * Suspends the MediaPlayer. The only methods that may be called while - * suspended are {@link #reset()}, {@link #release()} and {@link #resume()}. - * MediaPlayer will release its hardware resources as far as - * possible and reasonable. A successfully suspended MediaPlayer will - * cease sending events. - * If suspension is successful, this method returns true, otherwise - * false is returned and the player's state is not affected. - * @hide - */ - public boolean suspend() { - if (native_suspend_resume(true) < 0) { - return false; - } - - stayAwake(false); - - // make sure none of the listeners get called anymore - mEventHandler.removeCallbacksAndMessages(null); - - return true; - } - - /** - * Resumes the MediaPlayer. Only to be called after a previous (successful) - * call to {@link #suspend()}. - * MediaPlayer will return to a state close to what it was in before - * suspension. - * @hide - */ - public boolean resume() { - if (native_suspend_resume(false) < 0) { - return false; - } - - if (isPlaying()) { - stayAwake(true); - } - - return true; - } - - /** - * @hide - */ - private native int native_suspend_resume(boolean isSuspend); - - /** * Sets the audio stream type for this MediaPlayer. See {@link AudioManager} * for a list of stream types. Must call this method before prepare() or * prepareAsync() in order for the target stream type to become effective diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp index eb3d27b..997d017 100644 --- a/media/jni/android_media_MediaPlayer.cpp +++ b/media/jni/android_media_MediaPlayer.cpp @@ -680,19 +680,6 @@ android_media_MediaPlayer_native_finalize(JNIEnv *env, jobject thiz) android_media_MediaPlayer_release(env, thiz); } -static jint -android_media_MediaPlayer_native_suspend_resume( - JNIEnv *env, jobject thiz, jboolean isSuspend) { - LOGV("suspend_resume(%d)", isSuspend); - sp<MediaPlayer> mp = getMediaPlayer(env, thiz); - if (mp == NULL ) { - jniThrowException(env, "java/lang/IllegalStateException", NULL); - return UNKNOWN_ERROR; - } - - return isSuspend ? mp->suspend() : mp->resume(); -} - static void android_media_MediaPlayer_set_audio_session_id(JNIEnv *env, jobject thiz, jint sessionId) { LOGV("set_session_id(): %d", sessionId); sp<MediaPlayer> mp = getMediaPlayer(env, thiz); @@ -767,7 +754,6 @@ static JNINativeMethod gMethods[] = { {"native_init", "()V", (void *)android_media_MediaPlayer_native_init}, {"native_setup", "(Ljava/lang/Object;)V", (void *)android_media_MediaPlayer_native_setup}, {"native_finalize", "()V", (void *)android_media_MediaPlayer_native_finalize}, - {"native_suspend_resume", "(Z)I", (void *)android_media_MediaPlayer_native_suspend_resume}, {"getAudioSessionId", "()I", (void *)android_media_MediaPlayer_get_audio_session_id}, {"setAudioSessionId", "(I)V", (void *)android_media_MediaPlayer_set_audio_session_id}, {"setAuxEffectSendLevel", "(F)V", (void *)android_media_MediaPlayer_setAuxEffectSendLevel}, diff --git a/media/libmedia/IMediaPlayer.cpp b/media/libmedia/IMediaPlayer.cpp index 9dfdcb0..1a46715 100644 --- a/media/libmedia/IMediaPlayer.cpp +++ b/media/libmedia/IMediaPlayer.cpp @@ -45,8 +45,6 @@ enum { INVOKE, SET_METADATA_FILTER, GET_METADATA, - SUSPEND, - RESUME, SET_AUX_EFFECT_SEND_LEVEL, ATTACH_AUX_EFFECT }; @@ -215,26 +213,6 @@ public: return reply->readInt32(); } - status_t suspend() { - Parcel request; - request.writeInterfaceToken(IMediaPlayer::getInterfaceDescriptor()); - - Parcel reply; - remote()->transact(SUSPEND, request, &reply); - - return reply.readInt32(); - } - - status_t resume() { - Parcel request; - request.writeInterfaceToken(IMediaPlayer::getInterfaceDescriptor()); - - Parcel reply; - remote()->transact(RESUME, request, &reply); - - return reply.readInt32(); - } - status_t setAuxEffectSendLevel(float level) { Parcel data, reply; @@ -358,16 +336,6 @@ status_t BnMediaPlayer::onTransact( reply->writeInt32(setMetadataFilter(data)); return NO_ERROR; } break; - case SUSPEND: { - CHECK_INTERFACE(IMediaPlayer, data, reply); - reply->writeInt32(suspend()); - return NO_ERROR; - } break; - case RESUME: { - CHECK_INTERFACE(IMediaPlayer, data, reply); - reply->writeInt32(resume()); - return NO_ERROR; - } break; case GET_METADATA: { CHECK_INTERFACE(IMediaPlayer, data, reply); const status_t retcode = getMetadata(data.readInt32(), data.readInt32(), reply); diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp index ee3f660..34e41a1 100644 --- a/media/libmedia/mediaplayer.cpp +++ b/media/libmedia/mediaplayer.cpp @@ -172,16 +172,6 @@ status_t MediaPlayer::invoke(const Parcel& request, Parcel *reply) return INVALID_OPERATION; } -status_t MediaPlayer::suspend() { - Mutex::Autolock _l(mLock); - return mPlayer->suspend(); -} - -status_t MediaPlayer::resume() { - Mutex::Autolock _l(mLock); - return mPlayer->resume(); -} - status_t MediaPlayer::setMetadataFilter(const Parcel& filter) { LOGD("setMetadataFilter"); diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp index 80922d6..bb86e05 100644 --- a/media/libmediaplayerservice/MediaPlayerService.cpp +++ b/media/libmediaplayerservice/MediaPlayerService.cpp @@ -974,20 +974,6 @@ status_t MediaPlayerService::Client::getMetadata( return OK; } -status_t MediaPlayerService::Client::suspend() { - sp<MediaPlayerBase> p = getPlayer(); - if (p == 0) return UNKNOWN_ERROR; - - return p->suspend(); -} - -status_t MediaPlayerService::Client::resume() { - sp<MediaPlayerBase> p = getPlayer(); - if (p == 0) return UNKNOWN_ERROR; - - return p->resume(); -} - status_t MediaPlayerService::Client::prepareAsync() { LOGV("[%d] prepareAsync", mConnId); diff --git a/media/libmediaplayerservice/MediaPlayerService.h b/media/libmediaplayerservice/MediaPlayerService.h index c4e78f7..e197cde 100644 --- a/media/libmediaplayerservice/MediaPlayerService.h +++ b/media/libmediaplayerservice/MediaPlayerService.h @@ -225,8 +225,6 @@ private: virtual status_t getMetadata(bool update_only, bool apply_filter, Parcel *reply); - virtual status_t suspend(); - virtual status_t resume(); virtual status_t setAuxEffectSendLevel(float level); virtual status_t attachAuxEffect(int effectId); diff --git a/media/libmediaplayerservice/StagefrightPlayer.cpp b/media/libmediaplayerservice/StagefrightPlayer.cpp index b3e2da0..e0957f6 100644 --- a/media/libmediaplayerservice/StagefrightPlayer.cpp +++ b/media/libmediaplayerservice/StagefrightPlayer.cpp @@ -147,16 +147,6 @@ player_type StagefrightPlayer::playerType() { return STAGEFRIGHT_PLAYER; } -status_t StagefrightPlayer::suspend() { - LOGV("suspend"); - return mPlayer->suspend(); -} - -status_t StagefrightPlayer::resume() { - LOGV("resume"); - return mPlayer->resume(); -} - status_t StagefrightPlayer::invoke(const Parcel &request, Parcel *reply) { return INVALID_OPERATION; } diff --git a/media/libmediaplayerservice/StagefrightPlayer.h b/media/libmediaplayerservice/StagefrightPlayer.h index dd37102..3899447 100644 --- a/media/libmediaplayerservice/StagefrightPlayer.h +++ b/media/libmediaplayerservice/StagefrightPlayer.h @@ -51,8 +51,6 @@ public: virtual player_type playerType(); virtual status_t invoke(const Parcel &request, Parcel *reply); virtual void setAudioSink(const sp<AudioSink> &audioSink); - virtual status_t suspend(); - virtual status_t resume(); virtual status_t getMetadata( const media::Metadata::Filter& ids, Parcel *records); |
