Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
d1a15703
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
大约 1 年 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d1a15703
编写于
9月 24, 2021
作者:
S
sharpshooter_t
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add media test Signed-off-by: sharpshooter_t <taojun13@huawei.com>
Signed-off-by:
N
sharpshooter_t
<
taojun13@huawei.com
>
上级
b7ddc106
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
120 addition
and
18 deletion
+120
-18
multimedia/media/media_cpp_test_standard/player/include/TestPlayer.h
...media/media_cpp_test_standard/player/include/TestPlayer.h
+120
-0
multimedia/media/media_cpp_test_standard/player/include/common.h
...dia/media/media_cpp_test_standard/player/include/common.h
+0
-18
未找到文件。
multimedia/media/media_cpp_test_standard/player/include/TestPlayer.h
0 → 100644
浏览文件 @
d1a15703
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef PLAYER_TEST_H
#define PLAYER_TEST_H
#include "securec.h"
#include "TestParamsConfig.h"
#include "window_manager.h"
#include "surface_type.h"
#include "display_type.h"
namespace
OHOS
{
namespace
Media
{
static
const
std
::
string
SURFACE_STRIDE_ALIGNMENT
=
"SURFACE_STRIDE_ALIGNMENT"
;
static
const
std
::
string
SURFACE_FORMAT
=
"SURFACE_FORMAT"
;
static
WindowConfig
g_config
=
{
1920
,
1080
,
PIXEL_FMT_RGBA_8888
,
0
,
0
,
WINDOW_TYPE_NORMAL
};
static
WindowConfig
g_sub_config
=
{
720
,
480
,
PIXEL_FMT_YCRCB_420_SP
,
0
,
0
,
WINDOW_TYPE_VIDEO
,
};
class
PlayerSignal
{
public:
PlayerStates
state_
=
PLAYER_IDLE
;
int32_t
seekPositon_
;
bool
seekDoneFlag_
;
bool
mutexFlag_
=
true
;
std
::
mutex
mutexSeek_
;
std
::
mutex
mutexReset_
;
std
::
mutex
mutexPrepare_
;
std
::
mutex
mutexPlay_
;
std
::
mutex
mutexPause_
;
std
::
mutex
mutexStop_
;
std
::
condition_variable
condVarSeek_
;
std
::
condition_variable
condVarReset_
;
std
::
condition_variable
condVarPrepare_
;
std
::
condition_variable
condVarPlay_
;
std
::
condition_variable
condVarPause_
;
std
::
condition_variable
condVarStop_
;
void
SetState
(
PlayerStates
state
);
void
SetSeekResult
(
bool
seekDoneFlag
);
};
class
TestPlayer
{
public:
std
::
shared_ptr
<
Player
>
player_
=
nullptr
;
sptr
<
Window
>
window_
=
nullptr
;
explicit
TestPlayer
(
std
::
shared_ptr
<
PlayerSignal
>
test
);
virtual
~
TestPlayer
();
bool
CreatePlayer
();
int32_t
SetSource
(
const
std
::
string
&
uri
);
int32_t
SetDataSrc
(
const
std
::
string
&
uri
,
bool
seekable
);
int32_t
Play
();
int32_t
Prepare
();
int32_t
PrepareAsync
();
int32_t
Pause
();
int32_t
Stop
();
int32_t
Reset
();
int32_t
Release
();
int32_t
SetVolume
(
float
leftVolume
,
float
rightVolume
);
int32_t
Seek
(
int32_t
mseconds
,
PlayerSeekMode
mode
);
int32_t
GetCurrentTime
(
int32_t
&
currentTime
);
int32_t
GetDuration
(
int32_t
&
duration
);
int32_t
SetPlaybackSpeed
(
PlaybackRateMode
mode
);
int32_t
GetPlaybackSpeed
(
PlaybackRateMode
&
mode
);
sptr
<
Surface
>
GetVideoSurface
(
WindowConfig
g_sub_config
);
int32_t
SetVideoSurface
(
sptr
<
Surface
>
surface
);
bool
IsPlaying
();
bool
IsLooping
();
int32_t
SetLooping
(
bool
loop
);
int32_t
SetPlayerCallback
(
const
std
::
shared_ptr
<
PlayerCallback
>
&
callback
);
private:
std
::
shared_ptr
<
PlayerSignal
>
test_
;
};
class
TestPlayerCallback
:
public
PlayerCallback
{
public:
int
errorNum_
=
0
;
PlayerStates
state_
=
PLAYER_STATE_ERROR
;
explicit
TestPlayerCallback
(
std
::
shared_ptr
<
PlayerSignal
>
test
);
virtual
~
TestPlayerCallback
();
void
OnError
(
PlayerErrorType
errorType
,
int32_t
errorCode
);
int
WaitForSeekDone
(
int32_t
currentPositon
);
void
OnInfo
(
PlayerOnInfoType
type
,
int32_t
extra
,
const
Format
&
infoBody
=
{});
int
WaitForState
(
PlayerStates
state
);
private:
void
PrintState
(
PlayerStates
state
);
PlayerErrorType
errorType_
=
PLAYER_ERROR_UNKNOWN
;
int32_t
errorCode_
=
-
1
;
bool
seekDoneFlag_
=
false
;
int32_t
postion_
=
0
;
std
::
shared_ptr
<
PlayerSignal
>
test_
;
};
}
}
#endif
\ No newline at end of file
multimedia/media/media_cpp_test_standard/player/include/common.h
已删除
100755 → 0
浏览文件 @
b7ddc106
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef DISABLE_COMMON_TEST_H
#define DISABLE_COMMON_TEST_H
#endif
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录