未验证 提交 9f29dda0 编写于 作者: O openharmony_ci 提交者: Gitee

!5493 修复使用xDevice执行ndk编解码测试套时第一个用例blocked的问题

Merge pull request !5493 from ling990/OpenHarmony-3.2-Beta3
......@@ -39,6 +39,7 @@ group("multimedia") {
"image/image_js_standard/imageWebp:image_webp_js_hap",
"image/image_js_standard/imageYUV:image_yuv_js_hap",
"image/image_js_standard/image_ndk_test:image_pixelmap_ndk_hap",
"media/media_cpp_standard:ActsAvcodecNdkTest",
"media/media_js_standard/audioPlayer:audio_player_js_hap",
"media/media_js_standard/audioRecorder:audio_recorder_js_hap",
"media/media_js_standard/recorderFormat:recorder_format_js_hap",
......
......@@ -22,6 +22,7 @@
"type": "ShellKit",
"run-command": [
"hilog -Q pidoff",
"chmod 777 -R /data/local/tmp",
"chmod 777 -R /data/media",
"chmod 777 /data/media/*"
]
......
/*
* Copyright (C) 2022 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 ACTSAUDIODECODER_NDK_FUNC_TEST_H
#define ACTSAUDIODECODER_NDK_FUNC_TEST_H
#include "gtest/gtest.h"
#include "ADecEncNdkSample.h"
namespace OHOS {
namespace Media {
class ActsAudioDecEncNdkTest : public testing::Test {
public:
// Preset action of the test suite, which is executed before the first test case
static void SetUpTestCase(void)
{
printf("ActsAudioDecEncNdkTest::SetUpTestCase");
}
// Test suite cleanup action, which is executed after the last test case
static void TearDownTestCase(void)
{
printf("ActsAudioDecEncNdkTest::TearDownTestCase");
}
// Preset action of the test case
void SetUp(void)
{
printf("ActsAudioDecEncNdkTest::SetUp");
}
// Cleanup action of the test case
virtual void TearDown(void)
{
printf("ActsAudioDecEncNdkTest::TearDown");
}
};
}
}
#endif // ACTSAUDIODECODER_NDK_FUNC_TEST_H
\ No newline at end of file
......@@ -20,7 +20,7 @@
#include "native_avcodec_audioencoder.h"
#include "native_avcodec_base.h"
#include "native_avformat.h"
#include "ActsAudioDecEncNdkTest.h"
#include "ADecEncNdkSample.h"
using namespace std;
using namespace testing::ext;
......@@ -28,113 +28,74 @@ using namespace OHOS;
using namespace OHOS::Media;
namespace {
uint32_t ES_AAC_48000_32_1[] = {
283, 336, 291, 405, 438, 411, 215, 215, 313, 270, 342, 641, 554, 545, 545, 546,
541, 540, 542, 552, 537, 533, 498, 472, 445, 430, 445, 427, 414, 386, 413, 370, 380,
401, 393, 369, 391, 367, 395, 396, 396, 385, 391, 384, 395, 392, 386, 388, 384, 379,
376, 381, 375, 373, 349, 391, 357, 384, 395, 384, 380, 386, 372, 386, 383, 378, 385,
385, 384, 342, 390, 379, 387, 386, 393, 397, 362, 393, 394, 391, 383, 385, 377, 379,
381, 369, 375, 379, 346, 382, 356, 361, 366, 394, 393, 385, 362, 406, 399, 384, 377,
385, 389, 375, 346, 396, 388, 381, 383, 352, 357, 397, 382, 395, 376, 388, 373, 374,
353, 383, 384, 393, 379, 348, 364, 389, 380, 381, 388, 423, 392, 381, 368, 351, 391,
355, 358, 395, 390, 385, 382, 383, 388, 388, 389, 376, 379, 376, 384, 369, 354, 390,
389, 396, 393, 382, 385, 353, 383, 381, 377, 411, 387, 390, 377, 349, 381, 390, 378,
373, 375, 381, 351, 392, 381, 380, 381, 378, 387, 379, 383, 348, 386, 364, 386, 371,
399, 399, 385, 380, 355, 397, 395, 382, 380, 386, 352, 387, 390, 373, 372, 388, 378,
385, 368, 385, 370, 378, 373, 383, 368, 373, 388, 351, 384, 391, 387, 389, 383, 355,
361, 392, 386, 354, 394, 392, 397, 392, 352, 381, 395, 349, 383, 390, 392, 350, 393,
393, 385, 389, 393, 382, 378, 384, 378, 375, 373, 375, 389, 377, 383, 387, 373, 344,
388, 379, 391, 373, 384, 358, 361, 391, 394, 363, 350, 361, 395, 399, 389, 398, 375,
398, 400, 381, 354, 363, 366, 400, 400, 356, 370, 400, 394, 398, 385, 378, 372, 354,
359, 393, 381, 363, 396, 396, 355, 390, 356, 355, 371, 399, 367, 406, 375, 377, 405,
401, 390, 393, 392, 384, 386, 374, 358, 397, 389, 393, 385, 345, 379, 357, 388, 356,
381, 389, 367, 358, 391, 360, 394, 396, 357, 395, 388, 394, 383, 357, 383, 392, 394,
376, 379, 356, 386, 395, 387, 377, 377, 389, 377, 385, 351, 387, 350, 388, 384, 345,
358, 368, 399, 394, 385, 384, 395, 378, 387, 386, 386, 376, 375, 382, 351, 359, 356,
401, 388, 363, 406, 363, 374, 435, 366, 400, 393, 392, 371, 391, 359, 359, 397, 388,
390, 420, 411, 369, 384, 382, 383, 383, 375, 381, 361, 380, 348, 379, 386, 379, 379,
386, 371, 352, 378, 378, 388, 384, 385, 352, 355, 387, 383, 379, 362, 386, 399, 376,
390, 350, 387, 357, 403, 398, 397, 360, 351, 394, 400, 399, 393, 388, 395, 370, 377,
395, 360, 346, 381, 370, 390, 380, 391, 387, 382, 384, 383, 354, 349, 394, 358, 387,
400, 386, 402, 354, 396, 387, 391, 365, 377, 359, 361, 365, 395, 388, 388, 384, 388,
378, 374, 382, 376, 377, 389, 378, 341, 390, 376, 381, 375, 414, 368, 369, 387, 411,
396, 391, 378, 389, 349, 383, 344, 381, 387, 380, 353, 361, 391, 365, 390, 396, 382,
386, 385, 385, 409, 387, 386, 378, 372, 372, 374, 349, 388, 389, 348, 395, 380, 382,
388, 375, 347, 383, 359, 389, 368, 361, 405, 398, 393, 395, 359, 360, 395, 395, 362,
354, 388, 348, 388, 386, 390, 350, 388, 356, 369, 364, 404, 404, 391, 394, 385, 439,
432, 375, 366, 441, 362, 367, 382, 374, 346, 391, 371, 354, 376, 390, 373, 382, 385,
389, 378, 377, 347, 414, 338, 348, 385, 352, 385, 386, 381, 388, 387, 364, 465, 405,
443, 387, 339, 376, 337, 379, 387, 370, 374, 358, 354, 357, 393, 356, 381, 357, 407,
361, 397, 362, 394, 394, 392, 394, 391, 381, 386, 379, 354, 351, 392, 408, 393, 389,
388, 385, 375, 388, 375, 388, 375, 354, 384, 379, 386, 394, 383, 359, 405, 395, 352,
345, 403, 427, 373, 380, 350, 415, 378, 434, 385, 388, 387, 400, 405, 329, 391, 356,
419, 358, 359, 375, 367, 391, 359, 369, 361, 376, 378, 379, 348, 390, 345, 388, 390,
406, 349, 368, 364, 391, 384, 401, 384, 391, 361, 399, 359, 386, 392, 382, 386, 380,
383, 345, 376, 393, 400, 395, 343, 352, 354, 381, 388, 357, 393, 389, 384, 389, 388,
384, 404, 372, 358, 381, 352, 355, 485, 393, 371, 376, 389, 377, 391, 387, 376, 342,
390, 375, 379, 396, 376, 402, 353, 392, 382, 383, 387, 386, 372, 377, 382, 388, 381,
387, 357, 393, 385, 346, 389, 388, 357, 362, 404, 398, 397, 402, 371, 351, 370, 362,
350, 388, 399, 402, 406, 377, 396, 359, 372, 390, 392, 368, 383, 346, 384, 381, 379,
367, 384, 389, 381, 371, 358, 422, 372, 382, 374, 444, 412, 369, 362, 373, 389, 401,
383, 380, 366, 365, 361, 379, 372, 345, 382, 375, 376, 375, 382, 356, 395, 383, 384,
391, 361, 396, 407, 365, 351, 385, 378, 403, 344, 352, 387, 397, 399, 377, 371, 381,
415, 382, 388, 368, 383, 405, 390, 386, 384, 374, 375, 381, 371, 372, 374, 377, 346,
358, 381, 377, 359, 385, 396, 385, 390, 389, 391, 375, 357, 389, 390, 377, 370, 379,
351, 381, 381, 380, 371, 386, 389, 389, 383, 362, 393, 388, 355, 396, 383, 352, 384,
352, 383, 362, 396, 385, 396, 357, 388, 382, 377, 373, 379, 383, 386, 350, 393, 355,
380, 401, 392, 391, 402, 391, 427, 407, 394, 332, 398, 367, 373, 343, 381, 383, 386,
382, 349, 353, 393, 378, 386, 375, 390, 356, 392, 384, 387, 380, 381, 385, 386, 383,
378, 379, 359, 381, 382, 388, 357, 357, 397, 358, 424, 382, 352, 409, 374, 368, 365,
399, 352, 393, 389, 385, 352, 380, 398, 389, 385, 387, 387, 353, 402, 396, 386, 357,
395, 368, 369, 407, 394, 383, 362, 380, 385, 368, 375, 365, 379, 377, 388};
constexpr uint32_t ES_AAC_48000_32_1_Length = sizeof(ES_AAC_48000_32_1) / sizeof(uint32_t);
const string MIME_TYPE_AAC = "audio/mp4a-latm";
constexpr uint32_t DEFAULT_SAMPLE_RATE = 44100;
constexpr uint32_t DEFAULT_CHANNELS = 2;
const char* READPATH = "/data/media/AAC_48000_32_1.aac";
bool CheckDecDesc(map<string, int> InDesc, OH_AVFormat* OutDesc)
{
int32_t out ;
for (const auto& t: InDesc) {
bool res = OH_AVFormat_GetIntValue(OutDesc, t.first.c_str(), &out);
cout << "key: " << t.first << "; out: " << out <<endl;
if (!res) {
cout << "OH_AVFormat_GetIntValue Fail. key:" << t.first << endl;
return false;
}
if (out != t.second) {
cout << "OH_AVFormat_GetIntValue error. key: " << t.first
<< "; expect: "<< t.second
<< ", actual: "<< out << endl;
return false;
}
out = 0;
class ActsAudioDecEncNdkTest : public testing::Test {
public:
static void SetUpTestCase();
static void TearDownTestCase();
void SetUp() override;
void TearDown() override;
};
void ActsAudioDecEncNdkTest::SetUpTestCase() {}
void ActsAudioDecEncNdkTest::TearDownTestCase() {}
void ActsAudioDecEncNdkTest::SetUp() {}
void ActsAudioDecEncNdkTest::TearDown() {}
uint32_t ES_AAC_48000_32_1[] = {
283, 336, 291, 405, 438, 411, 215, 215, 313, 270, 342, 641, 554, 545, 545, 546, 541,
540, 542, 552, 537, 533, 498, 472, 445, 430, 445, 427, 414, 386, 413, 370, 380, 401,
393, 369, 391, 367, 395, 396, 396, 385, 391, 384, 395, 392, 386, 388, 384, 379, 376,
381, 375, 373, 349, 391, 357, 384, 395, 384, 380, 386, 372, 386, 383, 378, 385, 385,
384, 342, 390, 379, 387, 386, 393, 397, 362, 393, 394, 391, 383, 385, 377, 379, 381,
369, 375, 379, 346, 382, 356, 361, 366, 394, 393, 385, 362, 406, 399, 384, 377, 385};
constexpr uint32_t ES_AAC_48000_32_1_Length = sizeof(ES_AAC_48000_32_1) / sizeof(uint32_t);
const string MIME_TYPE_AAC = "audio/mp4a-latm";
constexpr uint32_t DEFAULT_SAMPLE_RATE = 44100;
constexpr uint32_t DEFAULT_CHANNELS = 2;
const char* READPATH = "/data/media/AAC_48000_32_1.aac";
bool CheckDecDesc(map<string, int> InDesc, OH_AVFormat* OutDesc)
{
int32_t out ;
for (const auto& t: InDesc) {
bool res = OH_AVFormat_GetIntValue(OutDesc, t.first.c_str(), &out);
cout << "key: " << t.first << "; out: " << out <<endl;
if (!res) {
cout << "OH_AVFormat_GetIntValue Fail. key:" << t.first << endl;
return false;
}
if (out != t.second) {
cout << "OH_AVFormat_GetIntValue error. key: " << t.first
<< "; expect: "<< t.second
<< ", actual: "<< out << endl;
return false;
}
return true;
out = 0;
}
return true;
}
bool SetFormat(struct OH_AVFormat *format, map<string, int> mediaDescription)
{
const char *key;
for (const auto& t: mediaDescription) {
key = t.first.c_str();
if (not OH_AVFormat_SetIntValue(format, key, t.second)) {
cout << "OH_AV_FormatPutIntValue Fail. format key: " << t.first
<< ", value: "<< t.second << endl;
return false;
}
bool SetFormat(struct OH_AVFormat *format, map<string, int> mediaDescription)
{
const char *key;
for (const auto& t: mediaDescription) {
key = t.first.c_str();
if (not OH_AVFormat_SetIntValue(format, key, t.second)) {
cout << "OH_AV_FormatPutIntValue Fail. format key: " << t.first
<< ", value: "<< t.second << endl;
return false;
}
return true;
}
return true;
}
}
/**
* @tc.number : ActsAudioDecEncNdkTest001
* @tc.number : SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0100
* @tc.name : stop at end of stream
* @tc.desc : Basic function test
*/
HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest001, Function | MediumTest | Level1)
HWTEST_F(ActsAudioDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0100, TestSize.Level1)
{
ADecEncNdkSample *aDecEncSample = new ADecEncNdkSample();
......@@ -181,11 +142,11 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest001, Function | MediumTes
}
/**
* @tc.number : ActsAudioDecEncNdkTest002
* @tc.number : SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0200
* @tc.name : reset at end of stream
* @tc.desc : Basic function test
*/
HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest002, Function | MediumTest | Level1)
HWTEST_F(ActsAudioDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0200, TestSize.Level1)
{
ADecEncNdkSample *aDecEncSample = new ADecEncNdkSample();
......@@ -221,11 +182,11 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest002, Function | MediumTes
}
/**
* @tc.number : ActsAudioDecEncNdkTest003
* @tc.number : SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0300
* @tc.name : release at end of stream
* @tc.desc : Basic function test
*/
HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest003, Function | MediumTest | Level1)
HWTEST_F(ActsAudioDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0300, TestSize.Level1)
{
ADecEncNdkSample *aDecEncSample = new ADecEncNdkSample();
......@@ -259,11 +220,11 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest003, Function | MediumTes
}
/**
* @tc.number : ActsAudioDecEncNdkTest004
* @tc.number : SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0400
* @tc.name : flush at running
* @tc.desc : Basic function test
*/
HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest004, Function | MediumTest | Level1)
HWTEST_F(ActsAudioDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0400, TestSize.Level1)
{
ADecEncNdkSample *aDecEncSample = new ADecEncNdkSample();
......@@ -286,7 +247,7 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest004, Function | MediumTes
ASSERT_EQ(AV_ERR_OK, aDecEncSample->StartEnc());
ASSERT_EQ(AV_ERR_OK, aDecEncSample->StartDec());
while (aDecEncSample->GetFrameCount() < 500) {};
while (aDecEncSample->GetFrameCount() < 100) {};
ASSERT_EQ(AV_ERR_OK, aDecEncSample->FlushDec());
ASSERT_EQ(AV_ERR_OK, aDecEncSample->StartDec());
......@@ -301,11 +262,11 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest004, Function | MediumTes
}
/**
* @tc.number : ActsAudioDecEncNdkTest005
* @tc.number : SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0500
* @tc.name : flush decoder at eos
* @tc.desc : Basic function test
*/
HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest005, Function | MediumTest | Level1)
HWTEST_F(ActsAudioDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0500, TestSize.Level1)
{
ADecEncNdkSample *aDecEncSample = new ADecEncNdkSample();
......@@ -356,11 +317,11 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest005, Function | MediumTes
/**
* @tc.number : ActsAudioDecEncNdkTest006
* @tc.number : SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0600
* @tc.name : stop at running and restart to eos
* @tc.desc : Basic function test
*/
HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest006, Function | MediumTest | Level1)
HWTEST_F(ActsAudioDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0600, TestSize.Level1)
{
ADecEncNdkSample *aDecEncSample = new ADecEncNdkSample();
......@@ -383,7 +344,7 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest006, Function | MediumTes
ASSERT_EQ(AV_ERR_OK, aDecEncSample->StartEnc());
ASSERT_EQ(AV_ERR_OK, aDecEncSample->StartDec());
while (aDecEncSample->GetFrameCount() < 500) {};
while (aDecEncSample->GetFrameCount() < 100) {};
ASSERT_EQ(AV_ERR_OK, aDecEncSample->StopDec());
ASSERT_EQ(AV_ERR_OK, aDecEncSample->StartDec());
ASSERT_EQ(AV_ERR_OK, aDecEncSample->CalcuError());
......@@ -400,11 +361,11 @@ HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest006, Function | MediumTes
/**
* @tc.number : ActsAudioDecEncNdkTest007
* @tc.number : SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0700
* @tc.name : stop dec at eos and restart to eos
* @tc.desc : Basic function test
*/
HWTEST_F(ActsAudioDecEncNdkTest, ActsAudioDecEncNdkTest007, Function | MediumTest | Level1)
HWTEST_F(ActsAudioDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_AUDIO_DEC_ENC_FUNCTION_0700, TestSize.Level1)
{
ADecEncNdkSample *aDecEncSample = new ADecEncNdkSample();
......
/*
* Copyright (C) 2022 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 ACTSVIDEODECENC_NDK_FUNC_TEST_H
#define ACTSVIDEODECENC_NDK_FUNC_TEST_H
#include "gtest/gtest.h"
#include "VDecEncNdkSample.h"
namespace OHOS {
namespace Media {
class ActsVideoDecEncNdkTest : public testing::Test {
public:
// Preset action of the test suite, which is executed before the first test case
static void SetUpTestCase(void)
{
printf("ActsVideoDecEncNdkTest::SetUpTestCase");
}
// Test suite cleanup action, which is executed after the last test case
static void TearDownTestCase(void)
{
printf("ActsVideoDecEncNdkTest::TearDownTestCase");
}
// Preset action of the test case
void SetUp(void)
{
printf("ActsVideoDecEncNdkTest::SetUp");
}
// Cleanup action of the test case
virtual void TearDown(void)
{
printf("ActsVideoDecEncNdkTest::TearDown");
}
};
}
}
#endif // ACTSVIDEODECENC_NDK_FUNC_TEST_H
......@@ -19,7 +19,7 @@
#include "native_avcodec_videoencoder.h"
#include "native_avcodec_base.h"
#include "native_avformat.h"
#include "ActsVideoDecEncNdkTest.h"
#include "VDecEncNdkSample.h"
using namespace std;
using namespace testing::ext;
......@@ -27,67 +27,78 @@ using namespace OHOS;
using namespace OHOS::Media;
namespace {
const string MIME_TYPE_AVC = "video/avc";
const string MIME_TYPE_MPEG4 = "video/mp4v-es";
constexpr uint32_t DEFAULT_WIDTH = 320;
constexpr uint32_t DEFAULT_HEIGHT = 240;
constexpr uint32_t DEFAULT_PIXELFORMAT = 2;
constexpr uint32_t DEFAULT_FRAMERATE = 60;
const char* READPATH = "/data/media/out_320_240_10s.h264";
bool CheckDecDesc(map<string, int> InDesc, OH_AVFormat* OutDesc)
{
int32_t out ;
for (const auto& t: InDesc) {
bool res = OH_AVFormat_GetIntValue(OutDesc, t.first.c_str(), &out);
cout << "key: " << t.first << "; out: " << out <<endl;
if (!res) {
cout << "OH_AVFormat_GetIntValue Fail. key:" << t.first << endl;
return false;
}
if (out != t.second) {
cout << "OH_AVFormat_GetIntValue error. key: " << t.first
<< "; expect: "<< t.second
<< ", actual: "<< out << endl;
return false;
}
out = 0;
class ActsVideoDecEncNdkTest : public testing::Test {
public:
static void SetUpTestCase();
static void TearDownTestCase();
void SetUp() override;
void TearDown() override;
};
void ActsVideoDecEncNdkTest::SetUpTestCase() {}
void ActsVideoDecEncNdkTest::TearDownTestCase() {}
void ActsVideoDecEncNdkTest::SetUp() {}
void ActsVideoDecEncNdkTest::TearDown() {}
const string MIME_TYPE_AVC = "video/avc";
const string MIME_TYPE_MPEG4 = "video/mp4v-es";
constexpr uint32_t DEFAULT_WIDTH = 320;
constexpr uint32_t DEFAULT_HEIGHT = 240;
constexpr uint32_t DEFAULT_PIXELFORMAT = 2;
constexpr uint32_t DEFAULT_FRAMERATE = 60;
const char* READPATH = "/data/media/out_320_240_10s.h264";
bool CheckDecDesc(map<string, int> InDesc, OH_AVFormat* OutDesc)
{
int32_t out ;
for (const auto& t: InDesc) {
bool res = OH_AVFormat_GetIntValue(OutDesc, t.first.c_str(), &out);
cout << "key: " << t.first << "; out: " << out <<endl;
if (!res) {
cout << "OH_AVFormat_GetIntValue Fail. key:" << t.first << endl;
return false;
}
if (out != t.second) {
cout << "OH_AVFormat_GetIntValue error. key: " << t.first
<< "; expect: "<< t.second
<< ", actual: "<< out << endl;
return false;
}
return true;
out = 0;
}
return true;
}
bool SetFormat(struct OH_AVFormat *format, map<string, int> mediaDescription)
{
const char *key;
for (const auto& t: mediaDescription) {
key = t.first.c_str();
if (not OH_AVFormat_SetIntValue(format, key, t.second)) {
cout << "OH_AV_FormatPutIntValue Fail. format key: " << t.first
<< ", value: "<< t.second << endl;
return false;
}
bool SetFormat(struct OH_AVFormat *format, map<string, int> mediaDescription)
{
const char *key;
for (const auto& t: mediaDescription) {
key = t.first.c_str();
if (not OH_AVFormat_SetIntValue(format, key, t.second)) {
cout << "OH_AV_FormatPutIntValue Fail. format key: " << t.first
<< ", value: "<< t.second << endl;
return false;
}
return true;
}
return true;
}
struct OH_AVFormat* createFormat()
{
OH_AVFormat *DefaultFormat = OH_AVFormat_Create();
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_WIDTH, DEFAULT_WIDTH);
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_HEIGHT, DEFAULT_HEIGHT);
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_PIXEL_FORMAT, DEFAULT_PIXELFORMAT);
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_FRAME_RATE, DEFAULT_FRAMERATE);
return DefaultFormat;
}
struct OH_AVFormat* createFormat()
{
OH_AVFormat *DefaultFormat = OH_AVFormat_Create();
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_WIDTH, DEFAULT_WIDTH);
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_HEIGHT, DEFAULT_HEIGHT);
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_PIXEL_FORMAT, DEFAULT_PIXELFORMAT);
OH_AVFormat_SetIntValue(DefaultFormat, OH_MD_KEY_FRAME_RATE, DEFAULT_FRAMERATE);
return DefaultFormat;
}
}
/**
* @tc.number : ActsVideoDecEncNdkTest001
* @tc.number : SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0100
* @tc.name : stop at end of stream
* @tc.desc : Basic function test
*/
HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest001, Function | MediumTest | Level1)
HWTEST_F(ActsVideoDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0100, TestSize.Level1)
{
VDecEncNdkSample *vDecEncSample = new VDecEncNdkSample();
......@@ -137,11 +148,11 @@ HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest001, Function | MediumTes
}
/**
* @tc.number : ActsVideoDecEncNdkTest002
* @tc.number : SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0200
* @tc.name : reset at end of stream
* @tc.desc : Basic function test
*/
HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest002, Function | MediumTest | Level1)
HWTEST_F(ActsVideoDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0200, TestSize.Level1)
{
VDecEncNdkSample *vDecEncSample = new VDecEncNdkSample();
......@@ -176,11 +187,11 @@ HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest002, Function | MediumTes
/**
* @tc.number : ActsVideoDecEncNdkTest003
* @tc.number : SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0300
* @tc.name : release at end of stream
* @tc.desc : Basic function test
*/
HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest003, Function | MediumTest | Level1)
HWTEST_F(ActsVideoDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0300, TestSize.Level1)
{
VDecEncNdkSample *vDecEncSample = new VDecEncNdkSample();
......@@ -212,11 +223,11 @@ HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest003, Function | MediumTes
}
/**
* @tc.number : ActsVideoDecEncNdkTest004
* @tc.number : SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0400
* @tc.name : flush at running
* @tc.desc : Basic function test
*/
HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest004, Function | MediumTest | Level1)
HWTEST_F(ActsVideoDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0400, TestSize.Level1)
{
VDecEncNdkSample *vDecEncSample = new VDecEncNdkSample();
......@@ -262,11 +273,11 @@ HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest004, Function | MediumTes
/**
* @tc.number : ActsVideoDecEncNdkTest005
* @tc.number : SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0500
* @tc.name : flush dec at eos and restart
* @tc.desc : Basic function test
*/
HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest005, Function | MediumTest | Level1)
HWTEST_F(ActsVideoDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0500, TestSize.Level1)
{
VDecEncNdkSample *vDecEncSample = new VDecEncNdkSample();
......@@ -313,11 +324,11 @@ HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest005, Function | MediumTes
/**
* @tc.number : ActsVideoDecEncNdkTest006
* @tc.number : SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0600
* @tc.name : stop at running and restart to eos
* @tc.desc : Basic function test
*/
HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest006, Function | MediumTest | Level1)
HWTEST_F(ActsVideoDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0600, TestSize.Level1)
{
VDecEncNdkSample *vDecEncSample = new VDecEncNdkSample();
......@@ -364,11 +375,11 @@ HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest006, Function | MediumTes
/**
* @tc.number : ActsVideoDecEncNdkTest007
* @tc.number : SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0700
* @tc.name : stop dec at eos and restart to eos
* @tc.desc : Basic function test
*/
HWTEST_F(ActsVideoDecEncNdkTest, ActsVideoDecEncNdkTest007, Function | MediumTest | Level1)
HWTEST_F(ActsVideoDecEncNdkTest, SUB_MULTIMEDIA_MEDIA_VIDEO_DEC_ENC_FUNCTION_0700, TestSize.Level1)
{
VDecEncNdkSample *vDecEncSample = new VDecEncNdkSample();
......
......@@ -33,16 +33,7 @@ namespace {
128, 1697, 168, 149, 117, 1938, 170, 141, 142, 1830, 106, 161, 122, 1623, 160, 154, 156, 1998, 230,
177, 139, 1650, 186, 128, 134, 1214, 122, 1411, 120, 1184, 128, 1591, 195, 145, 105, 1587, 169, 140,
118, 1952, 177, 150, 161, 1437, 159, 123, 1758, 180, 165, 144, 1936, 214, 191, 175, 2122, 180, 179,
160, 1927, 161, 184, 119, 1973, 218, 210, 129, 1962, 196, 127, 154, 2308, 173, 127, 1572, 142, 122,
2065, 262, 159, 206, 2251, 269, 179, 170, 2056, 308, 168, 191, 2090, 303, 191, 110, 1932, 272, 162,
122, 1877, 245, 167, 141, 1908, 294, 162, 118, 1493, 132, 1782, 273, 184, 133, 1958, 274, 180, 149,
2070, 216, 169, 143, 1882, 224, 149, 139, 1749, 277, 184, 139, 2141, 197, 170, 140, 2002, 269, 162,
140, 1862, 202, 179, 131, 1868, 214, 164, 140, 1546, 226, 150, 130, 1707, 162, 146, 1824, 181, 147,
130, 1898, 209, 143, 131, 1805, 180, 148, 106, 1776, 147, 141, 1572, 177, 130, 105, 1776, 178, 144,
122, 1557, 142, 124, 114, 1436, 143, 126, 1326, 127, 1755, 169, 127, 105, 1807, 177, 131, 134, 1613,
187, 137, 136, 1314, 134, 118, 2005, 194, 129, 147, 1566, 185, 132, 131, 1236, 174, 137, 106, 11049,
574, 126, 1242, 188, 130, 119, 1450, 187, 137, 141, 1116, 124, 1848, 138, 122, 1605, 186, 127, 140,
1798, 170, 124, 121, 1666, 157, 128, 130, 1678, 135, 118, 1804, 169, 135, 125, 1837, 168, 124, 124};
160, 1927, 161, 184, 119, 1973, 218, 210, 129, 1962, 196, 127, 154, 2308, 173, 127, 1572, 142, 122};
constexpr uint32_t ES_LENGTH = sizeof(ES) / sizeof(uint32_t);
constexpr int32_t STOPNUM = 10000;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册