LibMedia: Propagate errors if demuxer creation fails

Previously, the browser would crash if demuxer creation failed.
This commit is contained in:
Tim Ledbetter 2025-03-14 04:27:06 +00:00 committed by Jelle Raaijmakers
parent 733d124380
commit c270241b09

View File

@ -35,8 +35,10 @@ DecoderErrorOr<NonnullOwnPtr<PlaybackManager>> PlaybackManager::from_data(Readon
DecoderErrorOr<NonnullOwnPtr<PlaybackManager>> PlaybackManager::from_stream(NonnullOwnPtr<SeekableStream> stream)
{
auto demuxer = MUST(FFmpeg::FFmpegDemuxer::create(move(stream)));
return create(move(demuxer));
auto demuxer_or_error = FFmpeg::FFmpegDemuxer::create(move(stream));
if (demuxer_or_error.is_error())
return DecoderError::format(DecoderErrorCategory::Unknown, "{}", demuxer_or_error.error());
return create(demuxer_or_error.release_value());
}
PlaybackManager::PlaybackManager(NonnullOwnPtr<Demuxer>& demuxer, Track video_track, NonnullOwnPtr<VideoDecoder>&& decoder, VideoFrameQueue&& frame_queue)