1 /* 2 * Copyright (C) 2009 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 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. 12 * 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. 24 */ 25 26 #ifndef MediaPlayerProxy_h 27 #define MediaPlayerProxy_h 28 29 #ifdef __OBJC__ 30 @class WebMediaPlayerProxy; 31 #else 32 class WebMediaPlayerProxy; 33 #endif 34 35 enum MediaPlayerProxyNotificationType { 36 37 MediaPlayerNotificationMediaValidated = 1, 38 MediaPlayerNotificationMediaFailedToValidate, 39 40 MediaPlayerNotificationStartUsingNetwork, 41 MediaPlayerNotificationStopUsingNetwork, 42 43 MediaPlayerNotificationEnteredFullscreen, 44 MediaPlayerNotificationExitedFullscreen, 45 46 MediaPlayerNotificationReadyForInspection, 47 MediaPlayerNotificationReadyForPlayback, 48 MediaPlayerNotificationDidPlayToTheEnd, 49 50 MediaPlayerNotificationPlaybackFailed, 51 52 MediaPlayerNotificationStreamLikelyToKeepUp, 53 MediaPlayerNotificationStreamUnlikelyToKeepUp, 54 MediaPlayerNotificationStreamBufferFull, 55 MediaPlayerNotificationStreamRanDry, 56 MediaPlayerNotificationFileLoaded, 57 58 MediaPlayerNotificationSizeDidChange, 59 MediaPlayerNotificationVolumeDidChange, 60 MediaPlayerNotificationMutedDidChange, 61 MediaPlayerNotificationTimeJumped, 62 63 MediaPlayerNotificationPlayPauseButtonPressed, 64 }; 65 66 #ifdef __OBJC__ 67 @interface NSObject (WebMediaPlayerProxy) 68 69 - (int)_interfaceVersion; 70 71 - (void)_disconnect; 72 73 - (void)_load:(NSURL *)url; 74 - (void)_cancelLoad; 75 76 - (void)_setPoster:(NSURL *)url; 77 78 - (void)_play; 79 - (void)_pause; 80 81 - (NSSize)_naturalSize; 82 83 - (BOOL)_hasVideo; 84 - (BOOL)_hasAudio; 85 86 - (NSTimeInterval)_duration; 87 88 - (double)_currentTime; 89 - (void)_setCurrentTime:(double)time; 90 - (BOOL)_seeking; 91 92 - (void)_setEndTime:(double)time; 93 94 - (float)_rate; 95 - (void)_setRate:(float)rate; 96 97 - (float)_volume; 98 - (void)_setVolume:(float)newVolume; 99 100 - (BOOL)_muted; 101 - (void)_setMuted:(BOOL)muted; 102 103 - (float)_maxTimeBuffered; 104 - (float)_maxTimeSeekable; 105 - (NSArray *)_bufferedTimeRanges; 106 107 - (int)_dataRate; 108 109 - (BOOL)_totalBytesKnown; 110 - (unsigned)_totalBytes; 111 - (unsigned)_bytesLoaded; 112 113 - (NSArray *)_mimeTypes; 114 115 @end 116 #endif 117 118 #endif 119