vlc | branch: master | Francois Cartegnie <[email protected]> | Wed Mar 23 07:32:24 2016 -0400| [ce3f8a2286a6c2d9a36fda0761926badbec8871e] | committer: Francois Cartegnie
vout: decklink: improve debugging > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ce3f8a2286a6c2d9a36fda0761926badbec8871e --- modules/video_output/decklink.cpp | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/modules/video_output/decklink.cpp b/modules/video_output/decklink.cpp index 27941a0..d3a123a 100644 --- a/modules/video_output/decklink.cpp +++ b/modules/video_output/decklink.cpp @@ -297,13 +297,44 @@ end: * *****************************************************************************/ +static struct +{ + long i_return_code; + const char * const psz_string; +} const errors_to_string[] = { + { E_UNEXPECTED, "Unexpected error" }, + { E_NOTIMPL, "Not implemented" }, + { E_OUTOFMEMORY, "Out of memory" }, + { E_INVALIDARG, "Invalid argument" }, + { E_NOINTERFACE, "No interface" }, + { E_POINTER, "Invalid pointer" }, + { E_HANDLE, "Invalid handle" }, + { E_ABORT, "Aborted" }, + { E_FAIL, "Failed" }, + { E_ACCESSDENIED,"Access denied" } +}; + +static const char * lookup_error_string(long i_code) +{ + for(size_t i=0; i<ARRAY_SIZE(errors_to_string); i++) + { + if(errors_to_string[i].i_return_code == i_code) + return errors_to_string[i].psz_string; + } + return NULL; +} + static struct decklink_sys_t *OpenDecklink(vout_display_t *vd) { vout_display_sys_t *sys = vd->sys; #define CHECK(message) do { \ if (result != S_OK) \ { \ - msg_Err(vd, message ": 0x%X", result); \ + const char *psz_err = lookup_error_string(result); \ + if(psz_err)\ + msg_Err(vd, message ": %s", psz_err); \ + else \ + msg_Err(vd, message ": 0x%X", result); \ goto error; \ } \ } while(0) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
