[libdvdnav-devel] Do not assert in vm_get_video_aspect
Jean-Baptiste Kempf
git at videolan.org
Tue Mar 4 15:35:40 CET 2014
libdvdnav | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue Mar 4 15:17:08 2014 +0100| [4d3753fe408b7cc81d04c368cc0cc33f7ce49170] | committer: Jean-Baptiste Kempf
Do not assert in vm_get_video_aspect
Failing is a correct behavior, here...
LP: #370884
> http://git.videolan.org/gitweb.cgi/libdvdnav.git/?a=commit;h=4d3753fe408b7cc81d04c368cc0cc33f7ce49170
---
src/vm/vmget.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/vm/vmget.c b/src/vm/vmget.c
index 6155a9b..80085c5 100644
--- a/src/vm/vmget.c
+++ b/src/vm/vmget.c
@@ -296,7 +296,11 @@ void vm_get_video_res(vm_t *vm, int *width, int *height) {
int vm_get_video_aspect(vm_t *vm) {
int aspect = vm_get_video_attr(vm).display_aspect_ratio;
- assert(aspect == 0 || aspect == 3);
+ if(aspect != 0 && aspect != 3) {
+ fprintf(MSG_OUT, "libdvdnav: display aspect ratio is unexpected: %d!\n", aspect);
+ return -1;
+ }
+
(vm->state).registers.SPRM[14] &= ~(0x3 << 10);
(vm->state).registers.SPRM[14] |= aspect << 10;
More information about the libdvdnav-devel
mailing list