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

Commit 3292333f authored by Arun Johnson's avatar Arun Johnson Committed by Gerrit Code Review
Browse files

Merge "Signals audio codecs with Feature multiple-frames" into main

parents d611266c abfac48c
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -45,6 +45,7 @@ cc_library_shared {


    static_libs: [
    static_libs: [
        "libSurfaceFlingerProperties",
        "libSurfaceFlingerProperties",
        "android.media.codec-aconfig-cc",
    ],
    ],


    shared_libs: [
    shared_libs: [
+20 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,8 @@


#include <strings.h>
#include <strings.h>


#include <android_media_codec.h>

#include <C2Component.h>
#include <C2Component.h>
#include <C2Config.h>
#include <C2Config.h>
#include <C2Debug.h>
#include <C2Debug.h>
@@ -752,6 +754,24 @@ status_t Codec2InfoBuilder::buildMediaCodecList(MediaCodecListWriter* writer) {
                }
                }
                addSupportedColorFormats(
                addSupportedColorFormats(
                        intf, caps.get(), trait, mediaType, it->second);
                        intf, caps.get(), trait, mediaType, it->second);

                if (android::media::codec::provider_->large_audio_frame_finish()) {
                    // Adding feature-multiple-frames when C2LargeFrame param is present
                    if (trait.domain == C2Component::DOMAIN_AUDIO) {
                        std::vector<std::shared_ptr<C2ParamDescriptor>> params;
                        c2_status_t err = intf->querySupportedParams(&params);
                        if (err == C2_OK) {
                            for (const auto &paramDesc : params) {
                                if (C2LargeFrame::output::PARAM_TYPE == paramDesc->index()) {
                                    std::string featureMultipleFrames =
                                            std::string(KEY_FEATURE_) + FEATURE_MultipleFrames;
                                    caps->addDetail(featureMultipleFrames.c_str(), 0);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            }
        }
        }
    }
    }
+1 −0
Original line number Original line Diff line number Diff line
@@ -697,6 +697,7 @@ inline static const char *asString_ColorFormat(int32_t i, const char *def = "??"
inline constexpr char FEATURE_AdaptivePlayback[]       = "adaptive-playback";
inline constexpr char FEATURE_AdaptivePlayback[]       = "adaptive-playback";
inline constexpr char FEATURE_EncodingStatistics[]     = "encoding-statistics";
inline constexpr char FEATURE_EncodingStatistics[]     = "encoding-statistics";
inline constexpr char FEATURE_IntraRefresh[] = "intra-refresh";
inline constexpr char FEATURE_IntraRefresh[] = "intra-refresh";
inline constexpr char FEATURE_MultipleFrames[] = "multiple-frames";
inline constexpr char FEATURE_PartialFrame[] = "partial-frame";
inline constexpr char FEATURE_PartialFrame[] = "partial-frame";
inline constexpr char FEATURE_QpBounds[] = "qp-bounds";
inline constexpr char FEATURE_QpBounds[] = "qp-bounds";
inline constexpr char FEATURE_SecurePlayback[]         = "secure-playback";
inline constexpr char FEATURE_SecurePlayback[]         = "secure-playback";