Loading include/media/MediaExtractorPluginHelper.h +3 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,9 @@ protected: }; inline CMediaTrack *wrap(MediaTrackHelper *track) { if (track == nullptr) { return nullptr; } CMediaTrack *wrapper = (CMediaTrack*) malloc(sizeof(CMediaTrack)); wrapper->data = track; wrapper->free = [](void *data) -> void { Loading include/media/MediaTrack.h +2 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,7 @@ private: class MediaTrackCUnwrapper : public MediaTrack { public: explicit MediaTrackCUnwrapper(CMediaTrack *wrapper); static MediaTrackCUnwrapper *create(CMediaTrack *wrapper); virtual status_t start(); virtual status_t stop(); Loading @@ -155,6 +155,7 @@ protected: virtual ~MediaTrackCUnwrapper(); private: explicit MediaTrackCUnwrapper(CMediaTrack *wrapper); CMediaTrack *wrapper; MediaBufferGroup *bufferGroup; }; Loading media/libstagefright/MediaExtractor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ size_t MediaExtractorCUnwrapper::countTracks() { } MediaTrack *MediaExtractorCUnwrapper::getTrack(size_t index) { return new MediaTrackCUnwrapper(plugin->getTrack(plugin->data, index)); return MediaTrackCUnwrapper::create(plugin->getTrack(plugin->data, index)); } status_t MediaExtractorCUnwrapper::getTrackMetaData( Loading media/libstagefright/MediaTrack.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,13 @@ MediaTrackCUnwrapper::MediaTrackCUnwrapper(CMediaTrack *cmediatrack) { bufferGroup = nullptr; } MediaTrackCUnwrapper *MediaTrackCUnwrapper::create(CMediaTrack *cmediatrack) { if (cmediatrack == nullptr) { return nullptr; } return new MediaTrackCUnwrapper(cmediatrack); } MediaTrackCUnwrapper::~MediaTrackCUnwrapper() { wrapper->free(wrapper->data); free(wrapper); Loading Loading
include/media/MediaExtractorPluginHelper.h +3 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,9 @@ protected: }; inline CMediaTrack *wrap(MediaTrackHelper *track) { if (track == nullptr) { return nullptr; } CMediaTrack *wrapper = (CMediaTrack*) malloc(sizeof(CMediaTrack)); wrapper->data = track; wrapper->free = [](void *data) -> void { Loading
include/media/MediaTrack.h +2 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,7 @@ private: class MediaTrackCUnwrapper : public MediaTrack { public: explicit MediaTrackCUnwrapper(CMediaTrack *wrapper); static MediaTrackCUnwrapper *create(CMediaTrack *wrapper); virtual status_t start(); virtual status_t stop(); Loading @@ -155,6 +155,7 @@ protected: virtual ~MediaTrackCUnwrapper(); private: explicit MediaTrackCUnwrapper(CMediaTrack *wrapper); CMediaTrack *wrapper; MediaBufferGroup *bufferGroup; }; Loading
media/libstagefright/MediaExtractor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ size_t MediaExtractorCUnwrapper::countTracks() { } MediaTrack *MediaExtractorCUnwrapper::getTrack(size_t index) { return new MediaTrackCUnwrapper(plugin->getTrack(plugin->data, index)); return MediaTrackCUnwrapper::create(plugin->getTrack(plugin->data, index)); } status_t MediaExtractorCUnwrapper::getTrackMetaData( Loading
media/libstagefright/MediaTrack.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,13 @@ MediaTrackCUnwrapper::MediaTrackCUnwrapper(CMediaTrack *cmediatrack) { bufferGroup = nullptr; } MediaTrackCUnwrapper *MediaTrackCUnwrapper::create(CMediaTrack *cmediatrack) { if (cmediatrack == nullptr) { return nullptr; } return new MediaTrackCUnwrapper(cmediatrack); } MediaTrackCUnwrapper::~MediaTrackCUnwrapper() { wrapper->free(wrapper->data); free(wrapper); Loading