diff --git a/src/lib/blit.c b/src/lib/blit.c index f3e4fe870..fc5701325 100644 --- a/src/lib/blit.c +++ b/src/lib/blit.c @@ -45,7 +45,7 @@ tria_blit_ascii(ncplane* nc, int placey, int placex, int linesize, }else{ cell_set_fg_rgb(c, rgbbase_up[rpos], rgbbase_up[1], rgbbase_up[bpos]); cell_set_bg_rgb(c, rgbbase_up[rpos], rgbbase_up[1], rgbbase_up[bpos]); - if(cell_load(nc, c, "X") <= 0){ + if(cell_load(nc, c, " ") <= 0){ return -1; } } diff --git a/src/lib/visual.cpp b/src/lib/visual.cpp index 35bb2e6bb..850754ca5 100644 --- a/src/lib/visual.cpp +++ b/src/lib/visual.cpp @@ -594,6 +594,7 @@ nc_err_e ncvisual_decode(ncvisual* nc){ static ncvisual* ncvisual_open(const char* filename, nc_err_e* ncerr){ + *ncerr = NCERR_SUCCESS; ncvisual* ncv = ncvisual_create(1); if(ncv == nullptr){ // fprintf(stderr, "Couldn't create %s (%s)\n", filename, strerror(errno)); @@ -603,15 +604,14 @@ ncvisual_open(const char* filename, nc_err_e* ncerr){ memset(ncv, 0, sizeof(*ncv)); int averr = avformat_open_input(&ncv->fmtctx, filename, nullptr, nullptr); if(averr < 0){ - // fprintf(stderr, "Couldn't open %s (%s)\n", filename, av_err2str(*averr)); +//fprintf(stderr, "Couldn't open %s (%d)\n", filename, averr); *ncerr = averr2ncerr(averr); ncvisual_destroy(ncv); return nullptr; } averr = avformat_find_stream_info(ncv->fmtctx, nullptr); if(averr < 0){ - /*fprintf(stderr, "Error extracting stream info from %s (%s)\n", filename, - av_err2str(*averr));*/ +//fprintf(stderr, "Error extracting stream info from %s (%d)\n", filename, averr); *ncerr = averr2ncerr(averr); ncvisual_destroy(ncv); return nullptr; @@ -707,7 +707,7 @@ ncvisual* ncplane_visual_open(ncplane* nc, const char* filename, nc_err_e* ncerr } ncvisual* ncvisual_from_file(notcurses* nc, const char* filename, - nc_err_e* ncerr, int y, int x, ncscale_e style){ + nc_err_e* ncerr, int y, int x, ncscale_e style){ ncvisual* ncv = ncvisual_open(filename, ncerr); if(ncv == nullptr){ return nullptr; @@ -727,6 +727,7 @@ ncvisual* ncvisual_from_file(notcurses* nc, const char* filename, // up playback. int ncvisual_stream(notcurses* nc, ncvisual* ncv, nc_err_e* ncerr, float timescale, streamcb streamer, void* curry){ + *ncerr = NCERR_SUCCESS; int frame = 1; ncv->timescale = timescale; struct timespec begin; // time we started @@ -850,6 +851,7 @@ bool notcurses_canopen(const notcurses* nc __attribute__ ((unused))){ static ncvisual* ncvisual_open(const char* filename, nc_err_e* err){ + *ncerr = NCERR_SUCCESS; ncvisual* ncv = ncvisual_create(1); if(ncv == nullptr){ *err = NCERR_NOMEM; @@ -985,6 +987,7 @@ nc_err_e ncvisual_decode(ncvisual* nc){ int ncvisual_stream(struct notcurses* nc, struct ncvisual* ncv, nc_err_e* ncerr, float timescale, streamcb streamer, void* curry){ + *ncerr = NCERR_SUCCESS; int frame = 1; ncv->timescale = timescale; struct timespec begin; // time we started diff --git a/tests/visual.cpp b/tests/visual.cpp index 95de7662d..a3cb91520 100644 --- a/tests/visual.cpp +++ b/tests/visual.cpp @@ -1,13 +1,10 @@ #include "main.h" #include -TEST_CASE("Multimedia") { +TEST_CASE("Visual") { if(getenv("TERM") == nullptr){ return; } - if(!enforce_utf8()){ - return; - } notcurses_options nopts{}; nopts.inhibit_alternate_screen = true; nopts.suppress_banner = true; @@ -133,7 +130,7 @@ TEST_CASE("Multimedia") { std::vector rgba(dimx * dimy * 2, 0x88bbccff); auto ncv = ncvisual_from_rgba(nc_, rgba.data(), dimy * 2, dimx * 4, dimx); REQUIRE(ncv); - CHECK(dimx * dimy == ncvisual_render(ncv, 0, 0, -1, -1)); + CHECK(0 < ncvisual_render(ncv, 0, 0, -1, -1)); CHECK(0 == notcurses_render(nc_)); ncvisual_destroy(ncv); CHECK(0 == notcurses_render(nc_)); @@ -145,7 +142,7 @@ TEST_CASE("Multimedia") { std::vector rgba(dimx * dimy * 2, 0x88bbccff); auto ncv = ncvisual_from_bgra(nc_, rgba.data(), dimy * 2, dimx * 4, dimx); REQUIRE(ncv); - CHECK(dimx * dimy == ncvisual_render(ncv, 0, 0, -1, -1)); + CHECK(0 < ncvisual_render(ncv, 0, 0, -1, -1)); CHECK(0 == notcurses_render(nc_)); ncvisual_destroy(ncv); CHECK(0 == notcurses_render(nc_));