summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/widget/VideoView.java48
-rw-r--r--include/media/IMediaPlayer.h2
-rw-r--r--include/media/MediaPlayerInterface.h2
-rw-r--r--include/media/mediaplayer.h2
-rw-r--r--media/java/android/media/MediaPlayer.java47
-rw-r--r--media/jni/android_media_MediaPlayer.cpp14
-rw-r--r--media/libmedia/IMediaPlayer.cpp32
-rw-r--r--media/libmedia/mediaplayer.cpp10
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp14
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.h2
-rw-r--r--media/libmediaplayerservice/StagefrightPlayer.cpp10
-rw-r--r--media/libmediaplayerservice/StagefrightPlayer.h2
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);