Minor tweaks to video source frameworks
Fix the video source to close if file is open already and add a limit. Change-Id: I36ada4c609d027b6eaa9b447fe9ad4115532edc1
This commit is contained in:
parent
1fc3cc8e97
commit
65d73881f7
@ -25,6 +25,7 @@ class I420VideoSource : public VideoSource {
|
|||||||
int rate_numerator, int rate_denominator,
|
int rate_numerator, int rate_denominator,
|
||||||
unsigned int start, int limit)
|
unsigned int start, int limit)
|
||||||
: file_name_(file_name),
|
: file_name_(file_name),
|
||||||
|
input_file_(NULL),
|
||||||
img_(NULL),
|
img_(NULL),
|
||||||
start_(start),
|
start_(start),
|
||||||
limit_(limit),
|
limit_(limit),
|
||||||
@ -45,10 +46,11 @@ class I420VideoSource : public VideoSource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual void Begin() {
|
virtual void Begin() {
|
||||||
|
if (input_file_)
|
||||||
|
fclose(input_file_);
|
||||||
input_file_ = OpenTestDataFile(file_name_);
|
input_file_ = OpenTestDataFile(file_name_);
|
||||||
ASSERT_TRUE(input_file_) << "Input file open failed. Filename: "
|
ASSERT_TRUE(input_file_) << "Input file open failed. Filename: "
|
||||||
<< file_name_;
|
<< file_name_;
|
||||||
|
|
||||||
if (start_) {
|
if (start_) {
|
||||||
fseek(input_file_, raw_sz_ * start_, SEEK_SET);
|
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 frame() const { return frame_; }
|
||||||
|
|
||||||
|
virtual unsigned int limit() const { return limit_; }
|
||||||
|
|
||||||
void SetSize(unsigned int width, unsigned int height) {
|
void SetSize(unsigned int width, unsigned int height) {
|
||||||
if (width != width_ || height != height_) {
|
if (width != width_ || height != height_) {
|
||||||
vpx_img_free(img_);
|
vpx_img_free(img_);
|
||||||
|
@ -57,6 +57,9 @@ class VideoSource {
|
|||||||
|
|
||||||
// Get the current frame counter, starting at 0.
|
// Get the current frame counter, starting at 0.
|
||||||
virtual unsigned int frame() const = 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 frame() const { return frame_; }
|
||||||
|
|
||||||
|
virtual unsigned int limit() const { return limit_; }
|
||||||
|
|
||||||
void SetSize(unsigned int width, unsigned int height) {
|
void SetSize(unsigned int width, unsigned int height) {
|
||||||
if (width != width_ || height != height_) {
|
if (width != width_ || height != height_) {
|
||||||
vpx_img_free(img_);
|
vpx_img_free(img_);
|
||||||
|
Loading…
Reference in New Issue
Block a user