MediaPlayer2: hook up srcId.
Test: MediaPlayer2 plays.
Bug: 63934228
Change-Id: I0dd8b345d89034600e1c0fb3f58e4d92990c0054
diff --git a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2EngineClient.h b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2EngineClient.h
index 22df095..0b066aa 100644
--- a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2EngineClient.h
+++ b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2EngineClient.h
@@ -25,7 +25,7 @@
class MediaPlayer2EngineClient: public RefBase
{
public:
- virtual void notify(int msg, int ext1, int ext2, const Parcel *obj) = 0;
+ virtual void notify(int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj) = 0;
};
}; // namespace android
diff --git a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h
index 1de4348..b1cdf96 100644
--- a/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h
+++ b/media/libmediaplayer2/include/mediaplayer2/MediaPlayer2Interface.h
@@ -64,7 +64,7 @@
public:
// callback mechanism for passing messages to MediaPlayer2 object
typedef void (*NotifyCallback)(const wp<MediaPlayer2Engine> &listener,
- int msg, int ext1, int ext2, const Parcel *obj);
+ int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj);
// AudioSink: abstraction layer for audio output
class AudioSink : public RefBase {
@@ -240,7 +240,7 @@
mClient = client; mNotify = notifyFunc;
}
- void sendEvent(int msg, int ext1=0, int ext2=0,
+ void sendEvent(int64_t srcId, int msg, int ext1=0, int ext2=0,
const Parcel *obj=NULL) {
NotifyCallback notifyCB;
wp<MediaPlayer2Engine> client;
@@ -250,7 +250,7 @@
client = mClient;
}
- if (notifyCB) notifyCB(client, msg, ext1, ext2, obj);
+ if (notifyCB) notifyCB(client, srcId, msg, ext1, ext2, obj);
}
virtual status_t dump(int /* fd */, const Vector<String16>& /* args */) const {
diff --git a/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h b/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h
index 8e188eb..e9d6f84 100644
--- a/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h
+++ b/media/libmediaplayer2/include/mediaplayer2/mediaplayer2.h
@@ -194,7 +194,7 @@
class MediaPlayer2Listener: virtual public RefBase
{
public:
- virtual void notify(int msg, int ext1, int ext2, const Parcel *obj) = 0;
+ virtual void notify(int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj) = 0;
};
class MediaPlayer2 : public MediaPlayer2EngineClient
@@ -204,6 +204,7 @@
~MediaPlayer2();
void disconnect();
+ status_t getSrcId(int64_t *srcId);
status_t setDataSource(const sp<DataSourceDesc> &dsd);
status_t setVideoSurfaceTexture(const sp<ANativeWindowWrapper>& nww);
status_t setListener(const sp<MediaPlayer2Listener>& listener);
@@ -235,7 +236,8 @@
status_t setLooping(int loop);
bool isLooping();
status_t setVolume(float leftVolume, float rightVolume);
- void notify(int msg, int ext1, int ext2, const Parcel *obj = NULL);
+ void notify(int64_t srcId, int msg, int ext1, int ext2,
+ const Parcel *obj = NULL);
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);
@@ -260,11 +262,12 @@
status_t seekTo_l(int msec, MediaPlayer2SeekMode mode);
status_t prepareAsync_l();
status_t getDuration_l(int *msec);
- status_t attachNewPlayer(const sp<MediaPlayer2Engine>& player);
+ status_t attachNewPlayer(const sp<MediaPlayer2Engine>& player, long srcId);
status_t reset_l();
status_t checkStateForKeySet_l(int key);
sp<MediaPlayer2Engine> mPlayer;
+ int64_t mSrcId;
thread_id_t mLockThreadId;
Mutex mLock;
Mutex mNotifyLock;