diff --git a/src/lib/ffmpeg.cpp b/src/lib/ffmpeg.cpp index fcd882683..c3170c8ce 100644 --- a/src/lib/ffmpeg.cpp +++ b/src/lib/ffmpeg.cpp @@ -401,6 +401,7 @@ int ncvisual_decode_loop(ncvisual* ncv){ // FIXME log error return -1; } + return ncvisual_decode(ncv); } return r; } diff --git a/src/lib/oiio.cpp b/src/lib/oiio.cpp index 0e47c02eb..2986be897 100644 --- a/src/lib/oiio.cpp +++ b/src/lib/oiio.cpp @@ -86,6 +86,7 @@ int ncvisual_decode_loop(ncvisual* ncv){ if(ncv->details.image->seek_subimage(0, 0, &newspec)){ return -1; } + ncv->details.framenum = 0; } return r; } diff --git a/tests/visual.cpp b/tests/visual.cpp index 463575f15..77b8d3aea 100644 --- a/tests/visual.cpp +++ b/tests/visual.cpp @@ -117,7 +117,12 @@ TEST_CASE("Visual") { CHECK(1 == ret); struct ncplane* ncp = ncvisual_render(nc_, ncv, nullptr); CHECK(nullptr != ncp); + ncplane_destroy(ncp); // FIXME verify that it is first frame, not last? + ret = ncvisual_decode_loop(ncv); + CHECK(0 == ret); + ncp = ncvisual_render(nc_, ncv, nullptr); + CHECK(nullptr != ncp); ncplane_destroy(ncp); ncvisual_destroy(ncv); }