diff options
author | Jim Bankoski <jimbankoski@google.com> | 2012-10-26 19:49:44 -0700 |
---|---|---|
committer | Jim Bankoski <jimbankoski@google.com> | 2012-10-26 19:49:44 -0700 |
commit | 65d73881f752d83e873c966be7e9d44bc7749577 (patch) | |
tree | 64fe50c9f929dd63f343e2bd0c0584fab6b94488 | |
parent | 1fc3cc8e97c5fbd456abc741ad909f83b4c4fb7c (diff) | |
download | libvpx-65d73881f752d83e873c966be7e9d44bc7749577.tar libvpx-65d73881f752d83e873c966be7e9d44bc7749577.tar.gz libvpx-65d73881f752d83e873c966be7e9d44bc7749577.tar.bz2 libvpx-65d73881f752d83e873c966be7e9d44bc7749577.zip |
Minor tweaks to video source frameworks
Fix the video source to close if file is open already and add a limit.
Change-Id: I36ada4c609d027b6eaa9b447fe9ad4115532edc1
-rw-r--r-- | test/i420_video_source.h | 6 | ||||
-rw-r--r-- | test/video_source.h | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/test/i420_video_source.h b/test/i420_video_source.h index 0fe9ca692..219bd3393 100644 --- a/test/i420_video_source.h +++ b/test/i420_video_source.h @@ -25,6 +25,7 @@ class I420VideoSource : public VideoSource { int rate_numerator, int rate_denominator, unsigned int start, int limit) : file_name_(file_name), + input_file_(NULL), img_(NULL), start_(start), limit_(limit), @@ -45,10 +46,11 @@ class I420VideoSource : public VideoSource { } virtual void Begin() { + if (input_file_) + fclose(input_file_); input_file_ = OpenTestDataFile(file_name_); ASSERT_TRUE(input_file_) << "Input file open failed. Filename: " << file_name_; - if (start_) { fseek(input_file_, raw_sz_ * start_, SEEK_SET); } @@ -76,6 +78,8 @@ class I420VideoSource : public VideoSource { virtual unsigned int frame() const { return frame_; } + virtual unsigned int limit() const { return limit_; } + void SetSize(unsigned int width, unsigned int height) { if (width != width_ || height != height_) { vpx_img_free(img_); diff --git a/test/video_source.h b/test/video_source.h index ced0caed1..9772657d6 100644 --- a/test/video_source.h +++ b/test/video_source.h @@ -57,6 +57,9 @@ class VideoSource { // Get the current frame counter, starting at 0. virtual unsigned int frame() const = 0; + + // Get the current file limit. + virtual unsigned int limit() const = 0; }; @@ -94,6 +97,8 @@ class DummyVideoSource : public VideoSource { virtual unsigned int frame() const { return frame_; } + virtual unsigned int limit() const { return limit_; } + void SetSize(unsigned int width, unsigned int height) { if (width != width_ || height != height_) { vpx_img_free(img_); |