Title: [245701] trunk/Source/WebCore
Revision
245701
Author
[email protected]
Date
2019-05-23 12:12:22 -0700 (Thu, 23 May 2019)

Log Message

[macOS,iOS] Add always-on logging for AVPlayerTimeControlStatus changes
https://bugs.webkit.org/show_bug.cgi?id=197946
<rdar://problem/50627457>

Reviewed by Jon Lee.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::convertEnumerationToString):
(WTF::LogArgument<AVPlayerTimeControlStatus>::toString):
(WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (245700 => 245701)


--- trunk/Source/WebCore/ChangeLog	2019-05-23 18:32:21 UTC (rev 245700)
+++ trunk/Source/WebCore/ChangeLog	2019-05-23 19:12:22 UTC (rev 245701)
@@ -1,3 +1,16 @@
+2019-05-23  Eric Carlson  <[email protected]>
+
+        [macOS,iOS] Add always-on logging for AVPlayerTimeControlStatus changes
+        https://bugs.webkit.org/show_bug.cgi?id=197946
+        <rdar://problem/50627457>
+
+        Reviewed by Jon Lee.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::convertEnumerationToString):
+        (WTF::LogArgument<AVPlayerTimeControlStatus>::toString):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange):
+
 2019-05-23  Antoine Quint  <[email protected]>
 
         [Pointer Events] Compatibility mouse events can only be prevented while the pointer is pressed

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (245700 => 245701)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2019-05-23 18:32:21 UTC (rev 245700)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2019-05-23 19:12:22 UTC (rev 245701)
@@ -201,6 +201,35 @@
 #endif
 
 namespace WebCore {
+static String convertEnumerationToString(AVPlayerTimeControlStatus enumerationValue)
+{
+    static const NeverDestroyed<String> values[] = {
+        MAKE_STATIC_STRING_IMPL("AVPlayerTimeControlStatusPaused"),
+        MAKE_STATIC_STRING_IMPL("AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate"),
+        MAKE_STATIC_STRING_IMPL("AVPlayerTimeControlStatusPlaying"),
+    };
+    static_assert(!static_cast<size_t>(AVPlayerTimeControlStatusPaused), "AVPlayerTimeControlStatusPaused is not 0 as expected");
+    static_assert(static_cast<size_t>(AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate) == 1, "AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate is not 1 as expected");
+    static_assert(static_cast<size_t>(AVPlayerTimeControlStatusPlaying) == 2, "AVPlayerTimeControlStatusPlaying is not 2 as expected");
+    ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
+    return values[static_cast<size_t>(enumerationValue)];
+}
+}
+
+namespace WTF {
+template<typename Type>
+struct LogArgument;
+
+template <>
+struct LogArgument<AVPlayerTimeControlStatus> {
+    static String toString(const AVPlayerTimeControlStatus status)
+    {
+        return convertEnumerationToString(status);
+    }
+};
+}; // namespace WTF
+
+namespace WebCore {
 using namespace PAL;
 
 static NSArray *assetMetadataKeyNames();
@@ -3046,6 +3075,8 @@
     if (m_cachedTimeControlStatus == timeControlStatus)
         return;
 
+    ALWAYS_LOG(LOGIDENTIFIER, static_cast<AVPlayerTimeControlStatus>(timeControlStatus), ", observing = ", m_shouldObserveTimeControlStatus);
+
     if (!m_shouldObserveTimeControlStatus)
         return;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to