3#ifndef QFFMPEGSTREAMDECODER_P_H
4#define QFFMPEGSTREAMDECODER_P_H
16#include <QtFFmpegMediaPluginImpl/private/qffmpegplaybackengineobject_p.h>
17#include <QtFFmpegMediaPluginImpl/private/qffmpegframe_p.h>
18#include <QtFFmpegMediaPluginImpl/private/qffmpegpacket_p.h>
19#include <QtFFmpegMediaPluginImpl/private/qffmpegplaybackutils_p.h>
20#include <QtMultimedia/private/qplatformmediaplayer_p.h>
22#include <QtCore/qqueue.h>
62 void decodeMedia(Packet);
64 void decodeSubtitle(Packet);
66 void onFrameFound(Frame frame);
68 int sendAVPacket(Packet);
70 void receiveAVFrames(
bool flushPacket =
false);
73 CodecContext m_codecContext;
75 const QPlatformMediaPlayer::TrackType m_trackType;
77 qint32 m_pendingFramesCount = 0;
81 QQueue<Packet> m_packets;
bool canDoNextStep() const override
~StreamDecoder() override
static qint32 maxQueueSize(QPlatformMediaPlayer::TrackType type)
void doNextStep() override
void onFrameProcessed(Frame frame)
void packetProcessed(Packet)
void onFinalPacketReceived()
QPlatformMediaPlayer::TrackType trackType() const
std::conditional_t< QT_FFMPEG_AVIO_WRITE_CONST, const uint8_t *, uint8_t * > AvioWriteBufferType
#define qCDebug(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)