21:03:42 RRSAgent has joined #mediawg 21:03:47 logging to https://www.w3.org/2026/09/08-mediawg-irc 21:03:51 Zakim has joined #mediawg 21:03:58 Meeting: Media WG 21:04:06 Agenda: https://github.com/w3c/media-wg/blob/main/meetings/2026-09-08-Media_Working_Group_Teleconference-agenda.md 21:04:09 scribe+ cpn 21:05:39 present+ Mark Foltz, Tommy Steimel, Alastor Wu, Chris Needham, Eugene Zemtsov, Dana Estra 21:08:35 rrsagent, draft minutes 21:08:37 I have made the request to generate https://www.w3.org/2026/09/08-mediawg-minutes.html cpn 21:08:48 Topic: Media Session API 21:08:57 subtopic: Issue #377 Media session should have a generic call-to-action handler 21:09:02 https://github.com/w3c/mediasession/issues/377 21:09:30 Dana: I added a link to an explainer in the issue 21:10:28 ... As brief background, this proposal is motivated by requests from web developers to provide a way for end users to interact with an ad while in PIP 21:10:49 ... That's currently not possible, the proposal is for a generic button to be added to PiP, as a media session action 21:11:09 ... Call setActionHandler() with a callback that opens the advertiser's website 21:11:26 ... It's a generic name, as we imagine the label being customisable, with an enum of strings 21:11:33 ... To be discussed which strings to allow 21:11:42 ... We have ideas how a site indicates what label they want 21:11:51 ... One idea is a new attribute on MediaMetadata 21:12:22 ... Another idea is an optional dictionary passed to setActionHandler() 21:12:48 ... For both ideas, if the site author sets a callback but doesn't provide a label, we woudln't show the button at all, or provide a default label 21:13:25 Tommy: With the strings that are allowed, how does it work with different languages? 21:13:56 Jer: The reason for a limited set of verbs is that the UA handles localisation. We'd use the right word based on the user's system-level language settings 21:14:10 Tommy: Could the website set any label, what's the need for restriction? 21:14:27 q+ 21:14:31 Jer: We don't want an opportunity to create a marquee with rotating text or other weird behaviours. 21:14:56 ... How do you ensure the label fits in the space available? We can replace it with a suitable icon for example 21:15:10 ... We propose this for PiP, but not limited to that 21:15:40 ... Don't want it to limited by requiring display of words. Phone lock screen. Great to have an icon you can click 21:15:54 ... There's no way to intuit that if it's an open string 21:16:18 Tommy: Does it make sense to have those as new actions, e.g., for Download and Learn More 21:16:38 Jer: Could do that, yes. I think adding new actions for each type is more overhead than updating an enumeration 21:16:48 ... We'd need boilerplate spec text for each of those actions 21:17:17 ... Another reason is it doesn't make sense conceptually having both the Download and Install actions enabled at the same time. Difficult to spec the behaviour 21:17:50 ... The action itself is an enumeration, so the discussion is around where it should live. I can see both sides of the argument 21:19:03 Mark: Media Session already allows sites to set arbitrary strings for media metadata elsewhere. What's different about the call to action? There might be important info that might be elided if the display is shortened. Tooltips might mitigate that, but all the important info in the call to action should be rendered, hence have an enum 21:19:26 ... How is this related to user activation? A user could do a lot of things, that might be useful or that might be surprising 21:19:51 Jer: I don't think MediaSession does anything with user activation state when a handler is called 21:20:12 ... A user gesture for audio playback woudn't work if it didn't set the activation state 21:20:27 Mark: Do implementations bypass activation, or set the activation state? 21:20:59 Jer: In WebKit we set the activation state. Conceptually there was an activation, even if it doesn't come from a user gesture or keypress 21:21:27 ... I don't think this is different. We don't constrain the actions in the play handler to things affecting playback. They could popup a window or do other things 21:21:30 Tommy: Same in Chrome 21:21:45 Mark: Activation behaviour should be defined 21:22:10 Jer: Good point, the spec might be underspecified, so should write down for interoperability 21:22:59 Alastor: How to define relationship between Media Session and the window. If the main frame has video in PiP, how to ensure the button won't incorreclty be displayed on the main frame's PiP. What if there are multiple PiP windows? 21:23:25 Jer: Great question. Original sin of Media Session is it's global state rather than assinged to a particular media element 21:23:35 ... Answer is heuristics 21:24:31 ... I think this problem already exists for other action handlers. I'd love to scope MediaSession to a particular playback or media element. Until then, it's a problem 21:25:12 ... There are relatively few websites with multiple video presentations in the same frame. Might be a problem that doesn't regularly occur where there's this kind of conflict 21:25:39 Alastor: From Firefox perspective, the proposal is good. Just want to sure we can address the edge cases in implementation 21:26:12 Jer: Agree. We should have an issue open with the global Media Session and multiple media elements. Similar things happen with WebRTC. 21:27:55 Chris: Non ad specific calls to action? 21:28:41 Jer: Now playing, thumbs up, thumbs down. So there are non ad related action handlers. Nothing in the proposal limits it to only working with ads 21:29:03 ... So if sites like BBC have use cases for non ad related use cases, this is the time to discuss 21:29:23 ... May new verbs could be allowed. Donate could be reasonable 21:29:45 ... One of the reasons for this proposal is to forestall the requirement for Document PiP 21:30:08 ... There are places where we can't support a fully interactive PiP window, but want to enable the things we can specify 21:30:40 alwu has joined #mediawg 21:31:18 Chirs: Any strong feelings either way? 21:31:39 Tommy: Seems reasonable proposal to me. Not sure on API shape, but seems reasonable to add 21:32:49 Jer: Regarding how a UA knows whether the content is program or add, we could expand on chapters. If it's marked as an ad, the UA could do something smart with the UA, e.g., show progress countdown in the UI 21:33:16 ... Could be alongside chapters, but seemed too complex at the time 21:33:58 ... Something the web lacks right now is the concept of a playlist. Could be added pretty easily, given websites provide a "move to next" UI, so elevating that, so we show in a button 21:34:35 Jer: We have big websites interested. Do we have implementer interest? 21:35:08 Alastor: In this proposal, it's a new button in the PiP window. Any spec for what a PiP window shuold contain? It's very implementation defined 21:35:49 Jer: There's no web spec for that right now, for good reason. It's a space that's opaque to websites now 21:36:47 ... We've heard requests to show different controls depending on what action handlers are installed, e.g., next and previous in vertical video. UA can do that now based on what's installed, but I'd hate to try to specify that and mandate the interaction model 21:37:17 ... If you don't put a button tin the PiP window, you get the status quo. It should be feature detectable 21:37:36 ... I wouldn't want to standardise the behaviour outside the viewport, from an implementer perspective 21:37:52 Alastor: I feel we need feature detection 21:39:51 Tommy: We didn't land on a good solution regarding feature detection 21:39:56 Chris: We should revisit 21:41:55 Chris: Hearing support. We can discuss which enumeration values make sense. 21:42:05 Jer: Good way to start the conversation 21:43:01 Chris: There's a related issue regarding skip (#212) 21:43:27 Jer: Skip has semantics that match the call to action problem. You can skip to end, or the ad, or other things 21:43:58 ... We don't have the ability to specify the thing being skipped. To make it more generic. If the alternative we consider is adopted, it might be relevant to skip handler in future. 21:45:02 ... This is where Chapters came in, as if the UA knows you're in an ad it can do something smarter 21:45:18 Chris: So could revisit that, having made more progress on this 21:46:35 subtopic: Issue #376 MediaSession Actions create a backdoor for nonstandard features 21:47:14 Alastor: Concern here is that Chrome has a behaviour that PiP can automatically appear, Chrome specific, make it hard to interoperate. Chrome has Media Experience Index 21:47:36 ... His concern is about the auto-PiP, not the enterpictureinpicture itself 21:47:55 Tommy: Is the request to specify auto-PiP behaviour more? 21:48:10 ... Ben has been looking into this 21:48:24 ... I can point him to the issue to see if he has comments 21:50:45 Chris: Jan-Ivar also mentions play. Should we constrain what sites could do? 21:50:56 Tommy: Not sure what else we would do. The spec talks about the intent 21:51:21 Jer: The default behaviour, e,g., for hangup action, if the site doesn't install an action handler 21:51:46 ... Or if the UA doesn't perceive the appopriate action is taken, it could apply a default 21:51:57 ... That heuristic could go very wrong 21:52:51 Chris: Do we spec defaults if no action handler installed? 21:53:01 Tommy: No spec that the UA has do to some default thing 21:53:37 Jer: What I took from the issue is not a conflict between the action name and what the handler actually does. It seems more about when the UA would issue certain actions 21:53:49 ... Maybe some UAs will send the action handler always when playback starts 21:54:12 ... I'm sensitive to that, as Safari does things, e.g., a call coming in during playback, we send a pause action 21:54:33 ... That's not something specified, and on the grey edges of the spec 21:54:46 ... This maybe more the concern expressed 21:54:59 Alastor: We'd want to add something to Audio Session 21:55:44 Jer: Weird behaviour from sites, when the paused state doesn't match, move to the have future data state. You're right, Audio Session is the more fitting vehicle for that, but its less adopted by sites 21:56:34 Jer: It's underspecified when the UA would send enterpictureinpicture 21:57:00 .... on iPhone, dismissing fullscreen fast enough, we'lll enter PiP. The spec is silent on that 21:57:27 ... That might be appropriate to be silent, we don't want to specify all interctions between webviews 21:57:45 Tommy: I'm cautious about over-specifying 21:58:19 Mark: I find it hard to be too presecriptibe because of the variety of ways input can flow into the Media Session. Different stacks can interpret signals in different ways 21:58:34 ... Could have language that changes to the MS state reflects user interaction 21:59:25 Jer: I wonder if Jan-Ivar would be mollified if we added some non-normative notes 21:59:37 Mark: I think that would be fine, but needs to be adaptive 22:00:02 Jer: Question for him, does he want normative spec language or informative guidance. 22:03:06 cpn4 has joined #mediawg 22:03:13 rrsagent, draft minutes 22:03:15 I have made the request to generate https://www.w3.org/2026/09/08-mediawg-minutes.html cpn4 22:05:23 rrsagent, make log public 22:16:22 Topic: Future meetings 22:16:28 scribe+ cpn4 22:17:04 Chris: We haven't discussed Media Session in a while. There's a lot of open issues. Happy to schedule more meetings as needed 22:17:16 ... Alastor and I can discuss 22:17:36 [adjourned] 22:17:41 rrsagent, draft minutes 22:17:42 I have made the request to generate https://www.w3.org/2026/09/08-mediawg-minutes.html cpn4 22:41:26 s/Chirs/Chris/ 22:44:11 s/Non ad specific calls to action?/Is this intended to be ad specific calls to action? I can imagine calls to action in our programmes, e.g, vote for your favourite contestant in a show, or donate to charity. Does anything constrain these handlers to when an add is playing, e.g., so the controls are only shown at the right time?/ 22:44:14 rrsagent, draft minutes 22:44:15 I have made the request to generate https://www.w3.org/2026/09/08-mediawg-minutes.html cpn4 22:58:04 s/We should revisit/We should revisit that. I can imagine that similar feature detection considerations could come up again with the call to action label enumeration/ 22:58:05 rrsagent, draft minutes 22:58:07 I have made the request to generate https://www.w3.org/2026/09/08-mediawg-minutes.html cpn4 22:58:55 present+ Jer Noble 22:59:05 Chair: Chris, Alastor 22:59:09 rrsagent, draft minutes 22:59:10 I have made the request to generate https://www.w3.org/2026/09/08-mediawg-minutes.html cpn4 22:59:52 i/Alastor: Concern here/https://github.com/w3c/mediasession/issues/376 22:59:53 rrsagent, draft minutes 22:59:55 I have made the request to generate https://www.w3.org/2026/09/08-mediawg-minutes.html cpn4