File indexing completed on 2025-01-19 03:57:05
0001 /********************************************************* 0002 * Copyright (C) 2021, Val Doroshchuk <valbok@gmail.com> * 0003 * * 0004 * This file is part of QtAVPlayer. * 0005 * Free Qt Media Player based on FFmpeg. * 0006 *********************************************************/ 0007 0008 #ifndef QAVFIODEVICE_P_H 0009 #define QAVFIODEVICE_P_H 0010 0011 #include <QtAVPlayer/qtavplayerglobal.h> 0012 #include <QIODevice> 0013 #include <QSharedPointer> 0014 #include <memory> 0015 0016 QT_BEGIN_NAMESPACE 0017 0018 struct AVIOContext; 0019 class QAVIODevicePrivate; 0020 class QAVIODevice : public QObject 0021 { 0022 public: 0023 QAVIODevice(const QSharedPointer<QIODevice> &device, QObject *parent = nullptr); 0024 ~QAVIODevice(); 0025 0026 AVIOContext *ctx() const; 0027 void abort(bool aborted); 0028 0029 void setBufferSize(size_t size); 0030 size_t bufferSize() const; 0031 0032 protected: 0033 std::unique_ptr<QAVIODevicePrivate> d_ptr; 0034 0035 private: 0036 Q_DECLARE_PRIVATE(QAVIODevice) 0037 }; 0038 0039 QT_END_NAMESPACE 0040 0041 #endif