Reland "Copy video frames metadata between encoded and plain frames in one place"

Reland with fixes.

Currently some video frames metadata like rotation or ntp timestamps are
copied in every encoder and decoder separately. This CL makes copying to
happen at a single place for send or receive side. This will make it
easier to add new metadata in the future.

Also, added some missing tests.

Original Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133346

Bug: webrtc:10460
Change-Id: I98629589fa55ca1d74056033cf86faccfdf848cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136582
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27930}
This commit is contained in:
Ilya Nikolaevskiy
2019-05-13 16:13:36 +02:00
committed by Commit Bot
parent dab21c6a91
commit 2ebf523978
19 changed files with 545 additions and 299 deletions

View File

@ -52,8 +52,10 @@ class VCMEncodedFrame : protected EncodedImage {
return static_cast<const webrtc::EncodedImage&>(*this);
}
using EncodedImage::ColorSpace;
using EncodedImage::data;
using EncodedImage::set_size;
using EncodedImage::SetColorSpace;
using EncodedImage::SetSpatialIndex;
using EncodedImage::SetTimestamp;
using EncodedImage::size;