Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
aadd0e16
Commit
aadd0e16
authored
Jan 22, 2015
by
Thomas Guillem
Committed by
Jean-Baptiste Kempf
Jan 22, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nativewindowpriv: split setup into setUsage and setBuffersGeometry
Signed-off-by:
Jean-Baptiste Kempf
<
jb@videolan.org
>
parent
18e445ad
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
39 additions
and
21 deletions
+39
-21
modules/codec/omxil/omxil.c
modules/codec/omxil/omxil.c
+12
-8
modules/video_output/android/android_window.c
modules/video_output/android/android_window.c
+7
-4
modules/video_output/android/nativewindowpriv.c
modules/video_output/android/nativewindowpriv.c
+11
-3
modules/video_output/android/utils.c
modules/video_output/android/utils.c
+5
-4
modules/video_output/android/utils.h
modules/video_output/android/utils.h
+4
-2
No files found.
modules/codec/omxil/omxil.c
View file @
aadd0e16
...
...
@@ -2215,14 +2215,18 @@ static int HwBuffer_AllocateBuffers( decoder_t *p_dec, OmxPort *p_port )
i_angle
);
}
if
(
p_port
->
p_hwbuf
->
anwpriv
.
setup
(
p_port
->
p_hwbuf
->
window_priv
,
def
->
format
.
video
.
nFrameWidth
,
def
->
format
.
video
.
nFrameHeight
,
colorFormat
,
true
,
(
int
)
i_hw_usage
)
!=
0
)
{
msg_Err
(
p_dec
,
"can't setup OMXHWBuffer"
);
if
(
p_port
->
p_hwbuf
->
anwpriv
.
setUsage
(
p_port
->
p_hwbuf
->
window_priv
,
true
,
(
int
)
i_hw_usage
)
!=
0
)
{
msg_Err
(
p_dec
,
"can't set usage"
);
goto
error
;
}
if
(
p_port
->
p_hwbuf
->
anwpriv
.
setBuffersGeometry
(
p_port
->
p_hwbuf
->
window_priv
,
def
->
format
.
video
.
nFrameWidth
,
def
->
format
.
video
.
nFrameHeight
,
colorFormat
)
!=
0
)
{
msg_Err
(
p_dec
,
"can't set buffers geometry"
);
goto
error
;
}
...
...
modules/video_output/android/android_window.c
View file @
aadd0e16
...
...
@@ -384,10 +384,13 @@ static int AndroidWindow_SetupANWP(vout_display_sys_t *sys,
if
(
!
p_window
->
p_handle_priv
)
goto
error
;
if
(
sys
->
anwp
.
setup
(
p_window
->
p_handle_priv
,
p_window
->
fmt
.
i_width
,
p_window
->
fmt
.
i_height
,
p_window
->
i_android_hal
,
false
,
0
)
!=
0
)
if
(
sys
->
anwp
.
setUsage
(
p_window
->
p_handle_priv
,
false
,
0
)
!=
0
)
goto
error
;
if
(
sys
->
anwp
.
setBuffersGeometry
(
p_window
->
p_handle_priv
,
p_window
->
fmt
.
i_width
,
p_window
->
fmt
.
i_height
,
p_window
->
i_android_hal
)
!=
0
)
goto
error
;
sys
->
anwp
.
getMinUndequeued
(
p_window
->
p_handle_priv
,
...
...
modules/video_output/android/nativewindowpriv.c
View file @
aadd0e16
...
...
@@ -144,12 +144,11 @@ int ANativeWindowPriv_disconnect( native_window_priv *priv )
return
0
;
}
int
ANativeWindowPriv_set
up
(
native_window_priv
*
priv
,
int
w
,
int
h
,
int
hal_format
,
bool
is_hw
,
int
hw_usage
)
int
ANativeWindowPriv_set
Usage
(
native_window_priv
*
priv
,
bool
is_hw
,
int
hw_usage
)
{
status_t
err
;
LOGD
(
"setup: %p, %d, %d, %X, %X
\n
"
,
priv
->
anw
,
w
,
h
,
hal_format
,
hw_usage
);
LOGD
(
"setUsage: %p, %d %X
\n
"
,
priv
->
anw
,
is_hw
,
hw_usage
);
if
(
is_hw
)
{
...
...
@@ -164,6 +163,15 @@ int ANativeWindowPriv_setup( native_window_priv *priv, int w, int h, int hal_for
err
=
native_window_set_usage
(
priv
->
anw
,
priv
->
usage
);
CHECK_ERR
();
return
0
;
}
int
ANativeWindowPriv_setBuffersGeometry
(
native_window_priv
*
priv
,
int
w
,
int
h
,
int
hal_format
)
{
status_t
err
;
LOGD
(
"setBuffersGeometry: %p, %d, %d"
,
priv
->
anw
,
w
,
h
);
#if ANDROID_ICS_OR_LATER
err
=
native_window_set_buffers_format
(
priv
->
anw
,
hal_format
);
CHECK_ERR
();
...
...
modules/video_output/android/utils.c
View file @
aadd0e16
...
...
@@ -57,7 +57,8 @@ int LoadNativeWindowPrivAPI(native_window_priv_api_t *native)
{
native
->
connect
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_connect"
);
native
->
disconnect
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_disconnect"
);
native
->
setup
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_setup"
);
native
->
setUsage
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_setUsage"
);
native
->
setBuffersGeometry
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_setBuffersGeometry"
);
native
->
getMinUndequeued
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_getMinUndequeued"
);
native
->
getMaxBufferCount
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_getMaxBufferCount"
);
native
->
setBufferCount
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_setBufferCount"
);
...
...
@@ -70,9 +71,9 @@ int LoadNativeWindowPrivAPI(native_window_priv_api_t *native)
native
->
cancel
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_cancel"
);
native
->
setOrientation
=
dlsym
(
RTLD_DEFAULT
,
"ANativeWindowPriv_setOrientation"
);
return
native
->
connect
&&
native
->
disconnect
&&
native
->
set
up
&&
native
->
getMinUndequeued
&&
native
->
getMaxBufferCount
&&
native
->
setBufferCount
&&
native
->
setCrop
&&
return
native
->
connect
&&
native
->
disconnect
&&
native
->
set
Usage
&&
native
->
setBuffersGeometry
&&
native
->
getMinUndequeued
&&
native
->
getMaxBufferCount
&&
native
->
setBufferCount
&&
native
->
setCrop
&&
native
->
dequeue
&&
native
->
lock
&&
native
->
lockData
&&
native
->
unlockData
&&
native
->
queue
&&
native
->
cancel
&&
native
->
setOrientation
?
0
:
-
1
;
}
...
...
modules/video_output/android/utils.h
View file @
aadd0e16
...
...
@@ -73,7 +73,8 @@ static inline int ChromaToAndroidHal(vlc_fourcc_t i_chroma)
typedef
struct
native_window_priv
native_window_priv
;
typedef
native_window_priv
*
(
*
ptr_ANativeWindowPriv_connect
)
(
void
*
);
typedef
int
(
*
ptr_ANativeWindowPriv_disconnect
)
(
native_window_priv
*
);
typedef
int
(
*
ptr_ANativeWindowPriv_setup
)
(
native_window_priv
*
,
int
,
int
,
int
,
bool
,
int
);
typedef
int
(
*
ptr_ANativeWindowPriv_setUsage
)
(
native_window_priv
*
,
bool
,
int
);
typedef
int
(
*
ptr_ANativeWindowPriv_setBuffersGeometry
)
(
native_window_priv
*
,
int
,
int
,
int
);
typedef
int
(
*
ptr_ANativeWindowPriv_getMinUndequeued
)
(
native_window_priv
*
,
unsigned
int
*
);
typedef
int
(
*
ptr_ANativeWindowPriv_getMaxBufferCount
)
(
native_window_priv
*
,
unsigned
int
*
);
typedef
int
(
*
ptr_ANativeWindowPriv_setBufferCount
)
(
native_window_priv
*
,
unsigned
int
);
...
...
@@ -90,7 +91,8 @@ typedef struct
{
ptr_ANativeWindowPriv_connect
connect
;
ptr_ANativeWindowPriv_disconnect
disconnect
;
ptr_ANativeWindowPriv_setup
setup
;
ptr_ANativeWindowPriv_setUsage
setUsage
;
ptr_ANativeWindowPriv_setBuffersGeometry
setBuffersGeometry
;
ptr_ANativeWindowPriv_getMinUndequeued
getMinUndequeued
;
ptr_ANativeWindowPriv_getMaxBufferCount
getMaxBufferCount
;
ptr_ANativeWindowPriv_setBufferCount
setBufferCount
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment