summaryrefslogtreecommitdiffstats
path: root/content/renderer/media/media_stream_video_track_unittest.cc
diff options
context:
space:
mode:
authormiu <miu@chromium.org>2015-03-03 15:07:39 -0800
committerCommit bot <commit-bot@chromium.org>2015-03-03 23:09:06 +0000
commit78807dc7968c9a397326aef113435cbca486f96c (patch)
treecb68a683017ad572baa00ea59ded2a3e7a49d7ed /content/renderer/media/media_stream_video_track_unittest.cc
parent937b6c98b45dda368ac6562b3522f8941da44ae6 (diff)
downloadchromium_src-78807dc7968c9a397326aef113435cbca486f96c.zip
chromium_src-78807dc7968c9a397326aef113435cbca486f96c.tar.gz
chromium_src-78807dc7968c9a397326aef113435cbca486f96c.tar.bz2
Add metadata to media::VideoFrame and plumb it through IPC/MediaStream.
This change has three main goals: First, to be able to pass extra information associated with each VideoFrame from the capture source to the downstream consumers (see bugs for details). Second, to eliminate redundancies in the current MediaStreamVideoSink API; specifically, media::VideoFrame contains most of the same properties as media::VideoCaptureFormat. Third, to fully support the separate VideoFrame concepts of "coded size" versus "visible size" in the capture pipeline, rather than force all producers/consumers to deal with packed data. (Using packed frame sizes can be suboptimal for performance in some use cases.) The metadata is stored in a base::DictionaryValue owned by media::VideoFrame to allow for structured data passing. DictionaryValue is a great choice since an efficient IPC (de)serialization implementation already exists, and the metadata can be easily pretty-printed for logging where needed. Also, it's logical for VideoFrame to own the metadata, as both need to be passed/shared together across threads without copying. Finally, this change includes one new use of the metadata as a motivation for its existence: The tab/desktop capture code now includes capture timing information, which will allow Cast streaming sessions to be analyzed for user experience improvements. In the future, some of the special-use-case data members in VideoFrame should be moved into the metadata. BUG=461116,462101 Review URL: https://codereview.chromium.org/955253002 Cr-Commit-Position: refs/heads/master@{#318954}
Diffstat (limited to 'content/renderer/media/media_stream_video_track_unittest.cc')
-rw-r--r--content/renderer/media/media_stream_video_track_unittest.cc1
1 files changed, 0 insertions, 1 deletions
diff --git a/content/renderer/media/media_stream_video_track_unittest.cc b/content/renderer/media/media_stream_video_track_unittest.cc
index eed4fa29..2fe8503 100644
--- a/content/renderer/media/media_stream_video_track_unittest.cc
+++ b/content/renderer/media/media_stream_video_track_unittest.cc
@@ -139,7 +139,6 @@ class CheckThreadHelper {
void CheckThreadVideoFrameReceiver(
CheckThreadHelper* helper,
const scoped_refptr<media::VideoFrame>& frame,
- const media::VideoCaptureFormat& format,
const base::TimeTicks& estimated_capture_time) {
// Do nothing.
}