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

Commit 1889c3ed authored by Dongwon Kang's avatar Dongwon Kang
Browse files

Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.

MediaBuffer class exposes internal classes, ABuffer and IMemory, which
we don't want to expose to plugins. This change introduces
MediaBufferBase which does not expose any classes from system library.

Test: build and post-submit media cts tests
Bug: 67908556
Change-Id: Ic9ee239caf9b84b2b3740e2d533257afa25c8784
parent 405b3c70
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@

#include <media/stagefright/MediaBufferGroup.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/MediaBuffer.h>
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MetaData.h>

@@ -59,10 +60,10 @@ sp<MetaData> SineSource::getFormat() {
}

status_t SineSource::read(
        MediaBuffer **out, const ReadOptions * /* options */) {
        MediaBufferBase **out, const ReadOptions * /* options */) {
    *out = NULL;

    MediaBuffer *buffer;
    MediaBufferBase *buffer;
    status_t err = mGroup->acquire_buffer(&buffer);

    if (err != OK) {
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ struct SineSource : public MediaSource {
    virtual sp<MetaData> getFormat();

    virtual status_t read(
            MediaBuffer **out, const ReadOptions *options = NULL);
            MediaBufferBase **out, const ReadOptions *options = NULL);

protected:
    virtual ~SineSource();
+1 −1
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ ALOGI("Line: %d", __LINE__);
ALOGI("Line: %d", __LINE__);
        } else {
            CHECK_EQ(decoder->start(), (status_t)OK);
            MediaBuffer* buffer;
            MediaBufferBase* buffer;
            while (decoder->read(&buffer) == OK) {
                // do something with buffer (save it eventually?)
                // need to stop after some count though...
+1 −1
Original line number Diff line number Diff line
@@ -328,7 +328,7 @@ int main(int /* argc */, char ** /* argv */) {

    int32_t n = 0;
    status_t err;
    MediaBuffer *buffer;
    MediaBufferBase *buffer;
    while ((err = encoder->read(&buffer)) == OK) {
        printf(".");
        fflush(stdout);
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ public:
    }

    virtual status_t read(
            MediaBuffer **buffer, const MediaSource::ReadOptions *options __unused) {
            MediaBufferBase **buffer, const MediaSource::ReadOptions *options __unused) {

        if (mNumFramesOutput % 10 == 0) {
            fprintf(stderr, ".");
Loading