LibMedia: Move FFmpegIOContext into it's own file

This allows it to be reused for video.
This commit is contained in:
Luke Wilde 2025-03-06 14:30:41 +00:00 committed by Alexander Kalenik
commit 3412935a62
Notes: github-actions[bot] 2025-03-13 18:35:00 +00:00
5 changed files with 117 additions and 84 deletions

View file

@ -0,0 +1,32 @@
/*
* Copyright (c) 2024, Jelle Raaijmakers <jelle@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Error.h>
#include <AK/NonnullOwnPtr.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}
namespace Media::FFmpeg {
class FFmpegIOContext {
public:
explicit FFmpegIOContext(AVIOContext*);
~FFmpegIOContext();
static ErrorOr<NonnullOwnPtr<FFmpegIOContext>> create(AK::SeekableStream& stream);
AVIOContext* avio_context() const { return m_avio_context; }
private:
AVIOContext* m_avio_context { nullptr };
};
}