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>
63 void decodeMedia(
const Packet &packet);
65 void decodeSubtitle(
const Packet &packet);
67 void onFrameFound(Frame frame);
69 int sendAVPacket(
const Packet &packet);
71 void receiveAVFrames(
bool flushPacket =
false);
74 CodecContext m_codecContext;
76 const QPlatformMediaPlayer::TrackType m_trackType;
78 qint32 m_pendingFramesCount = 0;
82 QQueue<Packet> m_packets;
bool canDoNextStep() const override
~StreamDecoder() override
static qint32 maxQueueSize(QPlatformMediaPlayer::TrackType type)
void doNextStep() override
void onFrameProcessed(Frame frame)
void onFinalPacketReceived(PlaybackEngineObjectID sourceID)
void packetProcessed(Packet)
QPlatformMediaPlayer::TrackType trackType() const
std::conditional_t< QT_FFMPEG_AVIO_WRITE_CONST, const uint8_t *, uint8_t * > AvioWriteBufferType
Combined button and popup list for selecting options.
#define qCDebug(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)