Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
bca7c391
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看板
提交
bca7c391
编写于
12月 01, 2021
作者:
O
openharmony_ci
提交者:
Gitee
12月 01, 2021
浏览文件
操作
浏览文件
下载
差异文件
!1247 media test case 同步刷新
Merge pull request !1247 from NOBUGGERS/nobuggers-master-patch-98871
上级
3bbf927e
0b919eed
变更
11
展开全部
隐藏空白更改
内联
并排
Showing
11 changed file
with
807 addition
and
1908 deletion
+807
-1908
multimedia/media/media_cpp_test_standard/include/mediatest_log.h
...dia/media/media_cpp_test_standard/include/mediatest_log.h
+12
-9
multimedia/media/media_cpp_test_standard/player/include/ActsPlayerAPITest.h
...edia_cpp_test_standard/player/include/ActsPlayerAPITest.h
+1
-0
multimedia/media/media_cpp_test_standard/player/include/ActsPlayerFuncTest.h
...dia_cpp_test_standard/player/include/ActsPlayerFuncTest.h
+6
-1
multimedia/media/media_cpp_test_standard/player/include/TestParamsConfig.h
...media_cpp_test_standard/player/include/TestParamsConfig.h
+2
-1
multimedia/media/media_cpp_test_standard/player/include/TestPlayer.h
...media/media_cpp_test_standard/player/include/TestPlayer.h
+4
-2
multimedia/media/media_cpp_test_standard/player/src/TestParamsConfig.cpp
...a/media_cpp_test_standard/player/src/TestParamsConfig.cpp
+23
-8
multimedia/media/media_cpp_test_standard/player/src/TestPlayer.cpp
...a/media/media_cpp_test_standard/player/src/TestPlayer.cpp
+18
-11
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerFuncAsyncTest.cpp
..._standard/player/src/function/ActsPlayerFuncAsyncTest.cpp
+177
-471
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerFuncTest.cpp
..._test_standard/player/src/function/ActsPlayerFuncTest.cpp
+190
-473
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerStateAsyncTest.cpp
...standard/player/src/function/ActsPlayerStateAsyncTest.cpp
+187
-467
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerStateTest.cpp
...test_standard/player/src/function/ActsPlayerStateTest.cpp
+187
-465
未找到文件。
multimedia/media/media_cpp_test_standard/include/mediatest_log.h
浏览文件 @
bca7c391
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
...
...
@@ -14,14 +13,17 @@
* limitations under the License.
*/
#ifndef MEDIA_TEST_LOG_H
#define MEDIA_TEST_LOG_H
#include "media_log.h"
#include "securec.h"
#define LOG
MAX
SIZE 200
#define LOG
_MAX_
SIZE 200
#define MEDIA_INFO_LOG(fmt, ...) \
do
{
\
char
ch
[
LOG
MAX
SIZE
];
\
(
void
)
sprintf_s
(
ch
,
LOG
MAX
SIZE
,
fmt
,
##
__VA_ARGS__
);
\
char
ch
[
LOG
_MAX_
SIZE
];
\
(
void
)
sprintf_s
(
ch
,
LOG
_MAX_
SIZE
,
fmt
,
##
__VA_ARGS__
);
\
(
void
)
printf
(
"%s"
,
ch
);
\
(
void
)
printf
(
"
\n
"
);
\
__MEDIA_LOG
(
::
OHOS
::
HiviewDFX
::
HiLog
::
Info
,
"%{public}s"
,
ch
);
\
...
...
@@ -29,15 +31,15 @@ do { \
#define MEDIA_DEBUG_LOG(fmt, ...) \
do
{
\
char
ch
[
LOG
MAX
SIZE
];
\
(
void
)
sprintf_s
(
ch
,
LOG
MAX
SIZE
,
fmt
,
##
__VA_ARGS__
);
\
char
ch
[
LOG
_MAX_
SIZE
];
\
(
void
)
sprintf_s
(
ch
,
LOG
_MAX_
SIZE
,
fmt
,
##
__VA_ARGS__
);
\
__MEDIA_LOG
(
::
OHOS
::
HiviewDFX
::
HiLog
::
Debug
,
"%{public}s"
,
ch
);
\
}
while
(
0
)
#define MEDIA_ERROR_LOG(fmt, ...) \
do
{
\
char
ch
[
LOG
MAX
SIZE
];
\
(
void
)
sprintf_s
(
ch
,
LOG
MAX
SIZE
,
fmt
,
##
__VA_ARGS__
);
\
char
ch
[
LOG
_MAX_
SIZE
];
\
(
void
)
sprintf_s
(
ch
,
LOG
_MAX_
SIZE
,
fmt
,
##
__VA_ARGS__
);
\
(
void
)
printf
(
"%s"
,
ch
);
\
(
void
)
printf
(
"
\n
"
);
\
__MEDIA_LOG
(
::
OHOS
::
HiviewDFX
::
HiLog
::
Error
,
"%{public}s"
,
ch
);
\
...
...
@@ -55,4 +57,5 @@ namespace MediaTest {
const
int
THIRD_ARG
=
3
;
const
int
HEIGHT
=
720
;
const
int
WIDTH
=
1280
;
}
\ No newline at end of file
}
#endif
multimedia/media/media_cpp_test_standard/player/include/ActsPlayerAPITest.h
浏览文件 @
bca7c391
...
...
@@ -25,6 +25,7 @@ public:
static
void
SetUpTestCase
(
void
)
{
MEDIA_DEBUG_LOG
(
"ActsPlayerAPITest::SetUpTestCase"
);
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
InitMountPath
();
};
// TearDownTestCase: after all testcases
static
void
TearDownTestCase
(
void
)
...
...
multimedia/media/media_cpp_test_standard/player/include/ActsPlayerFuncTest.h
浏览文件 @
bca7c391
...
...
@@ -25,7 +25,7 @@ public:
static
void
SetUpTestCase
(
void
)
{
MEDIA_DEBUG_LOG
(
"ActsPlayerFuncTest::SetUpTestCase"
);
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
Init
PlayProtocol
();
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
Init
MountPath
();
};
// TearDownTestCase: after all testcases
static
void
TearDownTestCase
(
void
)
...
...
@@ -35,6 +35,7 @@ public:
// SetUp
void
SetUp
(
void
)
{
uri_
=
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
GetUri
();
const
::
testing
::
TestInfo
*
const
testInfo
=
::
testing
::
UnitTest
::
GetInstance
()
->
current_test_info
();
MEDIA_DEBUG_LOG
(
"ActsPlayerFuncTest::SetUp:%s"
,
testInfo
->
name
());
};
...
...
@@ -45,6 +46,10 @@ public:
MEDIA_DEBUG_LOG
(
"ActsPlayerFuncTest::TearDown:%s"
,
testInfo
->
name
());
};
static
void
LocalPlayFunc
(
const
std
::
string
uri
,
bool
isAsync
,
WindowConfig
config
=
g_sub_config
);
void
PreparePlayEnv
(
std
::
shared_ptr
<
TestPlayer
>
&
player
);
std
::
string
uri_
=
""
;
std
::
shared_ptr
<
TestPlayerCallback
>
testCallback_
;
std
::
shared_ptr
<
PlayerSignal
>
testObj_
;
};
}
}
...
...
multimedia/media/media_cpp_test_standard/player/include/TestParamsConfig.h
浏览文件 @
bca7c391
...
...
@@ -37,6 +37,7 @@ namespace {
namespace
TestPlayerBasic
{
class
TestParamsConfig
{
public:
DISALLOW_COPY_AND_MOVE
(
TestParamsConfig
);
static
TestParamsConfig
&
GetInstance
()
{
static
TestParamsConfig
config
;
...
...
@@ -54,7 +55,7 @@ public:
}
bool
CompareTime
(
int32_t
expectTime
,
int32_t
realTme
,
OHOS
::
Media
::
PlayerSeekMode
seekMode
);
std
::
string
GetUri
();
void
Init
PlayProtocol
();
void
Init
MountPath
();
private:
TestParamsConfig
();
...
...
multimedia/media/media_cpp_test_standard/player/include/TestPlayer.h
浏览文件 @
bca7c391
...
...
@@ -46,7 +46,7 @@ static WindowConfig g_sub_config = {
class
PlayerSignal
{
public:
PlayerStates
state_
=
PLAYER_IDLE
;
int32_t
seekPositon_
;
int32_t
seekPosit
i
on_
;
bool
seekDoneFlag_
;
bool
mutexFlag_
=
true
;
std
::
mutex
mutexSeek_
;
...
...
@@ -71,6 +71,7 @@ public:
sptr
<
Window
>
window_
=
nullptr
;
explicit
TestPlayer
(
std
::
shared_ptr
<
PlayerSignal
>
test
);
virtual
~
TestPlayer
();
DISALLOW_COPY_AND_MOVE
(
TestPlayer
);
bool
CreatePlayer
();
int32_t
SetSource
(
const
std
::
string
&
uri
);
int32_t
SetDataSrc
(
const
std
::
string
&
uri
,
bool
seekable
);
...
...
@@ -102,8 +103,9 @@ public:
PlayerStates
state_
=
PLAYER_STATE_ERROR
;
explicit
TestPlayerCallback
(
std
::
shared_ptr
<
PlayerSignal
>
test
);
virtual
~
TestPlayerCallback
();
DISALLOW_COPY_AND_MOVE
(
TestPlayerCallback
);
void
OnError
(
PlayerErrorType
errorType
,
int32_t
errorCode
);
int
WaitForSeekDone
(
int32_t
currentPositon
);
int
WaitForSeekDone
(
int32_t
currentPosit
i
on
);
void
OnInfo
(
PlayerOnInfoType
type
,
int32_t
extra
,
const
Format
&
infoBody
=
{});
int
WaitForState
(
PlayerStates
state
);
private:
...
...
multimedia/media/media_cpp_test_standard/player/src/TestParamsConfig.cpp
浏览文件 @
bca7c391
...
...
@@ -35,28 +35,43 @@ std::string TestParamsConfig::GetUri()
MEDIA_INFO_LOG
(
"PATH : %s"
,
path
);
return
path
;
}
void
TestParamsConfig
::
Init
PlayProtocol
()
void
TestParamsConfig
::
Init
MountPath
()
{
MEDIA_INFO_LOG
(
"%s"
,
__FUNCTION__
);
char
protocol
[
PARA_MAX_LEN
]
=
"loca
l"
;
GetParameter
(
"sys.media.test.
play.protocol"
,
"local"
,
&
protocol
[
0
],
PARA_MAX_LEN
);
if
(
strcmp
(
protocol
,
"local"
)
=
=
0
)
{
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
SetMountPath
(
"file://data/media/"
);
MEDIA_INFO_LOG
(
"MOUNT_PATH %s"
,
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
GetMountPath
().
c_str
()
);
char
mountPath
[
PARA_MAX_LEN
]
=
"nul
l"
;
GetParameter
(
"sys.media.test.
mount.path"
,
"null"
,
&
mountPath
[
0
],
PARA_MAX_LEN
);
if
(
strcmp
(
mountPath
,
"null"
)
!
=
0
)
{
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
SetMountPath
(
mountPath
);
}
else
{
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
SetMountPath
(
"file:///data/media/"
);
}
MEDIA_INFO_LOG
(
"MOUNT_PATH %s"
,
TestPlayerBasic
::
TestParamsConfig
::
GetInstance
().
GetMountPath
().
c_str
());
}
bool
TestParamsConfig
::
CompareTime
(
int32_t
expectTime
,
int32_t
realTime
,
OHOS
::
Media
::
PlayerSeekMode
seekMode
)
{
MEDIA_INFO_LOG
(
"CompareTime: expectTime %d, realTime %d"
,
expectTime
,
realTime
);
if
(
seekMode
==
OHOS
::
Media
::
PlayerSeekMode
::
SEEK_CLOSEST
)
{
if
(
seekMode
==
PlayerSeekMode
::
SEEK_CLOSEST
)
{
if
(
std
::
abs
(
expectTime
-
realTime
)
<
CLOSEST_DELTA_TIME
)
{
return
true
;
}
else
{
return
false
;
}
}
if
(
seekMode
==
PlayerSeekMode
::
SEEK_NEXT_SYNC
)
{
if
(
realTime
-
expectTime
<
DELTA_TIME
&&
realTime
-
expectTime
>=
0
)
{
return
true
;
}
else
{
return
false
;
}
}
if
(
seekMode
==
PlayerSeekMode
::
SEEK_PREVIOUS_SYNC
)
{
if
(
expectTime
-
realTime
<
DELTA_TIME
&&
expectTime
-
realTime
>
-
CLOSEST_DELTA_TIME
)
{
return
true
;
}
else
{
return
false
;
}
}
if
(
std
::
abs
(
expectTime
-
realTime
)
<
DELTA_TIME
)
{
return
true
;
}
...
...
multimedia/media/media_cpp_test_standard/player/src/TestPlayer.cpp
浏览文件 @
bca7c391
...
...
@@ -146,7 +146,7 @@ int32_t TestPlayer::Seek(int32_t mseconds, PlayerSeekMode mode)
{
MEDIA_DEBUG_LOG
(
"%s"
,
__FUNCTION__
);
test_
->
seekDoneFlag_
=
false
;
test_
->
seekPositon_
=
mseconds
;
test_
->
seekPosit
i
on_
=
mseconds
;
int32_t
ret
=
player_
->
Seek
(
mseconds
,
mode
);
if
(
ret
==
RET_OK
&&
test_
->
mutexFlag_
==
true
&&
test_
->
seekDoneFlag_
==
false
)
{
std
::
unique_lock
<
std
::
mutex
>
lockSeek
(
test_
->
mutexSeek_
);
...
...
@@ -274,8 +274,8 @@ void TestPlayerCallback::OnInfo(PlayerOnInfoType type, int32_t extra, const Form
case
INFO_TYPE_SEEKDONE
:
seekDoneFlag_
=
true
;
test_
->
SetSeekResult
(
true
);
MEDIA_INFO_LOG
(
"TestPlayerCallback: OnSeekDone currentPositon is %d"
,
extra
);
if
(
abs
(
test_
->
seekPositon_
-
extra
)
<=
DELTA_TIME
)
{
MEDIA_INFO_LOG
(
"TestPlayerCallback: OnSeekDone currentPosit
i
on is %d"
,
extra
);
if
(
abs
(
test_
->
seekPosit
i
on_
-
extra
)
<=
DELTA_TIME
)
{
test_
->
condVarSeek_
.
notify_all
();
}
else
{
test_
->
SetSeekResult
(
false
);
...
...
@@ -299,17 +299,20 @@ void TestPlayerCallback::OnInfo(PlayerOnInfoType type, int32_t extra, const Form
}
}
int
TestPlayerCallback
::
WaitForSeekDone
(
int32_t
currentPositon
)
int
TestPlayerCallback
::
WaitForSeekDone
(
int32_t
currentPosit
i
on
)
{
int64_t
waitTime
=
0
;
auto
start
=
std
::
chrono
::
system_clock
::
now
();
auto
end
=
std
::
chrono
::
system_clock
::
now
();
uint64_t
waitTime
=
std
::
chrono
::
duration_cast
<
std
::
chrono
::
milliseconds
>
(
end
-
start
).
count
();
seekDoneFlag_
=
false
;
while
(
seekDoneFlag_
!=
true
&&
waitTime
<
WAITSECOND
*
TIME_SEC2MS
)
{
(
void
)
usleep
(
WAIT_TIME
);
waitTime
+=
1
;
end
=
std
::
chrono
::
system_clock
::
now
();
waitTime
=
std
::
chrono
::
duration_cast
<
std
::
chrono
::
milliseconds
>
(
end
-
start
).
count
();
}
seekDoneFlag_
=
false
;
if
(
waitTime
>=
WAITSECOND
*
TIME_SEC2MS
)
{
MEDIA_ERROR_LOG
(
"Failed to seek [%d]
s "
,
currentPosit
on
);
MEDIA_ERROR_LOG
(
"Failed to seek [%d]
ms "
,
currentPositi
on
);
return
-
1
;
}
return
0
;
...
...
@@ -317,12 +320,16 @@ int TestPlayerCallback::WaitForSeekDone(int32_t currentPositon)
int
TestPlayerCallback
::
WaitForState
(
PlayerStates
state
)
{
int64_t
waitTime
=
0
;
while
(
state_
!=
state
&&
waitTime
<
WAITSECOND
*
TIME_SEC2MS
)
{
auto
start
=
std
::
chrono
::
system_clock
::
now
();
auto
end
=
std
::
chrono
::
system_clock
::
now
();
uint64_t
waitTime
=
std
::
chrono
::
duration_cast
<
std
::
chrono
::
milliseconds
>
(
end
-
start
).
count
();
const
uint64_t
waitTimeMax
=
4000
;
while
(
state_
!=
state
&&
waitTime
<
waitTimeMax
)
{
(
void
)
usleep
(
WAIT_TIME
);
waitTime
+=
1
;
end
=
std
::
chrono
::
system_clock
::
now
();
waitTime
=
std
::
chrono
::
duration_cast
<
std
::
chrono
::
milliseconds
>
(
end
-
start
).
count
();
}
if
(
waitTime
>=
WAITSECOND
*
TIME_SEC2MS
)
{
if
(
waitTime
>=
waitTimeMax
)
{
MEDIA_ERROR_LOG
(
"Failed to wait for state[%d] down"
,
state
);
return
-
1
;
}
...
...
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerFuncAsyncTest.cpp
浏览文件 @
bca7c391
此差异已折叠。
点击以展开。
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerFuncTest.cpp
浏览文件 @
bca7c391
此差异已折叠。
点击以展开。
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerStateAsyncTest.cpp
浏览文件 @
bca7c391
此差异已折叠。
点击以展开。
multimedia/media/media_cpp_test_standard/player/src/function/ActsPlayerStateTest.cpp
浏览文件 @
bca7c391
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录