Signed-off-by: 国庆 <xinguoqing2@huawei.com>
This commit is contained in:
国庆 2024-08-29 09:22:05 +00:00 committed by Gitee
parent 9424f3ff87
commit 0a32982284
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 135 additions and 4 deletions

View File

@ -143,7 +143,7 @@ public:
virtual int32_t QueueInputBuffer(uint32_t index)
{
return status_;
return ret;
}
virtual int32_t GetOutputFormat(Format &format)
@ -185,6 +185,7 @@ public:
}
private:
int32_t status_ = 0;
int32_t ret = 1;
};
class TestAVBufferQueueConsumer : public AVBufferQueueConsumer {
@ -208,11 +209,15 @@ public:
Status AcquireBuffer(std::shared_ptr<AVBuffer>& outBuffer)
{
return Status::ERROR_UNKNOWN;
if (outBuffer == nullptr) {
return Status::ERROR_UNKNOWN;
} else {
return Status::OK;
}
}
Status ReleaseBuffer(const std::shared_ptr<AVBuffer>& inBuffer)
{
return Status::OK;
return Status::ERROR_UNKNOWN;
}
Status AttachBuffer(std::shared_ptr<AVBuffer>& inBuffer, bool isFilled)

View File

@ -115,6 +115,9 @@ HWTEST_F(VideoResizeFilterUnitTest, VideoResizeFilter_SetOutputSurface_001, Test
sptr<Surface> surface = nullptr;
Status ret = videoResize_->SetOutputSurface(surface, 0, 0);
EXPECT_EQ(ret, Status::ERROR_NULL_POINTER);
videoResize_->videoEnhancer_ = nullptr;
ret = videoResize_->SetOutputSurface(surface, 0, 0);
EXPECT_EQ(ret, Status::ERROR_NULL_POINTER);
videoResize_->videoEnhancer_ = DetailEnhancerVideo::Create();
videoResize_->eventReceiver_ = nullptr;
surface = videoResize_->videoEnhancer_->GetInputSurface();
@ -167,7 +170,7 @@ HWTEST_F(VideoResizeFilterUnitTest, VideoResizeFilter_DoStop_001, TestSize.Level
*/
HWTEST_F(VideoResizeFilterUnitTest, VideoResizeFilter_SetParameter_001, TestSize.Level1)
{
std::shared_ptr<Meta> parameter= std::make_shared<Meta>();
std::shared_ptr<Meta> parameter = std::make_shared<Meta>();
videoResize_->videoEnhancer_ = nullptr;
videoResize_->SetParameter(parameter);
videoResize_->videoEnhancer_ = DetailEnhancerVideo::Create();
@ -177,6 +180,22 @@ HWTEST_F(VideoResizeFilterUnitTest, VideoResizeFilter_SetParameter_001, TestSize
EXPECT_EQ(videoResize_->appPid_, 0);
}
/**
* @tc.name: VideoResizeFilter_SetParameter_002
* @tc.desc: SetParameter
* @tc.type: FUNC
*/
HWTEST_F(VideoResizeFilterUnitTest, VideoResizeFilter_SetParameter_002, TestSize.Level1)
{
std::shared_ptr<Meta> parameter = std::make_shared<Meta>();
parameter->SetData(Tag::MEDIA_END_OF_STREAM, 2);
videoResize_->videoEnhancer_ = nullptr;
videoResize_->SetParameter(parameter);
videoResize_->videoEnhancer_ = DetailEnhancerVideo::Create();
videoResize_->SetParameter(parameter);
EXPECT_EQ(videoResize_->appPid_, 0);
}
/**
* @tc.name: VideoResizeFilter_LinkNext_001
* @tc.desc: LinkNext
@ -194,6 +213,22 @@ HWTEST_F(VideoResizeFilterUnitTest, VideoResizeFilter_LinkNext_001, TestSize.Lev
EXPECT_NE(ret, Status::OK);
}
/**
* @tc.name: VideoResizeFilter_OnLinkedResult_001
* @tc.desc: OnLinkedResult
* @tc.type: FUNC
*/
HWTEST_F(VideoResizeFilterUnitTest, VideoResizeFilter_OnLinkedResult_001, TestSize.Level1)
{
sptr<AVBufferQueueProducer> outputBufferQueue = new OHOS::Media::Pipeline::MyAVBufferQueueProducer();
std::shared_ptr<Meta> meta = std::make_shared<Meta>();
videoResize_->onLinkedResultCallback_ = std::make_shared<TestFilterLinkCallback>();
videoResize_->OnLinkedResult(outputBufferQueue, meta);
videoResize_->onLinkedResultCallback_ = nullptr;
videoResize_->OnLinkedResult(outputBufferQueue, meta);
EXPECT_EQ(videoResize_->instanceId_, 0);
}
/**
* @tc.name: VideoResizeFilter_ReleaseBuffer_001
* @tc.desc: ReleaseBuffer

View File

@ -101,6 +101,97 @@ public:
}
protected:
};
class MyAVBufferQueueProducer : public IRemoteStub<AVBufferQueueProducer> {
public:
uint32_t GetQueueSize()
{
return 0;
}
Status SetQueueSize(uint32_t size)
{
return Status::OK;
}
Status RequestBuffer(std::shared_ptr<AVBuffer>& outBuffer,
const AVBufferConfig& config, int32_t timeoutMs)
{
if (outBuffer == nullptr) {
return Status::ERROR_NULL_POINTER;
} else {
return Status::OK;
}
}
Status PushBuffer(const std::shared_ptr<AVBuffer>& inBuffer, bool available)
{
return Status::OK;
}
Status ReturnBuffer(const std::shared_ptr<AVBuffer>& inBuffer, bool available)
{
return Status::OK;
}
Status AttachBuffer(std::shared_ptr<AVBuffer>& inBuffer, bool isFilled)
{
return Status::OK;
}
Status DetachBuffer(const std::shared_ptr<AVBuffer>& outBuffer)
{
return Status::OK;
}
Status SetBufferFilledListener(sptr<IBrokerListener>& listener)
{
return Status::OK;
}
Status RemoveBufferFilledListener(sptr<IBrokerListener>& listener)
{
return Status::OK;
}
Status SetBufferAvailableListener(sptr<IProducerListener>& listener)
{
return Status::OK;
}
Status Clear()
{
return Status::OK;
}
DECLARE_INTERFACE_DESCRIPTOR(u"Media.MyAVBufferQueueProducer");
protected:
enum: uint32_t {
PRODUCER_GET_QUEUE_SIZE = 0,
PRODUCER_SET_QUEUE_SIZE = 1,
PRODUCER_REQUEST_BUFFER = 2,
PRODUCER_PUSH_BUFFER = 3,
PRODUCER_RETURN_BUFFER = 4,
PRODUCER_ATTACH_BUFFER = 5,
PRODUCER_DETACH_BUFFER = 6,
PRODUCER_SET_FILLED_LISTENER = 7,
PRODUCER_REMOVE_FILLED_LISTENER = 8,
PRODUCER_SET_AVAILABLE_LISTENER = 9
};
};
class TestFilterLinkCallback : public Pipeline::FilterLinkCallback {
public:
explicit TestFilterLinkCallback()
{
std::cout << "filter back constructor" << std::endl;
}
void OnLinkedResult(const sptr<AVBufferQueueProducer>& queue, std::shared_ptr<Meta>& meta)
{
std::cout << "call OnLinkedResult" << std::endl;
}
void OnUnlinkedResult(std::shared_ptr<Meta>& meta)
{
std::cout << "call OnUnlinkedResult" << std::endl;
}
void OnUpdatedResult(std::shared_ptr<Meta>& meta)
{
std::cout << "call OnUpdatedResult" << std::endl;
}
};
} // namespace Pipeline
} // namespace Media
} // namespace OHOS