| Index: webrtc/test/testsupport/frame_reader.h
|
| diff --git a/webrtc/test/testsupport/frame_reader.h b/webrtc/test/testsupport/frame_reader.h
|
| index 9b50ec7bf4ac5df4c71c94cdaaf40fbc02aaf3a9..13800cdc6fe08c91e12c5a5b42fdbbb121277e3b 100644
|
| --- a/webrtc/test/testsupport/frame_reader.h
|
| +++ b/webrtc/test/testsupport/frame_reader.h
|
| @@ -15,12 +15,14 @@
|
|
|
| #include <string>
|
|
|
| +#include "webrtc/base/scoped_ref_ptr.h"
|
| #include "webrtc/typedefs.h"
|
|
|
| namespace webrtc {
|
| +class I420Buffer;
|
| namespace test {
|
|
|
| -// Handles reading of frames from video files.
|
| +// Handles reading of I420 frames from video files.
|
| class FrameReader {
|
| public:
|
| virtual ~FrameReader() {}
|
| @@ -30,11 +32,9 @@ class FrameReader {
|
| // Returns false if an error has occurred, in addition to printing to stderr.
|
| virtual bool Init() = 0;
|
|
|
| - // Reads a frame into the supplied buffer, which must contain enough space
|
| - // for the frame size.
|
| - // Returns true if there are more frames to read, false if we've already
|
| - // read the last frame (in the previous call).
|
| - virtual bool ReadFrame(uint8_t* source_buffer) = 0;
|
| + // Reads a frame from the input file. On success, returns the frame.
|
| + // Returns nullptr if encountering end of file or a read error.
|
| + virtual rtc::scoped_refptr<I420Buffer> ReadFrame() = 0;
|
|
|
| // Closes the input file if open. Essentially makes this class impossible
|
| // to use anymore. Will also be invoked by the destructor.
|
| @@ -51,12 +51,11 @@ class FrameReaderImpl : public FrameReader {
|
| // Creates a file handler. The input file is assumed to exist and be readable.
|
| // Parameters:
|
| // input_filename The file to read from.
|
| - // frame_length_in_bytes The size of each frame.
|
| - // For YUV this is 3 * width * height / 2
|
| - FrameReaderImpl(std::string input_filename, size_t frame_length_in_bytes);
|
| + // width, height Size of each frame to read.
|
| + FrameReaderImpl(std::string input_filename, int width, int height);
|
| ~FrameReaderImpl() override;
|
| bool Init() override;
|
| - bool ReadFrame(uint8_t* source_buffer) override;
|
| + rtc::scoped_refptr<I420Buffer> ReadFrame() override;
|
| void Close() override;
|
| size_t FrameLength() override;
|
| int NumberOfFrames() override;
|
| @@ -64,6 +63,8 @@ class FrameReaderImpl : public FrameReader {
|
| private:
|
| std::string input_filename_;
|
| size_t frame_length_in_bytes_;
|
| + int width_;
|
| + int height_;
|
| int number_of_frames_;
|
| FILE* input_file_;
|
| };
|
|
|