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

Commit 5d51d3b9 authored by Kuowei Li's avatar Kuowei Li
Browse files

audio: add stream dump implementation.

Add dump function for StreamOutHalAidl and StreamInHalAidl, so that
vendor derived class in aidl implementation can override it.

Bug: 399383436
Test: manual
Change-Id: I61bd7569b034c9f26729a564319825b84f3f57a5
parent 6953e3a7
Loading
Loading
Loading
Loading
+26 −8
Original line number Diff line number Diff line
@@ -271,16 +271,10 @@ status_t StreamHalAidl::standby() {
    }
}

status_t StreamHalAidl::dump(int fd, const Vector<String16>& args) {
status_t StreamHalAidl::dump(int fd, const Vector<String16>& args __unused) {
    AUGMENT_LOG(D);
    TIME_CHECK();
    if (!mStream) return NO_INIT;
    Vector<String16> newArgs = args;
    newArgs.push(String16(kDumpFromAudioServerArgument));
    // Do not serialize the dump call with mCallLock
    status_t status = mStream->dump(fd, Args(newArgs).args(), newArgs.size());
    mStreamPowerLog.dump(fd);
    return status;
    return OK;
}

status_t StreamHalAidl::start() {
@@ -1137,6 +1131,18 @@ status_t StreamOutHalAidl::filterAndUpdateOffloadMetadata(AudioParameter &parame
    return OK;
}

status_t StreamOutHalAidl::dump(int fd, const Vector<String16>& args) {
    AUGMENT_LOG(D);
    TIME_CHECK();
    if (!mStream) return NO_INIT;
    Vector<String16> newArgs = args;
    newArgs.push(String16(kDumpFromAudioServerArgument));
    // Do not serialize the dump call with mCallLock
    status_t status = mStream->dump(fd, Args(newArgs).args(), newArgs.size());
    StreamHalAidl::dump(fd, args);
    return status;
}

// static
ConversionResult<::aidl::android::hardware::audio::common::SinkMetadata>
StreamInHalAidl::legacy2aidl_SinkMetadata(const StreamInHalInterface::SinkMetadata& legacy) {
@@ -1253,4 +1259,16 @@ status_t StreamInHalAidl::setPreferredMicrophoneFieldDimension(float zoom) {
            serializeCall(mStream, &Stream::setMicrophoneFieldDimension, zoom));
}

status_t StreamInHalAidl::dump(int fd, const Vector<String16>& args) {
    AUGMENT_LOG(D);
    TIME_CHECK();
    if (!mStream) return NO_INIT;
    Vector<String16> newArgs = args;
    newArgs.push(String16(kDumpFromAudioServerArgument));
    // Do not serialize the dump call with mCallLock
    status_t status = mStream->dump(fd, Args(newArgs).args(), newArgs.size());
    StreamHalAidl::dump(fd, args);
    return status;
}

} // namespace android
+4 −0
Original line number Diff line number Diff line
@@ -449,6 +449,8 @@ class StreamOutHalAidl : public virtual StreamOutHalInterface,
    void onDrainReady() override;
    void onError(bool isHardError) override;

    status_t dump(int fd, const Vector<String16>& args) override;

  private:
    friend class sp<StreamOutHalAidl>;

@@ -507,6 +509,8 @@ class StreamInHalAidl : public StreamInHalInterface, public StreamHalAidl {
    // Called when the metadata of the stream's sink has been changed.
    status_t updateSinkMetadata(const SinkMetadata& sinkMetadata) override;

    status_t dump(int fd, const Vector<String16>& args) override;

  private:
    friend class sp<StreamInHalAidl>;