ncvisual_ need hot dispatch on _init #1309

pull/1321/head
nick black 4 years ago
parent f8a835ce7c
commit a0b905769d
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -1060,6 +1060,7 @@ int drop_signals(void* nc);
void ncvisual_printbanner(const notcurses* nc);
typedef struct ncvisual_implementation {
int (*ncvisual_init)(int loglevel);
void (*ncvisual_printbanner)(const struct notcurses* nc);
int (*ncvisual_blit)(struct ncvisual* ncv, int rows, int cols, ncplane* n,
const struct blitset* bset, int placey, int placex,

@ -39,8 +39,10 @@ auto ncvisual_details_seed(struct ncvisual* ncv) -> void {
}
}
auto __attribute__ ((weak))
ncvisual_init(int loglevel __attribute__ ((unused))) -> int {
auto ncvisual_init(int loglevel) -> int {
if(visual_implementation){
return visual_implementation->ncvisual_init(loglevel);
}
return 0;
}

@ -542,7 +542,6 @@ auto ncvisual_details_seed(ncvisual* ncv) -> void {
}
auto ffmpeg_log_level(int level) -> int{
#ifdef USE_FFMPEG
switch(level){
case NCLOGLEVEL_SILENT: return AV_LOG_QUIET;
case NCLOGLEVEL_PANIC: return AV_LOG_PANIC;
@ -557,12 +556,9 @@ auto ffmpeg_log_level(int level) -> int{
}
fprintf(stderr, "Invalid log level: %d\n", level);
return AV_LOG_TRACE;
#else
return level;
#endif
}
auto ncvisual_init(int loglevel) -> int {
auto ffmpeg_init(int loglevel) -> int {
av_log_set_level(ffmpeg_log_level(loglevel));
// FIXME could also use av_log_set_callback() and capture the message...
return 0;
@ -589,6 +585,7 @@ auto ncvisual_details_destroy(ncvisual_details* deets) -> void {
}
const static ncvisual_implementation ffmpeg_impl = {
.ncvisual_init = ffmpeg_init,
.ncvisual_printbanner = ncvisual_printbanner,
.ncvisual_blit = ffmpeg_blit,
.ncvisual_create = ncvisual_create,

@ -257,7 +257,7 @@ auto oiio_details_seed(ncvisual* ncv) -> void {
// FIXME?
}
int ncvisual_init(int loglevel __attribute__ ((unused))) {
int oiio_init(int loglevel __attribute__ ((unused))) {
// FIXME set OIIO global attribute "debug" based on loglevel
// FIXME check OIIO_VERSION_STRING components against linked openimageio_version()
return 0; // allow success here
@ -269,6 +269,7 @@ void oiio_printbanner(const notcurses* nc __attribute__ ((unused))){
}
const static ncvisual_implementation oiio_impl = {
.ncvisual_init = oiio_init,
.ncvisual_printbanner = oiio_printbanner,
.ncvisual_blit = oiio_blit,
.ncvisual_create = oiio_create,

Loading…
Cancel
Save