2 * Copyright (C) 2009 Apple Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 #ifndef MediaPlayerProxy_h
27 #define MediaPlayerProxy_h
30 @
class WebMediaPlayerProxy
;
32 class WebMediaPlayerProxy
;
35 enum MediaPlayerProxyNotificationType
{
37 MediaPlayerNotificationMediaValidated
= 1,
38 MediaPlayerNotificationMediaFailedToValidate
,
40 MediaPlayerNotificationStartUsingNetwork
,
41 MediaPlayerNotificationStopUsingNetwork
,
43 MediaPlayerNotificationEnteredFullScreen
,
44 MediaPlayerNotificationExitedFullScreen
,
46 MediaPlayerNotificationReadyForInspection
,
47 MediaPlayerNotificationReadyForPlayback
,
48 MediaPlayerNotificationDidPlayToTheEnd
,
50 MediaPlayerNotificationPlaybackFailed
,
52 MediaPlayerNotificationStreamLikelyToKeepUp
,
53 MediaPlayerNotificationStreamUnlikelyToKeepUp
,
54 MediaPlayerNotificationStreamBufferFull
,
55 MediaPlayerNotificationStreamRanDry
,
56 MediaPlayerNotificationFileLoaded
,
58 MediaPlayerNotificationSizeDidChange
,
59 MediaPlayerNotificationVolumeDidChange
,
60 MediaPlayerNotificationMutedDidChange
,
61 MediaPlayerNotificationTimeJumped
,
63 MediaPlayerNotificationPlayPauseButtonPressed
,
67 @interface
NSObject (WebMediaPlayerProxy
)
69 - (int)_interfaceVersion
;
73 - (void)_load
:(NSURL
*)url
;
76 - (void)_setPoster
:(NSURL
*)url
;
81 - (NSSize
)_naturalSize
;
86 - (NSTimeInterval
)_duration
;
88 - (double)_currentTime
;
89 - (void)_setCurrentTime
:(double)time
;
92 - (void)_setEndTime
:(double)time
;
95 - (void)_setRate
:(float)rate
;
98 - (void)_setVolume
:(float)newVolume
;
101 - (void)_setMuted
:(BOOL
)muted
;
103 - (float)_maxTimeBuffered
;
104 - (float)_maxTimeSeekable
;
105 - (NSArray
*)_bufferedTimeRanges
;
109 - (BOOL
)_totalBytesKnown
;
110 - (unsigned)_totalBytes
;
111 - (unsigned)_bytesLoaded
;
113 - (NSArray
*)_mimeTypes
;