Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 003fdb5b authored by Wei Jia's avatar Wei Jia
Browse files

MediaPlayer2: uid is always valid.

Test: MediaPlayer2 plays
Bug: 63934228
Change-Id: I4c9fefe1cdb04f0f7fa82cf08f382c12f6bf5b0b
parent 33727211
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -512,7 +512,7 @@ MediaPlayer2Manager::Client::Client(
}

bool MediaPlayer2Manager::Client::init() {
    sp<MediaPlayer2Interface> p = new NuPlayer2Driver(mPid);
    sp<MediaPlayer2Interface> p = new NuPlayer2Driver(mPid, mUid);
    status_t init_result = p->initCheck();
    if (init_result != NO_ERROR) {
        ALOGE("Failed to create player object, initCheck failed(%d)", init_result);
@@ -520,7 +520,6 @@ bool MediaPlayer2Manager::Client::init() {
    }

    p->setNotifyCallback(this, notify);
    p->setUID(mUid);
    mAudioDeviceUpdatedListener = new AudioDeviceUpdatedNotifier(p);
    mAudioOutput = new AudioOutput(mAudioSessionId, mUid,
            mPid, mAudioAttributes, mAudioDeviceUpdatedListener);
+0 −4
Original line number Diff line number Diff line
@@ -148,10 +148,6 @@ public:
    virtual             ~MediaPlayer2Interface() { }
    virtual status_t    initCheck() = 0;

    virtual status_t    setUID(uid_t /* uid */) {
        return INVALID_OPERATION;
    }

    virtual void        setAudioSink(const sp<AudioSink>& audioSink) { mAudioSink = audioSink; }

    virtual status_t    setDataSource(const sp<DataSourceDesc>& /* dsd */) {
+0 −2
Original line number Diff line number Diff line
@@ -54,7 +54,6 @@ static const int kResumePlaybackMarkMs = 15000; // 15secs

NuPlayer2::GenericSource2::GenericSource2(
        const sp<AMessage> &notify,
        bool uidValid,
        uid_t uid,
        const sp<MediaClock> &mediaClock)
    : Source(notify),
@@ -73,7 +72,6 @@ NuPlayer2::GenericSource2::GenericSource2(
      mAudioIsVorbis(false),
      mIsSecure(false),
      mIsStreaming(false),
      mUIDValid(uidValid),
      mUID(uid),
      mMediaClock(mediaClock),
      mFd(-1),
+1 −2
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ struct NuCachedSource2;
struct NuPlayer2::GenericSource2 : public NuPlayer2::Source,
                                   public MediaBufferObserver // Modular DRM
{
    GenericSource2(const sp<AMessage> &notify, bool uidValid, uid_t uid,
    GenericSource2(const sp<AMessage> &notify, uid_t uid,
                   const sp<MediaClock> &mediaClock);

    status_t setDataSource(
@@ -150,7 +150,6 @@ private:
    // Secure codec is required.
    bool mIsSecure;
    bool mIsStreaming;
    bool mUIDValid;
    uid_t mUID;
    const sp<MediaClock> mMediaClock;
    sp<MediaHTTPService> mHTTPService;
+8 −13
Original line number Diff line number Diff line
@@ -208,9 +208,9 @@ private:

////////////////////////////////////////////////////////////////////////////////

NuPlayer2::NuPlayer2(pid_t pid, const sp<MediaClock> &mediaClock)
    : mUIDValid(false),
      mPID(pid),
NuPlayer2::NuPlayer2(pid_t pid, uid_t uid, const sp<MediaClock> &mediaClock)
    : mPID(pid),
      mUID(uid),
      mMediaClock(mediaClock),
      mSourceFlags(0),
      mOffloadAudio(false),
@@ -249,11 +249,6 @@ NuPlayer2::NuPlayer2(pid_t pid, const sp<MediaClock> &mediaClock)
NuPlayer2::~NuPlayer2() {
}

void NuPlayer2::setUID(uid_t uid) {
    mUIDValid = true;
    mUID = uid;
}

void NuPlayer2::setDriver(const wp<NuPlayer2Driver> &driver) {
    mDriver = driver;
}
@@ -295,7 +290,7 @@ void NuPlayer2::setDataSourceAsync(const sp<DataSourceDesc> &dsd) {
                mDataSourceType = DATA_SOURCE_TYPE_HTTP_LIVE;
            } else if (!strncasecmp(url, "rtsp://", 7)) {
                source = new RTSPSource2(
                        notify, httpService, url, headers, mUIDValid, mUID);
                        notify, httpService, url, headers, mUID);
                ALOGV("setDataSourceAsync RTSPSource2 %s", url);
                mDataSourceType = DATA_SOURCE_TYPE_RTSP;
            } else if ((!strncasecmp(url, "http://", 7)
@@ -303,14 +298,14 @@ void NuPlayer2::setDataSourceAsync(const sp<DataSourceDesc> &dsd) {
                            && ((len >= 4 && !strcasecmp(".sdp", &url[len - 4]))
                            || strstr(url, ".sdp?"))) {
                source = new RTSPSource2(
                        notify, httpService, url, headers, mUIDValid, mUID, true);
                        notify, httpService, url, headers, mUID, true);
                ALOGV("setDataSourceAsync RTSPSource2 http/https/.sdp %s", url);
                mDataSourceType = DATA_SOURCE_TYPE_RTSP;
            } else {
                ALOGV("setDataSourceAsync GenericSource2 %s", url);

                sp<GenericSource2> genericSource =
                        new GenericSource2(notify, mUIDValid, mUID, mMediaClock);
                        new GenericSource2(notify, mUID, mMediaClock);

                status_t err = genericSource->setDataSource(httpService, url, headers);

@@ -329,7 +324,7 @@ void NuPlayer2::setDataSourceAsync(const sp<DataSourceDesc> &dsd) {
        case DataSourceDesc::TYPE_FD:
        {
            sp<GenericSource2> genericSource =
                    new GenericSource2(notify, mUIDValid, mUID, mMediaClock);
                    new GenericSource2(notify, mUID, mMediaClock);

            ALOGV("setDataSourceAsync fd %d/%lld/%lld source: %p",
                  dsd->mFD, (long long)dsd->mFDOffset, (long long)dsd->mFDLength, source.get());
@@ -350,7 +345,7 @@ void NuPlayer2::setDataSourceAsync(const sp<DataSourceDesc> &dsd) {
        case DataSourceDesc::TYPE_CALLBACK:
        {
            sp<GenericSource2> genericSource =
                    new GenericSource2(notify, mUIDValid, mUID, mMediaClock);
                    new GenericSource2(notify, mUID, mMediaClock);
            status_t err = genericSource->setDataSource(dsd->mCallbackSource);

            if (err != OK) {
Loading