| Index: media/tools/player_x11/data_source_logger.h
|
| diff --git a/media/tools/player_x11/data_source_logger.h b/media/tools/player_x11/data_source_logger.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..13fdc6067ef2cf98456fdc0009877ebd7d0828b3
|
| --- /dev/null
|
| +++ b/media/tools/player_x11/data_source_logger.h
|
| @@ -0,0 +1,41 @@
|
| +// Copyright (c) 2012 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 MEDIA_TOOLS_PLAYER_X11_DATA_SOURCE_LOGGER_H_
|
| +#define MEDIA_TOOLS_PLAYER_X11_DATA_SOURCE_LOGGER_H_
|
| +
|
| +#include "media/base/data_source.h"
|
| +
|
| +// Logs all DataSource operations to VLOG(1) for debugging purposes.
|
| +class DataSourceLogger : public media::DataSource {
|
| + public:
|
| + // Constructs a DataSourceLogger to log operations against another DataSource.
|
| + //
|
| + // |data_source| must be initialized in advance.
|
| + //
|
| + // |streaming| when set to true will override the implementation
|
| + // IsStreaming() to always return true, otherwise it will delegate to
|
| + // |data_source|.
|
| + DataSourceLogger(scoped_ptr<DataSource> data_source,
|
| + bool force_streaming);
|
| + ~DataSourceLogger() override;
|
| +
|
| + // media::DataSource implementation.
|
| + void Stop() override;
|
| + void Read(int64 position,
|
| + int size,
|
| + uint8* data,
|
| + const media::DataSource::ReadCB& read_cb) override;
|
| + bool GetSize(int64* size_out) override;
|
| + bool IsStreaming() override;
|
| + void SetBitrate(int bitrate) override;
|
| +
|
| + private:
|
| + scoped_ptr<media::DataSource> data_source_;
|
| + bool streaming_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DataSourceLogger);
|
| +};
|
| +
|
| +#endif // MEDIA_TOOLS_PLAYER_X11_DATA_SOURCE_LOGGER_H_
|
|
|