Eliminate allow_unsafe_buffers in //media/audio/[alsa,android,pulse]. [chromium/src : main]

4 views
Skip to first unread message

Weidong Liu (Gerrit)

unread,
Jun 25, 2025, 3:39:19 AM6/25/25
to Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
Attention needed from Tomas Gunnarsson

Weidong Liu voted and added 1 comment

Votes added by Weidong Liu

Commit-Queue+1

1 comment

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Weidong Liu . resolved

Hi, Tommi. Friendly ping.

Open in Gerrit

Related details

Attention is currently required from:
  • Tomas Gunnarsson
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
Gerrit-Change-Number: 6651568
Gerrit-PatchSet: 3
Gerrit-Owner: Weidong Liu <weido...@chromium.org>
Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
Gerrit-Comment-Date: Wed, 25 Jun 2025 07:38:52 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Weidong Liu (Gerrit)

unread,
Jun 30, 2025, 8:37:38 PM6/30/25
to Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
Attention needed from Tomas Gunnarsson

Weidong Liu added 1 comment

Patchset-level comments
Weidong Liu . resolved

soft ping.

Open in Gerrit

Related details

Attention is currently required from:
  • Tomas Gunnarsson
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
Gerrit-Change-Number: 6651568
Gerrit-PatchSet: 3
Gerrit-Owner: Weidong Liu <weido...@chromium.org>
Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
Gerrit-Comment-Date: Tue, 01 Jul 2025 00:37:12 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Weidong Liu (Gerrit)

unread,
Jul 8, 2025, 12:27:36 AM7/8/25
to Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
Attention needed from Thomas Guilbert and Tomas Gunnarsson

Weidong Liu voted and added 1 comment

Votes added by Weidong Liu

Commit-Queue+1

1 comment

Patchset-level comments
Weidong Liu . resolved

Tommi has been unresponsive for too long, add tguilbert@.

Hi, tguilbert@. PTAL. :)

Open in Gerrit

Related details

Attention is currently required from:
  • Thomas Guilbert
  • Tomas Gunnarsson
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
Gerrit-Change-Number: 6651568
Gerrit-PatchSet: 3
Gerrit-Owner: Weidong Liu <weido...@chromium.org>
Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
Gerrit-Comment-Date: Tue, 08 Jul 2025 04:27:13 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Thomas Guilbert (Gerrit)

unread,
Jul 8, 2025, 5:33:17 PM7/8/25
to Weidong Liu, Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
Attention needed from Tomas Gunnarsson and Weidong Liu

Thomas Guilbert added 7 comments

File media/audio/alsa/alsa_output.cc
Line 593, Patchset 3 (Latest): guessed_device = base::as_string_view(name);
Thomas Guilbert . unresolved

This is going to be converted into a string anyways. Use `base::ToString()` directly, here and throughout this CL.

File media/audio/alsa/alsa_wrapper.h
Line 30, Patchset 3 (Latest): virtual base::HeapArray<char, base::FreeDeleter> DeviceNameGetHint(
Thomas Guilbert . unresolved

NIT: It could be clearer to create a `using ScopedAlsaString = HeapArray...` alias (or any other name that makes sense), and use that instead of the `HeapArray<char, base::FreeDeleter`.

File media/audio/alsa/alsa_wrapper.cc
Line 290, Patchset 3 (Latest): const char* ptr = snd_mixer_selem_get_name(elem);
Thomas Guilbert . unresolved

Is this leaking memory? The other `char*` are free'd. I couldn't find documentation on this. If you do, could you add a comment?

File media/audio/alsa/audio_manager_alsa.cc
Line 160, Patchset 3 (Latest): name.unique_id = base::as_string_view(unique_device_name);
Thomas Guilbert . unresolved

`base::ToString()` here and below.

File media/audio/android/opensles_wrapper.cc
Line 88, Patchset 3 (Latest): base::byte_span_from_ref(*symbol.sl_iid)
Thomas Guilbert . unresolved

Can this be `base::as_byte_span()` directly? Or some other variation. Same question below.

File media/audio/pulse/audio_manager_pulse.cc
Line 323, Patchset 3 (Latest): auto it = std::ranges::find_if(ports, [](auto* port) {
Thomas Guilbert . unresolved

You might be able to simplify this with `std::ranges::none_of` or `std::ranges::any_of`

File media/audio/pulse/pulse_input.cc
Line 289, Patchset 3 (Latest): .first(base::checked_cast<size_t>(stream->channels_)));
Thomas Guilbert . unresolved

Is `values` ever bigger than `stream->channels_`? If not, omit the `.first()`.

Open in Gerrit

Related details

Attention is currently required from:
  • Tomas Gunnarsson
  • Weidong Liu
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 3
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Comment-Date: Tue, 08 Jul 2025 21:33:08 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Weidong Liu (Gerrit)

    unread,
    Jul 8, 2025, 9:42:03 PM7/8/25
    to Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert and Tomas Gunnarsson

    Weidong Liu voted and added 7 comments

    Votes added by Weidong Liu

    Commit-Queue+1

    7 comments

    File media/audio/alsa/alsa_output.cc
    Line 593, Patchset 3: guessed_device = base::as_string_view(name);
    Thomas Guilbert . resolved

    This is going to be converted into a string anyways. Use `base::ToString()` directly, here and throughout this CL.

    Weidong Liu

    Done

    File media/audio/alsa/alsa_wrapper.h
    Line 30, Patchset 3: virtual base::HeapArray<char, base::FreeDeleter> DeviceNameGetHint(
    Thomas Guilbert . resolved

    NIT: It could be clearer to create a `using ScopedAlsaString = HeapArray...` alias (or any other name that makes sense), and use that instead of the `HeapArray<char, base::FreeDeleter`.

    Weidong Liu

    Done

    File media/audio/alsa/alsa_wrapper.cc
    Line 290, Patchset 3: const char* ptr = snd_mixer_selem_get_name(elem);
    Thomas Guilbert . resolved

    Is this leaking memory? The other `char*` are free'd. I couldn't find documentation on this. If you do, could you add a comment?

    Weidong Liu

    Done

    File media/audio/alsa/audio_manager_alsa.cc
    Line 160, Patchset 3: name.unique_id = base::as_string_view(unique_device_name);
    Thomas Guilbert . resolved

    `base::ToString()` here and below.

    Weidong Liu

    Done

    File media/audio/android/opensles_wrapper.cc
    Line 88, Patchset 3: base::byte_span_from_ref(*symbol.sl_iid)
    Thomas Guilbert . unresolved

    Can this be `base::as_byte_span()` directly? Or some other variation. Same question below.

    Weidong Liu
    `SLInterfaceID` is a complex structure. Here is its definition
    ```c
    /** Interface ID defined as a UUID */
    typedef const struct SLInterfaceID_ {
    SLuint32 time_low;
    SLuint16 time_mid;
    SLuint16 time_hi_and_version;
    SLuint16 clock_seq;
    SLuint8 node[6];
    } * SLInterfaceID;
    ```
    I didn't find a better API than `base::byte_span_from_ref`.
    File media/audio/pulse/audio_manager_pulse.cc
    Line 323, Patchset 3: auto it = std::ranges::find_if(ports, [](auto* port) {
    Thomas Guilbert . resolved

    You might be able to simplify this with `std::ranges::none_of` or `std::ranges::any_of`

    Weidong Liu

    Done

    File media/audio/pulse/pulse_input.cc
    Line 289, Patchset 3: .first(base::checked_cast<size_t>(stream->channels_)));
    Thomas Guilbert . unresolved

    Is `values` ever bigger than `stream->channels_`? If not, omit the `.first()`.

    Weidong Liu

    Yes. That's his definition.

    ```c
    /** A structure encapsulating a per-channel volume */
    typedef struct pa_cvolume {
    uint8_t channels; /**< Number of channels */
    pa_volume_t values[PA_CHANNELS_MAX]; /**< Per-channel volume */
    } pa_cvolume;
    ```
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    • Tomas Gunnarsson
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 4
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Comment-Date: Wed, 09 Jul 2025 01:41:33 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Thomas Guilbert <tgui...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Weidong Liu (Gerrit)

    unread,
    Jul 8, 2025, 11:09:46 PM7/8/25
    to Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert and Tomas Gunnarsson

    Weidong Liu added 2 comments

    File media/audio/alsa/alsa_output.cc
    Line 593, Patchset 3: guessed_device = base::as_string_view(name);
    Thomas Guilbert . unresolved

    This is going to be converted into a string anyways. Use `base::ToString()` directly, here and throughout this CL.

    Weidong Liu

    Done

    Weidong Liu

    Changing base::as_string_view to base::ToString caused the unit test to fail. I didn’t dig into the reason for this.

    File media/audio/alsa/audio_manager_alsa.cc
    Line 160, Patchset 3: name.unique_id = base::as_string_view(unique_device_name);
    Thomas Guilbert . unresolved

    `base::ToString()` here and below.

    Weidong Liu

    Done

    Weidong Liu

    Ditto.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    • Tomas Gunnarsson
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 5
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Comment-Date: Wed, 09 Jul 2025 03:09:20 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Thomas Guilbert <tgui...@chromium.org>
    Comment-In-Reply-To: Weidong Liu <weido...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Jul 9, 2025, 6:20:35 PM7/9/25
    to Weidong Liu, Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
    Attention needed from Tomas Gunnarsson and Weidong Liu

    Thomas Guilbert added 8 comments

    Patchset-level comments
    File-level comment, Patchset 5 (Latest):
    Thomas Guilbert . resolved

    Mostly nits, but there is still one comment that is substantive in `media/audio/pulse/audio_manager_pulse.cc`

    File media/audio/alsa/alsa_output.cc
    Line 593, Patchset 3: guessed_device = base::as_string_view(name);
    Thomas Guilbert . resolved

    This is going to be converted into a string anyways. Use `base::ToString()` directly, here and throughout this CL.

    Weidong Liu

    Done

    Weidong Liu

    Changing base::as_string_view to base::ToString caused the unit test to fail. I didn’t dig into the reason for this.

    Thomas Guilbert

    My apologies. I think that `base::ToString()` produces `"[surround40]"` and such, for testing purposes. This LGTM.

    File media/audio/alsa/alsa_wrapper.h
    Line 30, Patchset 5 (Latest): using ScopedAlsaString = base::HeapArray<char, base::FreeDeleter>;
    Thomas Guilbert . unresolved

    NIT: Move `using` directive to the top of the class, per [style-guide](https://google.github.io/styleguide/cppguide.html#Declaration_Order).

    File media/audio/alsa/audio_manager_alsa.cc
    Line 160, Patchset 3: name.unique_id = base::as_string_view(unique_device_name);
    Thomas Guilbert . resolved

    `base::ToString()` here and below.

    Weidong Liu

    Done

    Weidong Liu

    Ditto.

    Thomas Guilbert

    Ack. See other comment.

    Line 263, Patchset 5 (Latest): const std::string_view unwanted_type =
    UnwantedDeviceTypeWhenEnumerating(stream);
    Thomas Guilbert . unresolved

    NIT: move this out of the for-loop and while-loop since this never changes.

    File media/audio/android/opensles_wrapper.cc
    Line 88, Patchset 3: base::byte_span_from_ref(*symbol.sl_iid)
    Thomas Guilbert . resolved

    Can this be `base::as_byte_span()` directly? Or some other variation. Same question below.

    Weidong Liu
    `SLInterfaceID` is a complex structure. Here is its definition
    ```c
    /** Interface ID defined as a UUID */
    typedef const struct SLInterfaceID_ {
    SLuint32 time_low;
    SLuint16 time_mid;
    SLuint16 time_hi_and_version;
    SLuint16 clock_seq;
    SLuint8 node[6];
    } * SLInterfaceID;
    ```
    I didn't find a better API than `base::byte_span_from_ref`.
    Thomas Guilbert

    Ah, thanks! I got confused by `byte_span_from_ref` with the pointer derefs. Your usage is correct.

    File media/audio/pulse/audio_manager_pulse.cc
    Line 323, Patchset 5 (Latest): bool all_ports_available = std::ranges::none_of(ports, [](auto* port) {
    Thomas Guilbert . unresolved

    I think this behavior is different. If any port is unavailable, we will skip the entire device now.

    From reading the comment above the `if`, I think that this is the intended behavior:
    ```
    bool no_ports_available = std::ranges::all_of(ports, [](auto* port) {
    return port->available == PA_PORT_AVAILABLE_NO;
    });
    if (no_ports_available) {
    return;
    }
    ```
    File media/audio/pulse/pulse_input.cc
    Line 289, Patchset 3: .first(base::checked_cast<size_t>(stream->channels_)));
    Thomas Guilbert . unresolved

    Is `values` ever bigger than `stream->channels_`? If not, omit the `.first()`.

    Weidong Liu

    Yes. That's his definition.

    ```c
    /** A structure encapsulating a per-channel volume */
    typedef struct pa_cvolume {
    uint8_t channels; /**< Number of channels */
    pa_volume_t values[PA_CHANNELS_MAX]; /**< Per-channel volume */
    } pa_cvolume;
    ```
    Thomas Guilbert

    This is very nitty, but could you use `.first(base::checked_cast<size_t>(info->volume.channels)))` here instead, so we're getting the right value from the source, in case the `stream->channels_ = info->channel_map.channels` line above is ever modified?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Tomas Gunnarsson
    • Weidong Liu
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 5
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Comment-Date: Wed, 09 Jul 2025 22:20:18 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Weidong Liu (Gerrit)

    unread,
    Jul 9, 2025, 8:31:29 PM7/9/25
    to Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
    Attention needed from Thomas Guilbert and Tomas Gunnarsson

    Weidong Liu voted and added 4 comments

    Votes added by Weidong Liu

    Commit-Queue+1

    4 comments

    File media/audio/alsa/alsa_wrapper.h
    Line 30, Patchset 5: using ScopedAlsaString = base::HeapArray<char, base::FreeDeleter>;
    Thomas Guilbert . resolved

    NIT: Move `using` directive to the top of the class, per [style-guide](https://google.github.io/styleguide/cppguide.html#Declaration_Order).

    Weidong Liu

    Done

    File media/audio/alsa/audio_manager_alsa.cc
    Line 263, Patchset 5: const std::string_view unwanted_type =
    UnwantedDeviceTypeWhenEnumerating(stream);
    Thomas Guilbert . resolved

    NIT: move this out of the for-loop and while-loop since this never changes.

    Weidong Liu

    Done

    File media/audio/pulse/audio_manager_pulse.cc
    Line 323, Patchset 5: bool all_ports_available = std::ranges::none_of(ports, [](auto* port) {
    Thomas Guilbert . resolved

    I think this behavior is different. If any port is unavailable, we will skip the entire device now.

    From reading the comment above the `if`, I think that this is the intended behavior:
    ```
    bool no_ports_available = std::ranges::all_of(ports, [](auto* port) {
    return port->available == PA_PORT_AVAILABLE_NO;
    });
    if (no_ports_available) {
    return;
    }
    ```
    Weidong Liu

    Done. Oh. You are right. I misunderstood this.

    File media/audio/pulse/pulse_input.cc
    Line 289, Patchset 3: .first(base::checked_cast<size_t>(stream->channels_)));
    Thomas Guilbert . resolved

    Is `values` ever bigger than `stream->channels_`? If not, omit the `.first()`.

    Weidong Liu

    Yes. That's his definition.

    ```c
    /** A structure encapsulating a per-channel volume */
    typedef struct pa_cvolume {
    uint8_t channels; /**< Number of channels */
    pa_volume_t values[PA_CHANNELS_MAX]; /**< Per-channel volume */
    } pa_cvolume;
    ```
    Thomas Guilbert

    This is very nitty, but could you use `.first(base::checked_cast<size_t>(info->volume.channels)))` here instead, so we're getting the right value from the source, in case the `stream->channels_ = info->channel_map.channels` line above is ever modified?

    Weidong Liu

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Guilbert
    • Tomas Gunnarsson
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 7
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Comment-Date: Thu, 10 Jul 2025 00:31:06 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Jul 9, 2025, 9:19:29 PM7/9/25
    to Weidong Liu, Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
    Attention needed from Tomas Gunnarsson and Weidong Liu

    Thomas Guilbert voted Code-Review+1

    Code-Review+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Tomas Gunnarsson
    • Weidong Liu
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 7
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Comment-Date: Thu, 10 Jul 2025 01:19:14 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Thomas Guilbert (Gerrit)

    unread,
    Jul 9, 2025, 9:19:51 PM7/9/25
    to Weidong Liu, Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
    Attention needed from Tomas Gunnarsson and Weidong Liu

    Thomas Guilbert added 1 comment

    Patchset-level comments
    File-level comment, Patchset 7 (Latest):
    Thomas Guilbert . resolved

    Thank you for the cleanups again!

    Gerrit-Comment-Date: Thu, 10 Jul 2025 01:19:39 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    open
    diffy

    Weidong Liu (Gerrit)

    unread,
    Jul 9, 2025, 9:27:22 PM7/9/25
    to Thomas Guilbert, Tomas Gunnarsson, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org
    Attention needed from Tomas Gunnarsson

    Weidong Liu voted and added 1 comment

    Votes added by Weidong Liu

    Commit-Queue+2

    1 comment

    Patchset-level comments
    Weidong Liu . resolved

    Thanks for your review.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Tomas Gunnarsson
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 7
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    Gerrit-Attention: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Comment-Date: Thu, 10 Jul 2025 01:26:51 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Chromium LUCI CQ (Gerrit)

    unread,
    Jul 9, 2025, 9:29:58 PM7/9/25
    to Weidong Liu, Thomas Guilbert, Tomas Gunnarsson, chromium...@chromium.org, feature-me...@chromium.org

    Chromium LUCI CQ submitted the change

    Change information

    Commit message:
    Eliminate allow_unsafe_buffers in //media/audio/[alsa,android,pulse].
    Bug: 40284755
    Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Commit-Queue: Weidong Liu <weido...@chromium.org>
    Reviewed-by: Thomas Guilbert <tgui...@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1484712}
    Files:
    • M media/audio/alsa/alsa_output.cc
    • M media/audio/alsa/alsa_output_unittest.cc
    • M media/audio/alsa/alsa_util.cc
    • M media/audio/alsa/alsa_wrapper.cc
    • M media/audio/alsa/alsa_wrapper.h
    • M media/audio/alsa/audio_manager_alsa.cc
    • M media/audio/alsa/audio_manager_alsa.h
    • M media/audio/alsa/mock_alsa_wrapper.h
    • M media/audio/android/aaudio_stream_wrapper.cc
    • M media/audio/android/opensles_input.cc
    • M media/audio/android/opensles_input.h
    • M media/audio/android/opensles_output.cc
    • M media/audio/android/opensles_output.h
    • M media/audio/android/opensles_wrapper.cc
    • M media/audio/pulse/audio_manager_pulse.cc
    • M media/audio/pulse/pulse_input.cc
    • M media/audio/pulse/pulse_output.cc
    • M media/audio/pulse/pulse_util.cc
    Change size: L
    Delta: 18 files changed, 191 insertions(+), 186 deletions(-)
    Branch: refs/heads/main
    Submit Requirements:
    • requirement satisfiedCode-Review: +1 by Thomas Guilbert
    Open in Gerrit
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: merged
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I49dfd3902bb64fb30ebdc50d3f19f6dea77d89f1
    Gerrit-Change-Number: 6651568
    Gerrit-PatchSet: 8
    Gerrit-Owner: Weidong Liu <weido...@chromium.org>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Reviewer: Tomas Gunnarsson <to...@chromium.org>
    Gerrit-Reviewer: Weidong Liu <weido...@chromium.org>
    open
    diffy
    satisfied_requirement

    Daniel Cheng (Gerrit)

    unread,
    Jul 9, 2025, 10:14:46 PM7/9/25
    to Weidong Liu, Chromium LUCI CQ, Thomas Guilbert, Tomas Gunnarsson, chromium...@chromium.org, feature-me...@chromium.org, Daniel Cheng

    Daniel Cheng has created a revert of this change

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: revert
    satisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages