libbluray | branch: master | hpi1 <[email protected]> | Sat Nov 9 10:31:20 2013 +0200| [66740ed15fae46fc43b9a688618eda4c1315d129] | committer: hpi1
BD-J: moved IG overlay buffer check after locking the buffer > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=66740ed15fae46fc43b9a688618eda4c1315d129 --- src/libbluray/bdj/native/org_videolan_Libbluray.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libbluray/bdj/native/org_videolan_Libbluray.c b/src/libbluray/bdj/native/org_videolan_Libbluray.c index 8757671..6605db0 100644 --- a/src/libbluray/bdj/native/org_videolan_Libbluray.c +++ b/src/libbluray/bdj/native/org_videolan_Libbluray.c @@ -411,7 +411,7 @@ JNIEXPORT void JNICALL Java_org_videolan_Libbluray_updateGraphicN(JNIEnv * env, return; } - if (bdj->buf && bdj->buf->buf[BD_OVERLAY_IG]) { + if (bdj->buf) { /* copy to application-allocated buffer */ @@ -424,9 +424,17 @@ JNIEXPORT void JNICALL Java_org_videolan_Libbluray_updateGraphicN(JNIEnv * env, bdj->buf->dirty[BD_OVERLAY_IG].y0 = y0; bdj->buf->dirty[BD_OVERLAY_IG].y1 = y1; + /* get buffer */ if (bdj->buf->lock) { bdj->buf->lock(bdj->buf); } + if (!bdj->buf->buf[BD_OVERLAY_IG]) { + BD_DEBUG(DBG_BDJ | DBG_CRIT, "ARGB frame buffer missing\n"); + if (bdj->buf->unlock) { + bdj->buf->unlock(bdj->buf); + } + return; + } /* check buffer size */ _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
