videomanager: handle null frame

Handles case (and avoids crash) when copying a hw-encoded frame
from Android.

Change-Id: I266afe86018b0d2f6c944314397115cf01c6af04
This commit is contained in:
Adrien Béraud
2019-11-04 16:28:20 -05:00
parent d6e2b8a332
commit ef4e6fa89a

View File

@ -66,13 +66,19 @@ void
MediaFrame::copyFrom(const MediaFrame& o)
{
reset();
av_frame_ref(frame_.get(), o.frame_.get());
if (o.frame_)
av_frame_ref(frame_.get(), o.frame_.get());
if (o.packet_) {
packet_.reset(av_packet_alloc());
av_packet_ref(packet_.get(), o.packet_.get());
}
}
void
MediaFrame::reset() noexcept
{
av_frame_unref(frame_.get());
if (frame_)
av_frame_unref(frame_.get());
packet_.reset();
}