⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 245701 in webkit


Ignore:
Timestamp:
May 23, 2019, 12:12:22 PM (7 years ago)
Author:
eric.carlson@apple.com
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):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r245700 r245701  
     12019-05-23  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [macOS,iOS] Add always-on logging for AVPlayerTimeControlStatus changes
     4        https://bugs.webkit.org/show_bug.cgi?id=197946
     5        <rdar://problem/50627457>
     6
     7        Reviewed by Jon Lee.
     8
     9        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
     10        (WebCore::convertEnumerationToString):
     11        (WTF::LogArgument<AVPlayerTimeControlStatus>::toString):
     12        (WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange):
     13
    1142019-05-23  Antoine Quint  <graouts@apple.com>
    215
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm

    r245039 r245701  
    202202
    203203namespace WebCore {
     204static String convertEnumerationToString(AVPlayerTimeControlStatus enumerationValue)
     205{
     206    static const NeverDestroyed<String> values[] = {
     207        MAKE_STATIC_STRING_IMPL("AVPlayerTimeControlStatusPaused"),
     208        MAKE_STATIC_STRING_IMPL("AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate"),
     209        MAKE_STATIC_STRING_IMPL("AVPlayerTimeControlStatusPlaying"),
     210    };
     211    static_assert(!static_cast<size_t>(AVPlayerTimeControlStatusPaused), "AVPlayerTimeControlStatusPaused is not 0 as expected");
     212    static_assert(static_cast<size_t>(AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate) == 1, "AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate is not 1 as expected");
     213    static_assert(static_cast<size_t>(AVPlayerTimeControlStatusPlaying) == 2, "AVPlayerTimeControlStatusPlaying is not 2 as expected");
     214    ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
     215    return values[static_cast<size_t>(enumerationValue)];
     216}
     217}
     218
     219namespace WTF {
     220template<typename Type>
     221struct LogArgument;
     222
     223template <>
     224struct LogArgument<AVPlayerTimeControlStatus> {
     225    static String toString(const AVPlayerTimeControlStatus status)
     226    {
     227        return convertEnumerationToString(status);
     228    }
     229};
     230}; // namespace WTF
     231
     232namespace WebCore {
    204233using namespace PAL;
    205234
     
    30463075    if (m_cachedTimeControlStatus == timeControlStatus)
    30473076        return;
     3077
     3078    ALWAYS_LOG(LOGIDENTIFIER, static_cast<AVPlayerTimeControlStatus>(timeControlStatus), ", observing = ", m_shouldObserveTimeControlStatus);
    30483079
    30493080    if (!m_shouldObserveTimeControlStatus)
Note: See TracChangeset for help on using the changeset viewer.