From ddaaf850992ef0aad89b36f717fc964bf6628831 Mon Sep 17 00:00:00 2001 From: "xhwang@chromium.org" Date: Fri, 25 Jul 2014 04:36:51 +0000 Subject: Make DataSource::Stop() synchronous. In a lot of filters in media code, Stop() has been folded into the dtor. This model doesn't apply directly to DataSource because DataSource::Stop() is called by the FFmpegDemuxer, but the DataSource is owned by WebMediaPlayerImpl. TBR=gbillock@chromium.org BUG=349211 TEST=All existing tests pass. Review URL: https://codereview.chromium.org/413243002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285479 0039d316-1c4b-4281-b951-d872f2087c98 --- media/tools/player_x11/data_source_logger.cc | 11 +++-------- media/tools/player_x11/data_source_logger.h | 2 +- 2 files changed, 4 insertions(+), 9 deletions(-) (limited to 'media/tools') diff --git a/media/tools/player_x11/data_source_logger.cc b/media/tools/player_x11/data_source_logger.cc index 204d8b3..d09b6bf 100644 --- a/media/tools/player_x11/data_source_logger.cc +++ b/media/tools/player_x11/data_source_logger.cc @@ -6,11 +6,6 @@ #include "base/logging.h" #include "media/tools/player_x11/data_source_logger.h" -static void LogAndRunStopClosure(const base::Closure& closure) { - VLOG(1) << "Stop() finished"; - closure.Run(); -} - static void LogAndRunReadCB( int64 position, int size, const media::DataSource::ReadCB& read_cb, int result) { @@ -25,9 +20,9 @@ DataSourceLogger::DataSourceLogger( streaming_(streaming) { } -void DataSourceLogger::Stop(const base::Closure& closure) { - VLOG(1) << "Stop() started"; - data_source_->Stop(base::Bind(&LogAndRunStopClosure, closure)); +void DataSourceLogger::Stop() { + VLOG(1) << "Stop()"; + data_source_->Stop(); } void DataSourceLogger::Read( diff --git a/media/tools/player_x11/data_source_logger.h b/media/tools/player_x11/data_source_logger.h index 5fdd9d4..1cb0a80 100644 --- a/media/tools/player_x11/data_source_logger.h +++ b/media/tools/player_x11/data_source_logger.h @@ -22,7 +22,7 @@ class DataSourceLogger : public media::DataSource { virtual ~DataSourceLogger(); // media::DataSource implementation. - virtual void Stop(const base::Closure& closure) OVERRIDE; + virtual void Stop() OVERRIDE; virtual void Read( int64 position, int size, uint8* data, const media::DataSource::ReadCB& read_cb) OVERRIDE; -- cgit v1.1