media: Report Renderer Type as Media.BasicPlayback UKM field [chromium/src : main]

0 views
Skip to first unread message

Sangbaek Park (Gerrit)

unread,
Sep 18, 2025, 7:13:28 PM (2 days ago) Sep 18
to Dale Curtis, Vikram Pasupathy, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, feature-me...@chromium.org
Attention needed from Dale Curtis

Sangbaek Park added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Sangbaek Park . unresolved

@dalec...@chromium.org

1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.

Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?

Open in Gerrit

Related details

Attention is currently required from:
  • Dale Curtis
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: I6c2721fb3a275bc53710143d705133a8387e1913
Gerrit-Change-Number: 6967694
Gerrit-PatchSet: 1
Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Vikram Pasupathy <vpasu...@chromium.org>
Gerrit-CC: Xiaohan Wang <xhw...@chromium.org>
Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
Gerrit-Comment-Date: Thu, 18 Sep 2025 23:13:18 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Vikram Pasupathy (Gerrit)

unread,
Sep 18, 2025, 7:25:57 PM (2 days ago) Sep 18
to Sangbaek Park, Chromium LUCI CQ, Dale Curtis, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, feature-me...@chromium.org
Attention needed from Dale Curtis

Vikram Pasupathy added 1 comment

Patchset-level comments
Sangbaek Park . unresolved

@dalec...@chromium.org

1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.

Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?

Vikram Pasupathy

+1 to this idea, and two follow up questions for Dale:

1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.

2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt

I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.

Open in Gerrit

Related details

Attention is currently required from:
  • Dale Curtis
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: I6c2721fb3a275bc53710143d705133a8387e1913
Gerrit-Change-Number: 6967694
Gerrit-PatchSet: 1
Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Vikram Pasupathy <vpasu...@chromium.org>
Gerrit-CC: Xiaohan Wang <xhw...@chromium.org>
Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
Gerrit-Comment-Date: Thu, 18 Sep 2025 23:25:47 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Sangbaek Park <sangba...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Dale Curtis (Gerrit)

unread,
Sep 19, 2025, 3:01:26 PM (2 days ago) Sep 19
to Sangbaek Park, Chromium LUCI CQ, Vikram Pasupathy, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, feature-me...@chromium.org
Attention needed from Sangbaek Park

Dale Curtis added 1 comment

Patchset-level comments
Sangbaek Park . unresolved

@dalec...@chromium.org

1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.

Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?

Vikram Pasupathy

+1 to this idea, and two follow up questions for Dale:

1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.

2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt

I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.

Dale Curtis

Anything that can change is supposed to be on the BaiscPlayback table, WebMediaPlayerState is supposed to be one time. RendererType is a bit of an exception though since it can actually change (e.g., remoting renderer). So it should actually have been on the basic playback table all along.

I don't understand what's so problematic about the JOIN though? Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?

Open in Gerrit

Related details

Attention is currently required from:
  • Sangbaek Park
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: I6c2721fb3a275bc53710143d705133a8387e1913
Gerrit-Change-Number: 6967694
Gerrit-PatchSet: 1
Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Vikram Pasupathy <vpasu...@chromium.org>
Gerrit-CC: Xiaohan Wang <xhw...@chromium.org>
Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
Gerrit-Comment-Date: Fri, 19 Sep 2025 19:01:16 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Sangbaek Park <sangba...@chromium.org>
Comment-In-Reply-To: Vikram Pasupathy <vpasu...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Sangbaek Park (Gerrit)

unread,
Sep 19, 2025, 3:51:12 PM (2 days ago) Sep 19
to Chromium LUCI CQ, Dale Curtis, Vikram Pasupathy, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, feature-me...@chromium.org
Attention needed from Dale Curtis and Vikram Pasupathy

Sangbaek Park added 1 comment

Patchset-level comments
Sangbaek Park . unresolved

@dalec...@chromium.org

1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.

Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?

Vikram Pasupathy

+1 to this idea, and two follow up questions for Dale:

1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.

2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt

I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.

Dale Curtis

Anything that can change is supposed to be on the BaiscPlayback table, WebMediaPlayerState is supposed to be one time. RendererType is a bit of an exception though since it can actually change (e.g., remoting renderer). So it should actually have been on the basic playback table all along.

I don't understand what's so problematic about the JOIN though? Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?

Sangbaek Park

Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?

Right. Actually, it's not a huge deal for doing that inner join operation but it gives us a good benefit when tackling some playback issues specifically for PlayReady HWDRM + detecting abuse/fraud cases if RendererType is reported in the BasicPlayback. And also I'm not sure if selecting the same PlayerID between BasicPlayback and WebMediaPlayerState per session_id per client_id gives us the correct entries since the PlayerID is an incremental number from 0 (any idea on this?).

Looks like adding `RendererType` into BasicPlayback is good to go, right?

Open in Gerrit

Related details

Attention is currently required from:
  • Dale Curtis
  • Vikram Pasupathy
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: I6c2721fb3a275bc53710143d705133a8387e1913
Gerrit-Change-Number: 6967694
Gerrit-PatchSet: 1
Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Vikram Pasupathy <vpasu...@chromium.org>
Gerrit-CC: Xiaohan Wang <xhw...@chromium.org>
Gerrit-Attention: Vikram Pasupathy <vpasu...@chromium.org>
Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
Gerrit-Comment-Date: Fri, 19 Sep 2025 19:51:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Sangbaek Park <sangba...@chromium.org>
Comment-In-Reply-To: Dale Curtis <dalec...@chromium.org>
Comment-In-Reply-To: Vikram Pasupathy <vpasu...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Dale Curtis (Gerrit)

unread,
Sep 19, 2025, 4:05:26 PM (2 days ago) Sep 19
to Sangbaek Park, Chromium LUCI CQ, Vikram Pasupathy, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, feature-me...@chromium.org
Attention needed from Sangbaek Park and Vikram Pasupathy

Dale Curtis added 1 comment

Patchset-level comments
Sangbaek Park . unresolved

@dalec...@chromium.org

1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.

Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?

Vikram Pasupathy

+1 to this idea, and two follow up questions for Dale:

1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.

2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt

I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.

Dale Curtis

Anything that can change is supposed to be on the BaiscPlayback table, WebMediaPlayerState is supposed to be one time. RendererType is a bit of an exception though since it can actually change (e.g., remoting renderer). So it should actually have been on the basic playback table all along.

I don't understand what's so problematic about the JOIN though? Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?

Sangbaek Park

Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?

Right. Actually, it's not a huge deal for doing that inner join operation but it gives us a good benefit when tackling some playback issues specifically for PlayReady HWDRM + detecting abuse/fraud cases if RendererType is reported in the BasicPlayback. And also I'm not sure if selecting the same PlayerID between BasicPlayback and WebMediaPlayerState per session_id per client_id gives us the correct entries since the PlayerID is an incremental number from 0 (any idea on this?).

Looks like adding `RendererType` into BasicPlayback is good to go, right?

Dale Curtis

Right you have to join on client_id+session_id+player_id. I'm not opposed to it, but you'll need UKM review to decide if we need a new doc for copying this key to another table. Probably we should deprecate the one in WMPState since renderer can change, but that would mean updating the code a bit.

Open in Gerrit

Related details

Attention is currently required from:
  • Sangbaek Park
  • Vikram Pasupathy
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: I6c2721fb3a275bc53710143d705133a8387e1913
Gerrit-Change-Number: 6967694
Gerrit-PatchSet: 1
Gerrit-Owner: Sangbaek Park <sangba...@chromium.org>
Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
Gerrit-Reviewer: Sangbaek Park <sangba...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Vikram Pasupathy <vpasu...@chromium.org>
Gerrit-CC: Xiaohan Wang <xhw...@chromium.org>
Gerrit-Attention: Sangbaek Park <sangba...@chromium.org>
Gerrit-Attention: Vikram Pasupathy <vpasu...@chromium.org>
Gerrit-Comment-Date: Fri, 19 Sep 2025 20:05:14 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages