{"id":1024,"date":"2019-02-04T00:00:00","date_gmt":"2019-02-03T15:00:00","guid":{"rendered":"https:\/\/www.charlezz.com\/?p=1024"},"modified":"2019-02-04T00:00:00","modified_gmt":"2019-02-03T15:00:00","slug":"android%ec%9d%98-surfacetexture","status":"publish","type":"post","link":"https:\/\/charlezz.com\/?p=1024","title":{"rendered":"Android\uc758 SurfaceTexture"},"content":{"rendered":"<h1>SurfaceTexture<\/h1>\n<p>SurfaceTexture \ud074\ub798\uc2a4\ub294 Android 3.0\uc5d0 \ub3c4\uc785\ub418\uc5c8\uc2b5\ub2c8\ub2e4. SurfaceView\uac00 Surface\uc640 View\uc758 \uc870\ud569 \uc778 \uac83\ucc98\ub7fc SurfaceTexture\ub294 \ub300\ub7b5\uc801\uc73c\ub85c \ub530\uc9c0\uc790\uba74 Surface\uc640 GLES \ud14d\uc2a4\ucc98\uc758 \uc870\ud569\uc785\ub2c8\ub2e4.<\/p>\n<p>SurfaceTexture\ub97c \ub9cc\ub4e4 \ub54c BufferQueue\ub97c \uc0dd\uc131\ud558\uac8c\ub429\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \ubc84\ud37c\uac00 \ud050\uc5d0 \uc800\uc7a5\ub418\uba74 \uc571\uc740 \ucf5c\ubc31 (onFrameAvailable ())\uc744 \ud1b5\ud574 \ucf5c\ubc31\uc744 \ubc1b\uc2b5\ub2c8\ub2e4. \uc774\ub54c updateTexImage()\ub97c \ud638\ucd9c\ud558\uac8c\ub418\ub294\ub370, \uc774 \ubc84\ud37c\ub294 \uc774\uc804\uc5d0 \ubcf4\uc720\ud55c \ubc84\ud37c\ub97c \ub9b4\ub9ac\uc988\ud558\uace0 \ub300\uae30\uc5f4\uc5d0\uc11c \uc0c8 \ubc84\ud37c\ub97c \uac00\uc838 \uc624\uba70 \uc77c\ubd80 EGL \ud638\ucd9c\uc744 \ub9cc\ub4e4\uc5b4 \ubc84\ud37c\ub97c GLES\uc5d0\uc11c \uc678\ubd80 \ud14d\uc2a4\ucc98\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d\ud569\ub2c8\ub2e4.<\/p>\n<h1>External Texture<\/h1>\n<p>\uc678\ubd80 \ud14d\uc2a4\ucc98 (GL_TEXTURE_EXTERNAL_OES)\ub294 GLES (GL_TEXTURE_2D)\uc5d0\uc11c \ub9cc\ub4e0 \ud14d\uc2a4\ucc98\uc640 \uc644\uc804\ud788 \ub2e4\ub985\ub2c8\ub2e4. \ub80c\ub354\ub7ec\ub97c \uc870\uae08 \ub2e4\ub974\uac8c \uad6c\uc131\ud574\uc57c\ud558\uba70, \uc218\ud589 \ud560 \uc218 \uc5c6\ub294 \uc791\uc5c5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc694\uc810\uc740 BufferQueue\uac00\ubc1b\uc740 \ub370\uc774\ud130\uc5d0\uc11c \uc9c1\uc811 \ud3f4\ub9ac\uace4\uc744 \ub80c\ub354\ub9c1 \ud560 \uc218 \uc788\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. gralloc\uc740 \ub2e4\uc591\ud55c \ud3ec\ub9f7\uc744 \uc9c0\uc6d0\ud558\ub294\ub370, \ubc84\ud37c\uc5d0\uc788\ub294 \ub370\uc774\ud130\uc758 \ud615\uc2dd\uc774 GLES\uac00 \uc778\uc2dd \ud560 \uc218 \uc788\ub294\uac83\uc744 \ubcf4\uc7a5\ud574\uc57c\ud569\ub2c8\ub2e4. \uadf8\ub807\uac8c\ud558\uae30 \uc704\ud574 SurfaceTexture\uac00 BufferQueue\ub97c \uc0dd\uc131 \ud560 \ub54c \uc18c\ube44\uc790 \uc0ac\uc6a9 \ud50c\ub798\uadf8\ub97c GRALLOC_USAGE_HW_TEXTURE\ub85c \uc124\uc815\ud558\uc5ec gralloc\ub85c \ub9cc\ub4e0 \ubc84\ud37c\ub97c GLES\uac00 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d\ud569\ub2c8\ub2e4.<\/p>\n<p>SurfaceTexture\ub294 EGL \ucee8\ud14d\uc2a4\ud2b8\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0 \ud074\ub798\uc2a4 \ubb38\uc11c\uc5d0 \uc124\uba85 \ub41c\ub300\ub85c \uc62c\ubc14\ub978 \uc2a4\ub808\ub4dc\uc5d0\uc11c \ud574\ub2f9 \uba54\uc11c\ub4dc\ub97c \ud638\ucd9c\ud574\uc57c\ud569\ub2c8\ub2e4.<\/p>\n<h2>SurfaceTexture \uc640 Surface<\/h2>\n<p>API\ub97c \uc0b4\ud3b4\ubcf4\uba74 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 Surface\ub97c \uc0dd\uc131\ud558\ub294 \uc720\uc77c\ud55c \ubc29\ubc95\uc740 SurfaceTexture\ub97c \uc778\uc790\ub85c \ud558\ub294 \uc0dd\uc131\uc790\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. (API 11 \uc774\uc804\uc5d0\ub294 Surface\uc5d0 \ub300\ud55c public \uc0dd\uc131\uc790\uac00 \uc804\ud600 \uc5c6\uc5c8\uc2b5\ub2c8\ub2e4.) SurfaceTexture\ub97c Surface\uc640 \ud14d\uc2a4\ucc98\uc758 \uc870\ud569\uc73c\ub85c \ubcf4\ub294 \uacbd\uc6b0 \uc57d\uac04 \ub4a4\ub85c \ubcf4\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubc18\uba74 SurfaceTexture\ub294 GLConsumer\ub77c\uace0 \ubd88\ub9ac\uba70, \uc774\ub294 BufferQueue\uc758 \uc18c\uc720\uc790\uc774\uc790 Consumer \uc5ed\ud560\uc744\ubcf4\ub2e4 \uc815\ud655\ud788 \ubc18\uc601\ud569\ub2c8\ub2e4. SurfaceTexture\uc5d0\uc11c Surface\ub97c \ub9cc\ub4e4 \ub54c, SurfaceTexture\uc758 BufferQueue\uc758 Producer \uce21\uc744 \ub098\ud0c0\ub0b4\ub294 \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SurfaceTexture SurfaceTexture \ud074\ub798\uc2a4\ub294 Android 3.0\uc5d0 \ub3c4\uc785\ub418\uc5c8\uc2b5\ub2c8\ub2e4. SurfaceView\uac00 Surface\uc640 View\uc758 \uc870\ud569 \uc778 \uac83\ucc98\ub7fc SurfaceTexture\ub294 \ub300\ub7b5\uc801\uc73c\ub85c \ub530\uc9c0\uc790\uba74 Surface\uc640 GLES \ud14d\uc2a4\ucc98\uc758 \uc870\ud569\uc785\ub2c8\ub2e4. SurfaceTexture\ub97c \ub9cc\ub4e4 \ub54c BufferQueue\ub97c \uc0dd\uc131\ud558\uac8c\ub429\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \ubc84\ud37c\uac00 \ud050\uc5d0 \uc800\uc7a5\ub418\uba74 \uc571\uc740 \ucf5c\ubc31 (onFrameAvailable ())\uc744 \ud1b5\ud574 \ucf5c\ubc31\uc744 \ubc1b\uc2b5\ub2c8\ub2e4. \uc774\ub54c updateTexImage()\ub97c \ud638\ucd9c\ud558\uac8c\ub418\ub294\ub370, \uc774 \ubc84\ud37c\ub294 \uc774\uc804\uc5d0 \ubcf4\uc720\ud55c \ubc84\ud37c\ub97c \ub9b4\ub9ac\uc988\ud558\uace0 \ub300\uae30\uc5f4\uc5d0\uc11c \uc0c8 \ubc84\ud37c\ub97c \uac00\uc838 \uc624\uba70 \uc77c\ubd80 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[24],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/1024"}],"collection":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1024"}],"version-history":[{"count":1,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/1024\/revisions"}],"predecessor-version":[{"id":1028,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/1024\/revisions\/1028"}],"wp:attachment":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}