Thank you for debugging this! I must admit that I made the decision too rush, so I was wrong about the assumption of CBC setting different metadata based on platform and UA. Your debugging leads to an interesting finding. Per comment7, we can see that those attributes (title/artist/album) were all not empty, and on Windows Firefox did pass all of them to SystemMediaTransportControls (SMTC) via [`IMusicDisplayProperties::put_XXX` methods](https://searchfox.org/mozilla-central/rev/d3343662ce0aced933b30e053b33c93f759292eb/widget/windows/WindowsSMTCProvider.cpp#413-429), which is the system API used to display the metadata. However, SMTC's display interface only has two displayed attributes, so that means they think the priority of `album` is larger than `artist`. Chrome [only set `title` and `artist`](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/win/system_media_controls_win.cc;l=182-198?q=display_properties_-%3Eput_&ss=chromium), so that is why their result is different than us. I've checked the Microsoft's documentation, and couldn't find any information about what SMTC would do if we set more than two attributes. So it's really depend on each platform's implementation. For example, I saw the different result on Unbuntu, but we actually are [doing the same thing](https://searchfox.org/mozilla-central/source/widget/gtk/MPRISServiceHandler.cpp#721-738), providing all attributes, which websites gave us, to the platform. On linux, they seems to regard `artist` is more important than `album`. Firefox honestly passes all metadata to the platform, and let the platform determine the most important attribute. If a website only set `album` and `artist` then on Chrome's display they would miss another attribute and only show `title`. In addition, when checking other player, like Spotify. If I play a song from an album which made by one person, then their display would show `title` and `album`, if I play a song from a playlist which contains multiple artists, then their display would show `title` and `artist`. here are the result on different platforms. Windows : title (always), album (second priority), artist (third priority) Linux (using gnome) : title (always), artist (second priority), album (ignore) MacOS (11) : title (always), artist (second priority), album (ignore) --- From the pespective of sending a completed metadata to the platform, I won't say it's a bug. However, from another pespective, I would prefer to keep the displayed result consistent among different platforms, so we can probably do some adjustment on Windows, which is only setting `album` if `artist` is empty, in order to show `title` and `artist` on all platforms. Chun-min, any thought about this? Thank you.
Bug 1691115 Comment 8 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Thank you for debugging this! I must admit that I made the decision too rush, so I was wrong about the assumption of CBC setting different metadata based on platform and UA. Your debugging leads to an interesting finding. Per comment7, we can see that those attributes (title/artist/album) were all not empty, and on Windows Firefox did pass all of them to SystemMediaTransportControls (SMTC) via [`IMusicDisplayProperties::put_XXX` methods](https://searchfox.org/mozilla-central/rev/d3343662ce0aced933b30e053b33c93f759292eb/widget/windows/WindowsSMTCProvider.cpp#413-429), which is the system API used to display the metadata. However, SMTC's display interface only has two displayed attributes, so that means they think the priority of `album` is larger than `artist`. Chrome [only set `title` and `artist`](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/win/system_media_controls_win.cc;l=182-198?q=display_properties_-%3Eput_&ss=chromium), so that is why their result is different than us. I've checked the Microsoft's documentation, and couldn't find any information about what SMTC would do if we set more than two attributes. So it's really depend on each platform's implementation. For example, I saw the different result on Unbuntu, but we actually are [doing the same thing](https://searchfox.org/mozilla-central/source/widget/gtk/MPRISServiceHandler.cpp#721-738), providing all attributes, which websites gave us, to the platform. On linux, they seems to regard `artist` is more important than `album`. Firefox honestly passes all metadata to the platform, and let the platform determine the most important attribute. If a website only set `album` and `artist` then on Chrome's display they would miss another attribute and only show `title`. In addition, when checking other player, like Spotify. If I play a song from an album which made by one person, then their display would show `title` and `album`, if I play a song from a playlist which contains multiple artists, then their display would show `title` and `artist`. here are the result on different platforms. Windows : title (always), album (second priority), artist (third priority) Linux (using gnome) : title (always), artist (second priority), album (ignore) MacOS (11) : title (always), artist (second priority), album (ignore) --- From the pespective of sending a completed metadata to the platform, I won't say it's a bug. However, from another pespective, I would prefer to keep the displayed result consistent among different platforms, so we can probably do some adjustment on Windows, which is setting `album` only if `artist` is empty, in order to show `title` and `artist` on all platforms. Chun-min, any thought about this? Thank you.
Thank you for debugging this! I must admit that I made the decision too rush, so I was wrong about the assumption of CBC setting different metadata based on platform and UA. Your debugging leads to an interesting finding. Per comment7, we can see that those attributes (title/artist/album) were all not empty, and on Windows Firefox did pass all of them to SystemMediaTransportControls (SMTC) via [`IMusicDisplayProperties::put_XXX` methods](https://searchfox.org/mozilla-central/rev/d3343662ce0aced933b30e053b33c93f759292eb/widget/windows/WindowsSMTCProvider.cpp#413-429), which is the system API used to display the metadata. However, SMTC's display interface only has two displayed attributes, so that means they think the priority of `album` is larger than `artist`. Chrome [only set `title` and `artist`](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/win/system_media_controls_win.cc;l=182-198?q=display_properties_-%3Eput_&ss=chromium), so that is why their result is different than us. I've checked the Microsoft's documentation, and couldn't find any information about what SMTC would do if we set more than two attributes. So it's really depend on each platform's implementation. For example, I saw the different result on Unbuntu, but we actually are [doing the same thing](https://searchfox.org/mozilla-central/source/widget/gtk/MPRISServiceHandler.cpp#721-738), providing all attributes, which websites gave us, to the platform. On linux, they seems to regard `artist` is more important than `album`. Firefox honestly passes all metadata to the platform, and let the platform determine the most important attribute. If a website only set `album` and `artist` then Chrome would miss another attribute and only shows `title`. In addition, when checking other player, like Spotify. If I play a song from an album which made by one person, then their display would show `title` and `album`, if I play a song from a playlist which contains multiple artists, then their display would show `title` and `artist`. here are the result on different platforms. Windows : title (always), album (second priority), artist (third priority) Linux (using gnome) : title (always), artist (second priority), album (ignore) MacOS (11) : title (always), artist (second priority), album (ignore) --- From the pespective of sending a completed metadata to the platform, I won't say it's a bug. However, from another pespective, I would prefer to keep the displayed result consistent among different platforms, so we can probably do some adjustment on Windows, which is setting `album` only if `artist` is empty, in order to show `title` and `artist` on all platforms. Chun-min, any thought about this? Thank you.
Thank you for debugging this! I must admit that I made the decision too rush, so I was wrong about the assumption of CBC setting different metadata based on platform and UA. Your debugging leads to an interesting finding. Per comment7, we can see that those attributes (title/artist/album) were all not empty, and on Windows Firefox did pass all of them to SystemMediaTransportControls (SMTC) via [`IMusicDisplayProperties::put_XXX` methods](https://searchfox.org/mozilla-central/rev/d3343662ce0aced933b30e053b33c93f759292eb/widget/windows/WindowsSMTCProvider.cpp#413-429), which is the system API used to display the metadata. However, SMTC's display interface only has two displayed attributes, so that means they think the priority of `album` is higher than `artist`. Chrome [only set `title` and `artist`](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/win/system_media_controls_win.cc;l=182-198?q=display_properties_-%3Eput_&ss=chromium), so that is why their result is different than us. I've checked the Microsoft's documentation, and couldn't find any information about what SMTC would do if we set more than two attributes. So it's really depend on each platform's implementation. For example, I saw the different result on Unbuntu, but we actually are [doing the same thing](https://searchfox.org/mozilla-central/source/widget/gtk/MPRISServiceHandler.cpp#721-738), providing all attributes, which websites gave us, to the platform. On linux, they seems to regard `artist` is more important than `album`. Firefox honestly passes all metadata to the platform, and let the platform determine the most important attribute. If a website only set `album` and `artist` then Chrome would miss another attribute and only shows `title`. In addition, when checking other player, like Spotify. If I play a song from an album which made by one person, then their display would show `title` and `album`, if I play a song from a playlist which contains multiple artists, then their display would show `title` and `artist`. here are the result on different platforms. Windows : title (always), album (second priority), artist (third priority) Linux (using gnome) : title (always), artist (second priority), album (ignore) MacOS (11) : title (always), artist (second priority), album (ignore) --- From the pespective of sending a completed metadata to the platform, I won't say it's a bug. However, from another pespective, I would prefer to keep the displayed result consistent among different platforms, so we can probably do some adjustment on Windows, which is setting `album` only if `artist` is empty, in order to show `title` and `artist` on all platforms. Chun-min, any thought about this? Thank you.
Thank you for debugging this! I must admit that I made the decision too rush, so I was wrong about the assumption of CBC setting different metadata based on platform and UA. Your debugging leads to an interesting finding. Per comment7, we can see that those attributes (title/artist/album) were all not empty, and on Windows Firefox did pass all of them to SystemMediaTransportControls (SMTC) via [`IMusicDisplayProperties::put_XXX` methods](https://searchfox.org/mozilla-central/rev/d3343662ce0aced933b30e053b33c93f759292eb/widget/windows/WindowsSMTCProvider.cpp#413-429), which is the system API used to display the metadata. However, SMTC's display interface only has two displayed attributes, so that means they think the priority of `album` is higher than `artist`. Chrome [only set `title` and `artist`](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/win/system_media_controls_win.cc;l=182-198?q=display_properties_-%3Eput_&ss=chromium), that is why their result is different than ours. I've checked the Microsoft's documentation, and couldn't find any information about what SMTC would do if we set more than two attributes. So it's really depend on each platform's implementation. For example, I saw the different result on Unbuntu, but we actually are [doing the same thing](https://searchfox.org/mozilla-central/source/widget/gtk/MPRISServiceHandler.cpp#721-738), providing all attributes, which websites gave us, to the platform. On linux, they seems to regard `artist` is more important than `album`. Firefox honestly passes all metadata to the platform, and let the platform determine the most important attribute. If a website only set `album` and `artist` then Chrome would miss another attribute and only shows `title`. In addition, when checking other player, like Spotify. If I play a song from an album which made by one person, then their display would show `title` and `album`, if I play a song from a playlist which contains multiple artists, then their display would show `title` and `artist`. here are the result on different platforms. Windows : title (always), album (second priority), artist (third priority) Linux (using gnome) : title (always), artist (second priority), album (ignore) MacOS (11) : title (always), artist (second priority), album (ignore) --- From the pespective of sending a completed metadata to the platform, I won't say it's a bug. However, from another pespective, I would prefer to keep the displayed result consistent among different platforms, so we can probably do some adjustment on Windows, which is setting `album` only if `artist` is empty, in order to show `title` and `artist` on all platforms. Chun-min, any thought about this? Thank you.
Thank you for debugging this! I must admit that I made the decision too rush, so I was wrong about the assumption of CBC setting different metadata based on platform and UA. Your debugging leads to an interesting finding. Per comment7, we can see that those attributes (title/artist/album) were all not empty, and on Windows Firefox did pass all of them to SystemMediaTransportControls (SMTC) via [`IMusicDisplayProperties::put_XXX` methods](https://searchfox.org/mozilla-central/rev/d3343662ce0aced933b30e053b33c93f759292eb/widget/windows/WindowsSMTCProvider.cpp#413-429), which is the system API used to display the metadata. However, SMTC's display interface only has two displayed attributes, so that means they think the priority of `album` is higher than `artist`. Chrome [only set `title` and `artist`](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/win/system_media_controls_win.cc;l=182-198?q=display_properties_-%3Eput_&ss=chromium), that is why their result is different than ours. I've checked the Microsoft's documentation, and couldn't find any information about what SMTC would do if we set more than two attributes. So it's really depending on each platform's implementation. For example, I saw the different result on Unbuntu, but we actually are [doing the same thing](https://searchfox.org/mozilla-central/source/widget/gtk/MPRISServiceHandler.cpp#721-738), providing all attributes, which websites gave us, to the platform. On linux, they seems to regard `artist` is more important than `album`. Firefox honestly passes all metadata to the platform, and let the platform determine the most important attribute. If a website only set `album` and `artist` then Chrome would miss another attribute and only shows `title`. In addition, when checking other player, like Spotify. If I play a song from an album which made by one person, then their display would show `title` and `album`, if I play a song from a playlist which contains multiple artists, then their display would show `title` and `artist`. here are the result on different platforms. Windows : title (always), album (second priority), artist (third priority) Linux (using gnome) : title (always), artist (second priority), album (ignore) MacOS (11) : title (always), artist (second priority), album (ignore) --- From the pespective of sending a completed metadata to the platform, I won't say it's a bug. However, from another pespective, I would prefer to keep the displayed result consistent among different platforms, so we can probably do some adjustment on Windows, which is setting `album` only if `artist` is empty, in order to show `title` and `artist` on all platforms. Chun-min, any thought about this? Thank you.