MediaPlayer2: remove MediaPlayerHWInterface
Test: MediaPlayer2 plays
Bug: 63934228
Change-Id: Ia9a75e49938f63a02c240f6aa98185d74f9f4656
diff --git a/media/libmedia/MediaPlayer2Manager.cpp b/media/libmedia/MediaPlayer2Manager.cpp
index 76b51f3..aefb91c 100644
--- a/media/libmedia/MediaPlayer2Manager.cpp
+++ b/media/libmedia/MediaPlayer2Manager.cpp
@@ -328,7 +328,7 @@
mPid, mConnId, mStatus, mLoop?"true": "false");
result.append(buffer);
- sp<MediaPlayer2Base> p;
+ sp<MediaPlayer2Interface> p;
sp<AudioOutput> audioOutput;
bool locked = false;
for (int i = 0; i < kDumpLockRetries; ++i) {
@@ -532,7 +532,7 @@
ALOGV("disconnect(%d) from pid %d", mConnId, mPid);
// grab local reference and clear main reference to prevent future
// access to object
- sp<MediaPlayer2Base> p;
+ sp<MediaPlayer2Interface> p;
{
Mutex::Autolock l(mLock);
p = mPlayer;
@@ -560,8 +560,8 @@
IPCThreadState::self()->flushCommands();
}
-sp<MediaPlayer2Base> MediaPlayer2Manager::Client::createPlayer() {
- sp<MediaPlayer2Base> p = getPlayer();
+sp<MediaPlayer2Interface> MediaPlayer2Manager::Client::createPlayer() {
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == NULL) {
p = new NuPlayer2Driver(mPid);
status_t init_result = p->initCheck();
@@ -583,7 +583,7 @@
void MediaPlayer2Manager::Client::AudioDeviceUpdatedNotifier::onAudioDeviceUpdate(
audio_io_handle_t audioIo,
audio_port_handle_t deviceId) {
- sp<MediaPlayer2Base> listener = mListener.promote();
+ sp<MediaPlayer2Interface> listener = mListener.promote();
if (listener != NULL) {
listener->sendEvent(MEDIA2_AUDIO_ROUTING_CHANGED, audioIo, deviceId);
} else {
@@ -591,8 +591,8 @@
}
}
-sp<MediaPlayer2Base> MediaPlayer2Manager::Client::setDataSource_pre() {
- sp<MediaPlayer2Base> p = createPlayer();
+sp<MediaPlayer2Interface> MediaPlayer2Manager::Client::setDataSource_pre() {
+ sp<MediaPlayer2Interface> p = createPlayer();
if (p == NULL) {
return p;
}
@@ -601,17 +601,15 @@
mAudioDeviceUpdatedListener = new AudioDeviceUpdatedNotifier(p);
- if (!p->hardwareOutput()) {
- mAudioOutput = new AudioOutput(mAudioSessionId, mUid,
- mPid, mAudioAttributes, mAudioDeviceUpdatedListener);
- static_cast<MediaPlayer2Interface*>(p.get())->setAudioSink(mAudioOutput);
- }
+ mAudioOutput = new AudioOutput(mAudioSessionId, mUid,
+ mPid, mAudioAttributes, mAudioDeviceUpdatedListener);
+ p->setAudioSink(mAudioOutput);
return p;
}
status_t MediaPlayer2Manager::Client::setDataSource_post(
- const sp<MediaPlayer2Base>& p,
+ const sp<MediaPlayer2Interface>& p,
status_t status)
{
ALOGV(" setDataSource");
@@ -657,7 +655,7 @@
mStatus = UNKNOWN_ERROR;
return mStatus;
} else {
- sp<MediaPlayer2Base> p = setDataSource_pre();
+ sp<MediaPlayer2Interface> p = setDataSource_pre();
if (p == NULL) {
return NO_INIT;
}
@@ -694,7 +692,7 @@
ALOGV("calculated length = %lld", (long long)length);
}
- sp<MediaPlayer2Base> p = setDataSource_pre();
+ sp<MediaPlayer2Interface> p = setDataSource_pre();
if (p == NULL) {
return NO_INIT;
}
@@ -705,7 +703,7 @@
status_t MediaPlayer2Manager::Client::setDataSource(
const sp<IStreamSource> &source) {
- sp<MediaPlayer2Base> p = setDataSource_pre();
+ sp<MediaPlayer2Interface> p = setDataSource_pre();
if (p == NULL) {
return NO_INIT;
}
@@ -716,7 +714,7 @@
status_t MediaPlayer2Manager::Client::setDataSource(
const sp<DataSource> &source) {
- sp<MediaPlayer2Base> p = setDataSource_pre();
+ sp<MediaPlayer2Interface> p = setDataSource_pre();
if (p == NULL) {
return NO_INIT;
}
@@ -743,7 +741,7 @@
ALOGV("[%d] setVideoSurfaceTexture(%p)",
mConnId,
(nww == NULL ? NULL : nww->getANativeWindow()));
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
if (nww != NULL && nww->getANativeWindow() != NULL) {
@@ -796,7 +794,7 @@
status_t MediaPlayer2Manager::Client::invoke(const Parcel& request,
Parcel *reply)
{
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == NULL) return UNKNOWN_ERROR;
return p->invoke(request, reply);
}
@@ -820,7 +818,7 @@
status_t MediaPlayer2Manager::Client::getMetadata(
bool update_only, bool /*apply_filter*/, Parcel *reply)
{
- sp<MediaPlayer2Base> player = getPlayer();
+ sp<MediaPlayer2Interface> player = getPlayer();
if (player == 0) return UNKNOWN_ERROR;
status_t status;
@@ -865,7 +863,7 @@
{
ALOGV("[%d] setBufferingSettings{%s}",
mConnId, buffering.toString().string());
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->setBufferingSettings(buffering);
}
@@ -873,7 +871,7 @@
status_t MediaPlayer2Manager::Client::getBufferingSettings(
BufferingSettings* buffering /* nonnull */)
{
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
// TODO: create mPlayer on demand.
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->getBufferingSettings(buffering);
@@ -889,7 +887,7 @@
status_t MediaPlayer2Manager::Client::prepareAsync()
{
ALOGV("[%d] prepareAsync", mConnId);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->prepareAsync();
#if CALLBACK_ANTAGONIZER
@@ -902,7 +900,7 @@
status_t MediaPlayer2Manager::Client::start()
{
ALOGV("[%d] start", mConnId);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
p->setLooping(mLoop);
return p->start();
@@ -911,7 +909,7 @@
status_t MediaPlayer2Manager::Client::stop()
{
ALOGV("[%d] stop", mConnId);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->stop();
}
@@ -919,7 +917,7 @@
status_t MediaPlayer2Manager::Client::pause()
{
ALOGV("[%d] pause", mConnId);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->pause();
}
@@ -927,7 +925,7 @@
status_t MediaPlayer2Manager::Client::isPlaying(bool* state)
{
*state = false;
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
*state = p->isPlaying();
ALOGV("[%d] isPlaying: %d", mConnId, *state);
@@ -938,14 +936,14 @@
{
ALOGV("[%d] setPlaybackSettings(%f, %f, %d, %d)",
mConnId, rate.mSpeed, rate.mPitch, rate.mFallbackMode, rate.mStretchMode);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->setPlaybackSettings(rate);
}
status_t MediaPlayer2Manager::Client::getPlaybackSettings(AudioPlaybackRate* rate /* nonnull */)
{
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->getPlaybackSettings(rate);
if (ret == NO_ERROR) {
@@ -962,7 +960,7 @@
{
ALOGV("[%d] setSyncSettings(%u, %u, %f, %f)",
mConnId, sync.mSource, sync.mAudioAdjustMode, sync.mTolerance, videoFpsHint);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->setSyncSettings(sync, videoFpsHint);
}
@@ -970,7 +968,7 @@
status_t MediaPlayer2Manager::Client::getSyncSettings(
AVSyncSettings* sync /* nonnull */, float* videoFps /* nonnull */)
{
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->getSyncSettings(sync, videoFps);
if (ret == NO_ERROR) {
@@ -985,7 +983,7 @@
status_t MediaPlayer2Manager::Client::getCurrentPosition(int *msec)
{
ALOGV("getCurrentPosition");
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->getCurrentPosition(msec);
if (ret == NO_ERROR) {
@@ -999,7 +997,7 @@
status_t MediaPlayer2Manager::Client::getDuration(int *msec)
{
ALOGV("getDuration");
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->getDuration(msec);
if (ret == NO_ERROR) {
@@ -1023,7 +1021,7 @@
if (c != NULL) {
if (mAudioOutput != NULL) {
mAudioOutput->setNextOutput(c->mAudioOutput);
- } else if ((mPlayer != NULL) && !mPlayer->hardwareOutput()) {
+ } else {
ALOGE("no current audio output");
}
@@ -1040,13 +1038,9 @@
const sp<VolumeShaper::Operation>& operation) {
// for hardware output, call player instead
ALOGV("Client::applyVolumeShaper(%p)", this);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
{
Mutex::Autolock l(mLock);
- if (p != 0 && p->hardwareOutput()) {
- // TODO: investigate internal implementation
- return VolumeShaper::Status(INVALID_OPERATION);
- }
if (mAudioOutput.get() != nullptr) {
return mAudioOutput->applyVolumeShaper(configuration, operation);
}
@@ -1057,13 +1051,9 @@
sp<VolumeShaper::State> MediaPlayer2Manager::Client::getVolumeShaperState(int id) {
// for hardware output, call player instead
ALOGV("Client::getVolumeShaperState(%p)", this);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
{
Mutex::Autolock l(mLock);
- if (p != 0 && p->hardwareOutput()) {
- // TODO: investigate internal implementation.
- return nullptr;
- }
if (mAudioOutput.get() != nullptr) {
return mAudioOutput->getVolumeShaperState(id);
}
@@ -1074,7 +1064,7 @@
status_t MediaPlayer2Manager::Client::seekTo(int msec, MediaPlayer2SeekMode mode)
{
ALOGV("[%d] seekTo(%d, %d)", mConnId, msec, mode);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->seekTo(msec, mode);
}
@@ -1083,7 +1073,7 @@
{
ALOGV("[%d] reset", mConnId);
mRetransmitEndpointValid = false;
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->reset();
}
@@ -1091,7 +1081,7 @@
status_t MediaPlayer2Manager::Client::notifyAt(int64_t mediaTimeUs)
{
ALOGV("[%d] notifyAt(%lld)", mConnId, (long long)mediaTimeUs);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->notifyAt(mediaTimeUs);
}
@@ -1128,7 +1118,7 @@
{
ALOGV("[%d] setLooping(%d)", mConnId, loop);
mLoop = loop;
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p != 0) return p->setLooping(loop);
return NO_ERROR;
}
@@ -1138,17 +1128,10 @@
ALOGV("[%d] setVolume(%f, %f)", mConnId, leftVolume, rightVolume);
// for hardware output, call player instead
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
{
Mutex::Autolock l(mLock);
- if (p != 0 && p->hardwareOutput()) {
- MediaPlayerHWInterface* hwp =
- reinterpret_cast<MediaPlayerHWInterface*>(p.get());
- return hwp->setVolume(leftVolume, rightVolume);
- } else {
- if (mAudioOutput != 0) mAudioOutput->setVolume(leftVolume, rightVolume);
- return NO_ERROR;
- }
+ if (mAudioOutput != 0) mAudioOutput->setVolume(leftVolume, rightVolume);
}
return NO_ERROR;
@@ -1179,7 +1162,7 @@
return setAudioAttributes_l(request);
}
default:
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) { return UNKNOWN_ERROR; }
return p->setParameter(key, request);
}
@@ -1187,7 +1170,7 @@
status_t MediaPlayer2Manager::Client::getParameter(int key, Parcel *reply) {
ALOGV("[%d] getParameter(%d)", mConnId, key);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
return p->getParameter(key, reply);
}
@@ -1204,7 +1187,7 @@
ALOGV("[%d] setRetransmitEndpoint = <none>", mConnId);
}
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
// Right now, the only valid time to set a retransmit endpoint is before
// player selection has been made (since the presence or absence of a
@@ -1230,7 +1213,7 @@
if (NULL == endpoint)
return BAD_VALUE;
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p != NULL)
return p->getRetransmitEndpoint(endpoint);
@@ -1333,7 +1316,7 @@
const Vector<uint8_t>& drmSessionId)
{
ALOGV("[%d] prepareDrm", mConnId);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->prepareDrm(uuid, drmSessionId);
@@ -1345,7 +1328,7 @@
status_t MediaPlayer2Manager::Client::releaseDrm()
{
ALOGV("[%d] releaseDrm", mConnId);
- sp<MediaPlayer2Base> p = getPlayer();
+ sp<MediaPlayer2Interface> p = getPlayer();
if (p == 0) return UNKNOWN_ERROR;
status_t ret = p->releaseDrm();