1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#pragma once
#include "globalincs/pstypes.h"
#include "libs/ffmpeg/FFmpegHeaders.h"
namespace sound {
namespace ffmpeg {
class FFmpegAudioReader {
int _stream_idx = -1;
AVFormatContext* _format_ctx = nullptr;
AVCodecContext* _codec_ctx = nullptr;
#if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(57, 24, 255)
AVPacket* _currentPacket = nullptr;
#endif
public:
FFmpegAudioReader(AVFormatContext* av_format_context, AVCodecContext* codec_ctx, int stream_idx);
~FFmpegAudioReader();
bool readFrame(AVFrame* decode_frame);
};
} // namespace ffmpeg
} // namespace sound
|