blob: 5bbe9a3822dc3e1ff5499a7238d38e0dcfa699af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef WEBKIT_GLUE_WEBMEDIAPLAYERCLIENT_IMPL_H_
#define WEBKIT_GLUE_WEBMEDIAPLAYERCLIENT_IMPL_H_
#if ENABLE(VIDEO)
#include "third_party/WebKit/WebKit/chromium/public/WebMediaPlayerClient.h"
#include "MediaPlayerPrivate.h"
namespace WebCore {
class MediaPlayerPrivate;
} // namespace WebCore
namespace WebKit {
class WebMediaPlayer;
} // namespace WebKit
class WebMediaPlayerClientImpl : public WebKit::WebMediaPlayerClient,
public WebCore::MediaPlayerPrivateInterface {
public:
virtual ~WebMediaPlayerClientImpl();
////////////////////////////////////////////////////////////////////////////
// WebMediaPlayerPlayerClient methods
virtual void networkStateChanged();
virtual void readyStateChanged();
virtual void volumeChanged();
virtual void timeChanged();
virtual void repaint();
virtual void durationChanged();
virtual void rateChanged();
virtual void sizeChanged();
virtual void sawUnsupportedTracks();
////////////////////////////////////////////////////////////////////////////
// MediaPlayerPrivateInterface methods
virtual void load(const WebCore::String& url);
virtual void cancelLoad();
virtual void play();
virtual void pause();
virtual WebCore::IntSize naturalSize() const;
virtual bool hasVideo() const;
virtual void setVisible(bool);
virtual float duration() const;
virtual float currentTime() const;
virtual void seek(float time);
virtual bool seeking() const;
virtual void setEndTime(float time);
virtual void setRate(float);
virtual bool paused() const;
virtual void setVolume(float);
virtual WebCore::MediaPlayer::NetworkState networkState() const;
virtual WebCore::MediaPlayer::ReadyState readyState() const;
virtual float maxTimeSeekable() const;
virtual float maxTimeBuffered() const;
virtual int dataRate() const;
virtual void setAutobuffer(bool);
virtual bool totalBytesKnown() const;
virtual unsigned totalBytes() const;
virtual unsigned bytesLoaded() const;
virtual void setSize(const WebCore::IntSize&);
virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&);
private:
friend class WebCore::MediaPlayerPrivate;
WebMediaPlayerClientImpl();
// Static methods used by WebKit for construction.
static WebCore::MediaPlayerPrivateInterface* create(
WebCore::MediaPlayer* player);
static void getSupportedTypes(
WTF::HashSet<WebCore::String>& supportedTypes);
static WebCore::MediaPlayer::SupportsType supportsType(
const WebCore::String& type, const WebCore::String& codecs);
WebCore::MediaPlayer* m_mediaPlayer;
WebKit::WebMediaPlayer* m_webMediaPlayer;
};
#endif // ENABLE(VIDEO)
#endif // WEBKIT_GLUE_WEBMEDIAPLAYERCLIENT_IMPL_H_
|