From patchwork Thu Sep 5 23:07:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 14945 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id E6ED2448CEF for ; Fri, 6 Sep 2019 02:07:33 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D1F55687FBF; Fri, 6 Sep 2019 02:07:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ot1-f68.google.com (mail-ot1-f68.google.com [209.85.210.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EC17F687FBC for ; Fri, 6 Sep 2019 02:07:26 +0300 (EEST) Received: by mail-ot1-f68.google.com with SMTP id 21so3941825otj.11 for ; Thu, 05 Sep 2019 16:07:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tmm1-net.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sJB8iIpSDm0ux6rLYj5jqmpL5AfOLTHsXLnj0WaEY3s=; b=IH1YsEfpYq3TA83M7gmtUvt0RibUt1E4CSxCud5/itPXJAwg5Kp5xjO9qGgH3mDQKa zCgi9mbGa6i0NA1/26J7bQA9e6ogyVmdbAGMQOcXWVg0eAqcwk3sP3xzwVyZh84xDt08 /2717fB7SH1nl2wG3qMXS5EZf2f9cyM1T0dEDOeufSd3wR9mzgcUnu+G2PyXLIMooh9r XrzU+F/JuRbqk57QWGkKi67e03WYODc8k6pvRsuCr+c3CbRaPk+HOrfDgiz//Y03jD/F 6ikIYYEAdCYmRF174LIZODsTxOutuTV3f3Mhhft3h/xc+RGcQXUz6hVXMuVFYxUgg7tb U9Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=sJB8iIpSDm0ux6rLYj5jqmpL5AfOLTHsXLnj0WaEY3s=; b=Ef90RBvRbMlGx/FCDfBAFy0EiDPmigkwITEMFWWodbno9uVoH0oNEKLCDxBRpDF3sW EkTiPcpATjLW/NKuv98yUL3ebmRMkWY9+a/62lwsQwxeCg6FxEahOVuTDOvZ/SpMvXyZ g+jbbODTQOMyHPI9Ci3YejTir9IsqR9lYEY6tvqlkIG761aCjcSCLXoxsSXUNW+h5Tak DvEyFdaX3lY3QYOrkP8uPgK8Jb0k3lDNNPLWapES1HVc9lMf+J61BsMY85DX8V+k8z8s Wxh+1WeYB+77L5ZEgSlfV6+vjZ4BcIYiVW5ySegYVzWEO7RaCWPFaeEyq7Cla9JSfW8z 1R0g== X-Gm-Message-State: APjAAAXFd2ec52KA6tWg/BgdBdZitngkX+C4FAvAlm6rjZrP3EnFg/SG KcEKYKjVobopmzWQP3TadRCtsLlCHVq4IQ== X-Google-Smtp-Source: APXvYqxNnzgxlF0gh1nXZb6m9tAwVzhbH/4GEd0CUcfSmftYQMADmJwLUCeQFlH0RIIDVADGzQ4cKQ== X-Received: by 2002:a9d:7207:: with SMTP id u7mr4955953otj.59.1567724845230; Thu, 05 Sep 2019 16:07:25 -0700 (PDT) Received: from tmm1-imac.lan (ip184-189-221-177.sb.sd.cox.net. [184.189.221.177]) by smtp.gmail.com with ESMTPSA id e22sm1201949otl.33.2019.09.05.16.07.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 05 Sep 2019 16:07:24 -0700 (PDT) From: Aman Gupta To: ffmpeg-devel@ffmpeg.org Date: Thu, 5 Sep 2019 16:07:20 -0700 Message-Id: <20190905230720.90115-2-ffmpeg@tmm1.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190905230720.90115-1-ffmpeg@tmm1.net> References: <20190905230720.90115-1-ffmpeg@tmm1.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/mediacodec_surface: define and use FFANativeWindow to mimic NDK interface X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: matthieu.bouron@gmail.com, Aman Gupta Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Aman Gupta This will make it easy to switch to ANativeWindow_fromSurface and ANativeWindow_release in the future. Signed-off-by: Aman Gupta --- libavcodec/mediacodec_surface.c | 11 ++++------- libavcodec/mediacodec_surface.h | 7 +++++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libavcodec/mediacodec_surface.c b/libavcodec/mediacodec_surface.c index efcc4dc63c..a292386e34 100644 --- a/libavcodec/mediacodec_surface.c +++ b/libavcodec/mediacodec_surface.c @@ -25,10 +25,9 @@ #include "ffjni.h" #include "mediacodec_surface.h" -void *ff_mediacodec_surface_ref(void *surface, void *log_ctx) +FFANativeWindow *ff_mediacodec_surface_ref(void *surface, void *log_ctx) { JNIEnv *env = NULL; - void *reference = NULL; if (!surface) return NULL; @@ -38,12 +37,10 @@ void *ff_mediacodec_surface_ref(void *surface, void *log_ctx) return NULL; } - reference = (*env)->NewGlobalRef(env, surface); - - return reference; + return (*env)->NewGlobalRef(env, surface); } -int ff_mediacodec_surface_unref(void *surface, void *log_ctx) +int ff_mediacodec_surface_unref(FFANativeWindow *window, void *log_ctx) { JNIEnv *env = NULL; @@ -52,7 +49,7 @@ int ff_mediacodec_surface_unref(void *surface, void *log_ctx) return AVERROR_EXTERNAL; } - (*env)->DeleteGlobalRef(env, surface); + (*env)->DeleteGlobalRef(env, window); return 0; } diff --git a/libavcodec/mediacodec_surface.h b/libavcodec/mediacodec_surface.h index 0178b8ae71..933dc2bf51 100644 --- a/libavcodec/mediacodec_surface.h +++ b/libavcodec/mediacodec_surface.h @@ -25,7 +25,10 @@ #include "libavcodec/avcodec.h" -void *ff_mediacodec_surface_ref(void *surface, void *log_ctx); -int ff_mediacodec_surface_unref(void *surface, void *log_ctx); +struct FFANativeWindow; +typedef struct FFANativeWindow FFANativeWindow; + +FFANativeWindow *ff_mediacodec_surface_ref(void *surface, void *log_ctx); +int ff_mediacodec_surface_unref(FFANativeWindow *window, void *log_ctx); #endif /* AVCODEC_MEDIACODEC_SURFACE_H */