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

Commit 932403af authored by Venkatarama Avadhani's avatar Venkatarama Avadhani
Browse files

Add Overloads to Frame and Image Extract Functions

Add overloads getFrameAtTime, getFrameAtIndex and getImageAtIndex
functions. The colorFormat parameter, if not explicitly passed will now
be initialised in an overloaded function. This will allow for the
default value to be configurable with a setting.

Test: make
Bug: 298965955
Change-Id: Ib01906c87f9156bbf8bf269dfe224ac3a342d892
parent c0ccfdfb
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -96,13 +96,19 @@ public:
    status_t setDataSource(
            const sp<IDataSource>& dataSource, const char *mime = NULL);
    sp<IMemory> getFrameAtTime(int64_t timeUs, int option,
            int colorFormat = HAL_PIXEL_FORMAT_RGB_565, bool metaOnly = false);
            int colorFormat, bool metaOnly = false);
    sp<IMemory> getFrameAtTime(int64_t timeUs, int option,
            bool metaOnly = false);
    sp<IMemory> getImageAtIndex(int index,
            int colorFormat, bool metaOnly = false, bool thumbnail = false);
    sp<IMemory> getImageAtIndex(int index,
            int colorFormat = HAL_PIXEL_FORMAT_RGB_565, bool metaOnly = false, bool thumbnail = false);
            bool metaOnly = false, bool thumbnail = false);
    sp<IMemory> getImageRectAtIndex(
            int index, int colorFormat, int left, int top, int right, int bottom);
    sp<IMemory>  getFrameAtIndex(
            int index, int colorFormat = HAL_PIXEL_FORMAT_RGB_565, bool metaOnly = false);
            int index, int colorFormat, bool metaOnly = false);
    sp<IMemory>  getFrameAtIndex(
            int index, bool metaOnly = false);
    sp<IMemory> extractAlbumArt();
    const char* extractMetadata(int keyCode);

+15 −0
Original line number Diff line number Diff line
@@ -141,6 +141,11 @@ status_t MediaMetadataRetriever::setDataSource(
    return mRetriever->setDataSource(dataSource, mime);
}

sp<IMemory> MediaMetadataRetriever::getFrameAtTime(
        int64_t timeUs, int option, bool metaOnly) {
    return getFrameAtTime(timeUs, option, HAL_PIXEL_FORMAT_RGB_565, metaOnly);
}

sp<IMemory> MediaMetadataRetriever::getFrameAtTime(
        int64_t timeUs, int option, int colorFormat, bool metaOnly)
{
@@ -154,6 +159,11 @@ sp<IMemory> MediaMetadataRetriever::getFrameAtTime(
    return mRetriever->getFrameAtTime(timeUs, option, colorFormat, metaOnly);
}

sp<IMemory> MediaMetadataRetriever::getImageAtIndex(
        int index, bool metaOnly, bool thumbnail) {
    return getImageAtIndex(index, HAL_PIXEL_FORMAT_RGB_565, metaOnly, thumbnail);
}

sp<IMemory> MediaMetadataRetriever::getImageAtIndex(
        int index, int colorFormat, bool metaOnly, bool thumbnail) {
    ALOGV("getImageAtIndex: index(%d) colorFormat(%d) metaOnly(%d) thumbnail(%d)",
@@ -179,6 +189,11 @@ sp<IMemory> MediaMetadataRetriever::getImageRectAtIndex(
            index, colorFormat, left, top, right, bottom);
}

sp<IMemory>  MediaMetadataRetriever::getFrameAtIndex(
        int index, bool metaOnly) {
    return getFrameAtIndex(index, HAL_PIXEL_FORMAT_RGB_565, metaOnly);
}

sp<IMemory>  MediaMetadataRetriever::getFrameAtIndex(
        int index, int colorFormat, bool metaOnly) {
    ALOGV("getFrameAtIndex: index(%d), colorFormat(%d) metaOnly(%d)",