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

Commit 1f09914d authored by Dichen Zhang's avatar Dichen Zhang Committed by Android (Google) Code Review
Browse files

Merge "Add Recorder Session ID" into sc-dev

parents cc38d718 b86db170
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ static const char *kKeyRecorder = "recorder";
// NB: these are matched with public Java API constants defined
// in frameworks/base/media/java/android/media/MediaRecorder.java
// These must be kept synchronized with the constants there.
static const char *kRecorderLogSessionId = "android.media.mediarecorder.log-session-id";
static const char *kRecorderAudioBitrate = "android.media.mediarecorder.audio-bitrate";
static const char *kRecorderAudioChannels = "android.media.mediarecorder.audio-channels";
static const char *kRecorderAudioSampleRate = "android.media.mediarecorder.audio-samplerate";
@@ -160,6 +161,8 @@ void StagefrightRecorder::updateMetrics() {
    // know is the app which requested the recording.
    mMetricsItem->setUid(VALUE_OR_FATAL(aidl2legacy_int32_t_uid_t(mClient.uid)));

    mMetricsItem->setCString(kRecorderLogSessionId, mLogSessionId.c_str());

    // populate the values from the raw fields.

    // TBD mOutputFormat  = OUTPUT_FORMAT_THREE_GPP;
@@ -914,6 +917,14 @@ status_t StagefrightRecorder::requestIDRFrame() {
    return ret;
}

status_t StagefrightRecorder::setLogSessionId(const String8 &log_session_id) {
    ALOGV("setLogSessionId: %s", log_session_id.string());

    // TODO: validity check that log_session_id is a 32-byte hex digit.
    mLogSessionId.setTo(log_session_id.string());
    return OK;
}

status_t StagefrightRecorder::setParameter(
        const String8 &key, const String8 &value) {
    ALOGV("setParameter: key (%s) => value (%s)", key.string(), value.string());
@@ -1082,6 +1093,8 @@ status_t StagefrightRecorder::setParameter(
        if (safe_strtoi64(value.string(), &networkHandle)) {
            return setSocketNetwork(networkHandle);
        }
    } else if (key == "log-session-id") {
        return setLogSessionId(value);
    } else {
        ALOGE("setParameter: failed to find key %s", key.string());
    }
+2 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ struct StagefrightRecorder : public MediaRecorderBase {
    explicit StagefrightRecorder(const Identity& clientIdentity);
    virtual ~StagefrightRecorder();
    virtual status_t init();
    virtual status_t setLogSessionId(const String8 &id);
    virtual status_t setAudioSource(audio_source_t as);
            status_t setPrivacySensitive(bool privacySensitive) override;
            status_t isPrivacySensitive(bool *privacySensitive) const override;
@@ -110,6 +111,7 @@ private:
    void flushAndResetMetrics(bool reinitialize);
    void updateMetrics();

    AString mLogSessionId;
    audio_source_t mAudioSource;
    privacy_sensitive_t mPrivacySensitive;
    video_source mVideoSource;
+7 −2
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@
#include <statslog.h>

#include "MediaMetricsService.h"
#include "frameworks/proto_logging/stats/enums/stats/mediametrics/mediametrics.pb.h"
#include "frameworks/proto_logging/stats/message/mediametrics_message.pb.h"
#include "iface_statsd.h"

namespace android {
@@ -50,11 +50,16 @@ bool statsd_recorder(const std::shared_ptr<const mediametrics::Item>& item,

    // the rest into our own proto
    //
    ::android::stats::mediametrics::RecorderData metrics_proto;
    ::android::stats::mediametrics_message::RecorderData metrics_proto;

    // flesh out the protobuf we'll hand off with our data
    //

    // string kRecorderLogSessionId = "android.media.mediarecorder.log-session-id";
    std::string log_session_id;
    if (item->getString("android.media.mediarecorder.log_session_id", &log_session_id)) {
        metrics_proto.set_log_session_id(std::move(log_session_id));
    }
    // string kRecorderAudioMime = "android.media.mediarecorder.audio.mime";
    std::string audio_mime;
    if (item->getString("android.media.mediarecorder.audio.mime", &audio_mime)) {