Transcoder: Added MediaTranscoder and unit test.
MediaTranscoder is the API for the native transcoding library.
Test: Unit tests.
Bug: 156003955, 152091443, 155918341
Change-Id: I24b52d174db0faecea8f331ef6d8a3dc4e473c4e
diff --git a/media/libmediatranscoding/transcoder/tests/MediaTrackTranscoderTests.cpp b/media/libmediatranscoding/transcoder/tests/MediaTrackTranscoderTests.cpp
index c5b181d..4d9386a 100644
--- a/media/libmediatranscoding/transcoder/tests/MediaTrackTranscoderTests.cpp
+++ b/media/libmediatranscoding/transcoder/tests/MediaTrackTranscoderTests.cpp
@@ -60,6 +60,7 @@
break;
}
ASSERT_NE(mTranscoder, nullptr);
+ mTranscoderOutputQueue = mTranscoder->getOutputQueue();
initSampleReader();
}
@@ -120,7 +121,7 @@
std::shared_ptr<MediaSample> sample;
bool aborted = false;
do {
- aborted = mTranscoder->mOutputQueue.dequeue(&sample);
+ aborted = mTranscoderOutputQueue->dequeue(&sample);
} while (!aborted && !(sample->info.flags & SAMPLE_FLAG_END_OF_STREAM));
mQueueWasAborted = aborted;
mGotEndOfStream =
@@ -142,6 +143,7 @@
protected:
std::shared_ptr<MediaTrackTranscoder> mTranscoder;
+ std::shared_ptr<MediaSampleQueue> mTranscoderOutputQueue;
std::shared_ptr<TestCallback> mCallback;
std::shared_ptr<MediaSampleReader> mMediaSampleReader;
@@ -242,7 +244,7 @@
EXPECT_EQ(mTranscoder->configure(mMediaSampleReader, mTrackIndex, mDestinationFormat),
AMEDIA_OK);
ASSERT_TRUE(mTranscoder->start());
- mTranscoder->mOutputQueue.abort();
+ mTranscoderOutputQueue->abort();
drainOutputSampleQueue();
EXPECT_EQ(mCallback->waitUntilFinished(), AMEDIA_ERROR_IO);
EXPECT_TRUE(mTranscoder->stop());
@@ -259,7 +261,7 @@
ASSERT_TRUE(mTranscoder->start());
std::shared_ptr<MediaSample> sample;
- EXPECT_FALSE(mTranscoder->mOutputQueue.dequeue(&sample));
+ EXPECT_FALSE(mTranscoderOutputQueue->dequeue(&sample));
drainOutputSampleQueue();
EXPECT_EQ(mCallback->waitUntilFinished(), AMEDIA_OK);
@@ -269,6 +271,7 @@
EXPECT_TRUE(mGotEndOfStream);
mTranscoder.reset();
+ mTranscoderOutputQueue.reset();
std::this_thread::sleep_for(std::chrono::milliseconds(20));
sample.reset();
}
@@ -280,7 +283,7 @@
ASSERT_TRUE(mTranscoder->start());
std::shared_ptr<MediaSample> sample;
- EXPECT_FALSE(mTranscoder->mOutputQueue.dequeue(&sample));
+ EXPECT_FALSE(mTranscoderOutputQueue->dequeue(&sample));
EXPECT_TRUE(mTranscoder->stop());
std::this_thread::sleep_for(std::chrono::milliseconds(20));