Modified: trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm (119938 => 119939)
--- trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm 2012-06-10 18:09:52 UTC (rev 119938)
+++ trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm 2012-06-10 18:14:40 UTC (rev 119939)
@@ -36,6 +36,7 @@
#import "HostWindow.h"
#import "GraphicsContext.h"
#import "KURL.h"
+#import "Logging.h"
#import "MIMETypeRegistry.h"
#import "SecurityOrigin.h"
#import "SoftLinking.h"
@@ -225,6 +226,7 @@
MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit(%p)", this);
tearDownVideoRendering();
[[NSNotificationCenter defaultCenter] removeObserver:m_objcObserver.get()];
@@ -332,6 +334,7 @@
void MediaPlayerPrivateQTKit::createQTMovie(NSURL *url, NSDictionary *movieAttributes)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::createQTMovie(%p) ", this);
disableComponentsOnce();
[[NSNotificationCenter defaultCenter] removeObserver:m_objcObserver.get()];
@@ -368,7 +371,7 @@
// In older version of QuickTime, QTMovieLoadStateDidChangeNotification be fired.
if (NSString *maxTimeLoadedChangeNotification = wkQTMovieMaxTimeLoadedChangeNotification()) {
[[NSNotificationCenter defaultCenter] addObserver:m_objcObserver.get()
- selector:@selector(loadStateChanged:)
+ selector:@selector(loadedRangesChanged:)
name:maxTimeLoadedChangeNotification
object:m_qtMovie.get()];
}
@@ -421,6 +424,7 @@
void MediaPlayerPrivateQTKit::createQTMovieView()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::createQTMovieView(%p)", this);
detachQTMovieView();
static bool addedCustomMethods = false;
@@ -464,6 +468,7 @@
void MediaPlayerPrivateQTKit::detachQTMovieView()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::detachQTMovieView(%p)", this);
if (m_qtMovieView) {
[m_objcObserver.get() setView:nil];
[m_qtMovieView.get() setDelegate:nil];
@@ -474,6 +479,7 @@
void MediaPlayerPrivateQTKit::createQTVideoRenderer(QTVideoRendererMode rendererMode)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::createQTVideoRenderer(%p)", this);
destroyQTVideoRenderer();
m_qtVideoRenderer.adoptNS([[QTVideoRendererClass() alloc] init]);
@@ -494,6 +500,7 @@
void MediaPlayerPrivateQTKit::destroyQTVideoRenderer()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::destroyQTVideoRenderer(%p)", this);
if (!m_qtVideoRenderer)
return;
@@ -510,6 +517,7 @@
void MediaPlayerPrivateQTKit::createQTMovieLayer()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::createQTMovieLayer(%p)", this);
#if USE(ACCELERATED_COMPOSITING) && !(PLATFORM(QT) && USE(QTKIT))
if (!m_qtMovie)
return;
@@ -532,6 +540,7 @@
void MediaPlayerPrivateQTKit::destroyQTMovieLayer()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::destroyQTMovieLayer(%p)", this);
#if USE(ACCELERATED_COMPOSITING)
if (!m_qtVideoLayer)
return;
@@ -574,6 +583,7 @@
void MediaPlayerPrivateQTKit::setUpVideoRendering()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::setUpVideoRendering(%p)", this);
if (!isReadyForVideoSetup())
return;
@@ -605,6 +615,7 @@
void MediaPlayerPrivateQTKit::tearDownVideoRendering()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::tearDownVideoRendering(%p)", this);
if (m_qtMovieView)
detachQTMovieView();
if (m_qtVideoRenderer)
@@ -636,6 +647,7 @@
void MediaPlayerPrivateQTKit::load(const String& url)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::load(%p)", this);
m_movieURL = url;
// If the element is not supposed to load any data return immediately.
@@ -668,6 +680,7 @@
void MediaPlayerPrivateQTKit::prepareToPlay()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::prepareToPlay(%p)", this);
setPreload(MediaPlayer::Auto);
}
@@ -688,6 +701,7 @@
void MediaPlayerPrivateQTKit::play()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::play(%p)", this);
if (!metaDataAvailable())
return;
m_startedPlaying = true;
@@ -701,6 +715,7 @@
void MediaPlayerPrivateQTKit::pause()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::pause(%p)", this);
if (!metaDataAvailable())
return;
m_startedPlaying = false;
@@ -736,6 +751,7 @@
void MediaPlayerPrivateQTKit::seek(float time)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::seek(%p) - time %f", this, time);
// Nothing to do if we are already in the middle of a seek to the same time.
if (time == m_seekTo)
return;
@@ -777,6 +793,7 @@
void MediaPlayerPrivateQTKit::cancelSeek()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::cancelSeek(%p)", this);
m_seekTo = -1;
m_seekTimer.stop();
}
@@ -869,6 +886,7 @@
void MediaPlayerPrivateQTKit::setVolume(float volume)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::setVolume(%p) - volume %f", this, volume);
if (m_qtMovie)
[m_qtMovie.get() setVolume:volume];
}
@@ -896,12 +914,14 @@
void MediaPlayerPrivateQTKit::setRate(float rate)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::setRate(%p) - rate %f", this, rate);
if (m_qtMovie)
[m_qtMovie.get() setRate:rate];
}
void MediaPlayerPrivateQTKit::setPreservesPitch(bool preservesPitch)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::setPreservesPitch(%p) - preservesPitch %d", this, (int)preservesPitch);
if (!m_qtMovie)
return;
@@ -965,6 +985,7 @@
void MediaPlayerPrivateQTKit::cancelLoad()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::cancelLoad(%p)", this);
// FIXME: Is there a better way to check for this?
if (m_networkState < MediaPlayer::Loading || m_networkState == MediaPlayer::Loaded)
return;
@@ -1007,6 +1028,7 @@
void MediaPlayerPrivateQTKit::prepareForRendering()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::prepareForRendering(%p)", this);
if (m_isAllowedToRender)
return;
m_isAllowedToRender = true;
@@ -1024,6 +1046,9 @@
{
MediaPlayer::NetworkState oldNetworkState = m_networkState;
MediaPlayer::ReadyState oldReadyState = m_readyState;
+
+ LOG(Media, "MediaPlayerPrivateQTKit::updateStates(%p) - entering with networkState = %i, readyState = %i", this, static_cast<int>(m_networkState), static_cast<int>(m_readyState));
+
long loadState = m_qtMovie ? [[m_qtMovie.get() attributeForKey:QTMovieLoadStateAttribute] longValue] : static_cast<long>(QTMovieLoadStateError);
@@ -1133,16 +1158,29 @@
m_reportedDuration = dur;
}
}
+
+ LOG(Media, "MediaPlayerPrivateQTKit::updateStates(%p) - exiting with networkState = %i, readyState = %i", this, static_cast<int>(m_networkState), static_cast<int>(m_readyState));
}
void MediaPlayerPrivateQTKit::loadStateChanged()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::loadStateChanged(%p) - loadState = %li", this, [[m_qtMovie.get() attributeForKey:QTMovieLoadStateAttribute] longValue]);
+
if (!m_hasUnsupportedTracks)
updateStates();
}
+void MediaPlayerPrivateQTKit::loadedRangesChanged()
+{
+ LOG(Media, "MediaPlayerPrivateQTKit::loadedRangesChanged(%p) - loadState = %li", this, [[m_qtMovie.get() attributeForKey:QTMovieLoadStateAttribute] longValue]);
+
+ if (!m_hasUnsupportedTracks)
+ updateStates();
+}
+
void MediaPlayerPrivateQTKit::rateChanged()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::rateChanged(%p) - rate = %li", this, [m_qtMovie.get() rate]);
if (m_hasUnsupportedTracks)
return;
@@ -1152,12 +1190,14 @@
void MediaPlayerPrivateQTKit::sizeChanged()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::sizeChanged(%p)", this);
if (!m_hasUnsupportedTracks)
m_player->sizeChanged();
}
void MediaPlayerPrivateQTKit::timeChanged()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::timeChanged(%p)", this);
if (m_hasUnsupportedTracks)
return;
@@ -1174,6 +1214,7 @@
void MediaPlayerPrivateQTKit::didEnd()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::didEnd(%p)", this);
if (m_hasUnsupportedTracks)
return;
@@ -1492,16 +1533,20 @@
void MediaPlayerPrivateQTKit::clearMediaCache()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::clearMediaCache()");
wkQTClearMediaDownloadCache();
}
void MediaPlayerPrivateQTKit::clearMediaCacheForSite(const String& site)
{
+ LOG(Media, "MediaPlayerPrivateQTKit::clearMediaCacheForSite()");
wkQTClearMediaDownloadCacheForSite(site);
}
void MediaPlayerPrivateQTKit::disableUnsupportedTracks()
{
+ LOG(Media, "MediaPlayerPrivateQTKit::disableUnsupportedTracks(%p)", this);
+
if (!m_qtMovie) {
m_enabledTrackCount = 0;
m_totalTrackCount = 0;
@@ -1706,6 +1751,15 @@
m_callback->loadStateChanged();
}
+- (void)loadedRangesChanged:(NSNotification *)unusedNotification
+{
+ UNUSED_PARAM(unusedNotification);
+ if (m_delayCallbacks)
+ [self performSelector:_cmd withObject:nil afterDelay:0];
+ else
+ m_callback->loadedRangesChanged();
+}
+
- (void)rateChanged:(NSNotification *)unusedNotification
{
UNUSED_PARAM(unusedNotification);