diff options
author | miu <miu@chromium.org> | 2015-03-03 15:07:39 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-03 23:09:06 +0000 |
commit | 78807dc7968c9a397326aef113435cbca486f96c (patch) | |
tree | cb68a683017ad572baa00ea59ded2a3e7a49d7ed /content/renderer/media/media_stream_video_track_unittest.cc | |
parent | 937b6c98b45dda368ac6562b3522f8941da44ae6 (diff) | |
download | chromium_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.cc | 1 |
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. } |