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

Commit 4622878b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topics "timedtext", "noti"

* changes:
  MediaPlayer2: use protobuf instead of parcel for TimedText
  MediaPlayer2: use protobuf instead of parcel for notification message
parents 5fcd6ca5 a0e816ac
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ cc_library {
        "libprotobuf-cpp-lite",
        "libstagefright_nuplayer2",
        "libstagefright_rtsp",
        "libstagefright_timedtext",
        "libstagefright_timedtext2",
    ],

    export_include_dirs: [
+3 −2
Original line number Diff line number Diff line
@@ -60,7 +60,8 @@ struct ANativeWindowWrapper;
class MediaPlayer2InterfaceListener: public RefBase
{
public:
    virtual void notify(int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj) = 0;
    virtual void notify(int64_t srcId, int msg, int ext1, int ext2,
           const PlayerMessage *obj) = 0;
};

class MediaPlayer2Interface : public AHandler {
@@ -240,7 +241,7 @@ public:
        mListener = listener;
    }

    void sendEvent(int64_t srcId, int msg, int ext1=0, int ext2=0, const Parcel *obj=NULL) {
    void sendEvent(int64_t srcId, int msg, int ext1=0, int ext2=0, const PlayerMessage *obj=NULL) {
        sp<MediaPlayer2InterfaceListener> listener;
        {
            Mutex::Autolock autoLock(mListenerLock);
+3 −2
Original line number Diff line number Diff line
@@ -42,7 +42,8 @@ class MediaPlayer2AudioOutput;
class MediaPlayer2Listener: virtual public RefBase
{
public:
    virtual void notify(int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj) = 0;
    virtual void notify(int64_t srcId, int msg, int ext1, int ext2,
            const PlayerMessage *obj = NULL) = 0;
};

class MediaPlayer2 : public MediaPlayer2InterfaceListener
@@ -89,7 +90,7 @@ public:
            bool            isLooping();
            status_t        setVolume(float leftVolume, float rightVolume);
            void            notify(int64_t srcId, int msg, int ext1, int ext2,
                                   const Parcel *obj = NULL);
                                   const PlayerMessage *obj = NULL);
            status_t        invoke(const PlayerMessage &request, PlayerMessage *reply);
            status_t        setMetadataFilter(const Parcel& filter);
            status_t        getMetadata(bool update_only, bool apply_filter, Parcel *metadata);
+3 −2
Original line number Diff line number Diff line
@@ -223,7 +223,8 @@ public:

    ~proxyListener() { };

    virtual void notify(int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj) override {
    virtual void notify(int64_t srcId, int msg, int ext1, int ext2,
            const PlayerMessage *obj) override {
        sp<MediaPlayer2> player = mPlayer.promote();
        if (player != NULL) {
            player->notify(srcId, msg, ext1, ext2, obj);
@@ -1271,7 +1272,7 @@ void MediaPlayer2::addNewMetadataUpdate(media::Metadata::Type metadata_type) {
    }
}

void MediaPlayer2::notify(int64_t srcId, int msg, int ext1, int ext2, const Parcel *obj) {
void MediaPlayer2::notify(int64_t srcId, int msg, int ext1, int ext2, const PlayerMessage *obj) {
    ALOGV("message received srcId=%lld, msg=%d, ext1=%d, ext2=%d",
          (long long)srcId, msg, ext1, ext2);

+10 −5
Original line number Diff line number Diff line
@@ -1590,15 +1590,20 @@ status_t NuPlayer2::GenericSource2::checkDrmInfo()
        return OK; // source without DRM info
    }

    sp<ABuffer> drmInfoBuffer = NuPlayer2Drm::retrieveDrmInfo(psshInfo);
    ALOGV("checkDrmInfo: MEDIA_DRM_INFO PSSH drm info size: %d", (int)drmInfoBuffer->size());
    PlayerMessage playerMsg;
    status_t ret = NuPlayer2Drm::retrieveDrmInfo(psshInfo, &playerMsg);
    ALOGV("checkDrmInfo: MEDIA_DRM_INFO PSSH drm info size: %d", (int)playerMsg.ByteSize());

    if (drmInfoBuffer->size() == 0) {
        ALOGE("checkDrmInfo: Unexpected parcel size: 0");
    if (ret != OK) {
        ALOGE("checkDrmInfo: failed to retrive DrmInfo %d", ret);
        return UNKNOWN_ERROR;
    }

    notifyDrmInfo(drmInfoBuffer);
    int size = playerMsg.ByteSize();
    sp<ABuffer> drmInfoBuf = new ABuffer(size);
    playerMsg.SerializeToArray(drmInfoBuf->data(), size);
    drmInfoBuf->setRange(0, size);
    notifyDrmInfo(drmInfoBuf);

    return OK;
}
Loading