diff options
Diffstat (limited to 'media/cast/test')
-rw-r--r-- | media/cast/test/fake_media_source.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/media/cast/test/fake_media_source.cc b/media/cast/test/fake_media_source.cc index 8e411bb..7d58a4c 100644 --- a/media/cast/test/fake_media_source.cc +++ b/media/cast/test/fake_media_source.cc @@ -557,10 +557,14 @@ void FakeMediaSource::DecodeVideo(ScopedAVPacket packet) { video_first_pts_ = avframe->pkt_pts - adjustment_pts; } - video_frame_queue_.push(VideoFrame::WrapExternalYuvData( - media::PIXEL_FORMAT_YV12, size, gfx::Rect(size), size, - avframe->linesize[0], avframe->linesize[1], avframe->linesize[2], - avframe->data[0], avframe->data[1], avframe->data[2], timestamp)); + scoped_refptr<media::VideoFrame> video_frame = + VideoFrame::WrapExternalYuvData( + media::PIXEL_FORMAT_YV12, size, gfx::Rect(size), size, + avframe->linesize[0], avframe->linesize[1], avframe->linesize[2], + avframe->data[0], avframe->data[1], avframe->data[2], timestamp); + if (!video_frame) + return; + video_frame_queue_.push(video_frame); video_frame_queue_.back()->AddDestructionObserver( base::Bind(&AVFreeFrame, avframe)); last_video_frame_timestamp_ = timestamp; |