Bug 1332585 - Make VP8TrackEncoderTest's buffer generator more explicit. r?jesup
MozReview-Commit-ID: DZbF6vRMug6
--- a/dom/media/gtest/TestVideoTrackEncoder.cpp
+++ b/dom/media/gtest/TestVideoTrackEncoder.cpp
@@ -41,21 +41,29 @@ public:
memset(mSourceBuffer.Elements() + yPlaneLen, 0x80, cbcrPlaneLen);
}
mozilla::gfx::IntSize GetSize() const
{
return mImageSize;
}
- void Generate(nsTArray<RefPtr<Image> > &aImages)
+ already_AddRefed<Image> GenerateI420Image()
+ {
+ return do_AddRef(CreateI420Image());
+ }
+
+ already_AddRefed<Image> GenerateNV12Image()
{
- aImages.AppendElement(CreateI420Image());
- aImages.AppendElement(CreateNV12Image());
- aImages.AppendElement(CreateNV21Image());
+ return do_AddRef(CreateNV12Image());
+ }
+
+ already_AddRefed<Image> GenerateNV21Image()
+ {
+ return do_AddRef(CreateNV21Image());
}
private:
Image *CreateI420Image()
{
PlanarYCbCrImage *image = new RecyclingPlanarYCbCrImage(new BufferRecycleBin());
PlanarYCbCrData data;
data.mPicSize = mImageSize;
@@ -255,17 +263,19 @@ TEST(VP8VideoTrackEncoder, FrameEncode)
TestVP8TrackEncoder encoder;
InitParam param = {true, 640, 480};
encoder.TestInit(param);
// Create YUV images as source.
nsTArray<RefPtr<Image>> images;
YUVBufferGenerator generator;
generator.Init(mozilla::gfx::IntSize(640, 480));
- generator.Generate(images);
+ images.AppendElement(generator.GenerateI420Image());
+ images.AppendElement(generator.GenerateNV12Image());
+ images.AppendElement(generator.GenerateNV21Image());
// Put generated YUV frame into video segment.
// Duration of each frame is 1 second.
VideoSegment segment;
TimeStamp now = TimeStamp::Now();
for (nsTArray<RefPtr<Image>>::size_type i = 0; i < images.Length(); i++)
{
RefPtr<Image> image = images[i];