Olive
Public Slots | Signals | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
ExportThread Class Reference

#include <exportthread.h>

Inheritance diagram for ExportThread:

Public Slots

void wake ()
 

Signals

void progress_changed (int value, qint64 remaining_ms)
 

Public Member Functions

 ExportThread (const ExportParams &iparams, const VideoCodecParams &ivparams, QObject *parent=nullptr)
 
void run ()
 
const QString & getError ()
 

Public Attributes

QOffscreenSurface surface
 
bool continueEncode
 

Private Member Functions

bool encode (AVFormatContext *ofmt_ctx, AVCodecContext *codec_ctx, AVFrame *frame, AVPacket *packet, AVStream *stream, bool rescale)
 
bool setupVideo ()
 
bool setupAudio ()
 
bool setupContainer ()
 

Private Attributes

ExportParams params
 
VideoCodecParams vcodec_params
 
AVFormatContext * fmt_ctx
 
AVStream * video_stream
 
AVCodec * vcodec
 
AVCodecContext * vcodec_ctx
 
AVFrame * video_frame
 
AVFrame * sws_frame
 
SwsContext * sws_ctx
 
AVStream * audio_stream
 
AVCodec * acodec
 
AVFrame * audio_frame
 
AVFrame * swr_frame
 
AVCodecContext * acodec_ctx
 
AVPacket video_pkt
 
AVPacket audio_pkt
 
SwrContext * swr_ctx
 
bool vpkt_alloc
 
bool apkt_alloc
 
int aframe_bytes
 
int ret
 
char * c_filename
 
QMutex mutex
 
QWaitCondition waitCond
 
QString export_error
 

Constructor & Destructor Documentation

◆ ExportThread()

ExportThread::ExportThread ( const ExportParams iparams,
const VideoCodecParams ivparams,
QObject *  parent = nullptr 
)

Member Function Documentation

◆ encode()

bool ExportThread::encode ( AVFormatContext *  ofmt_ctx,
AVCodecContext *  codec_ctx,
AVFrame *  frame,
AVPacket *  packet,
AVStream *  stream,
bool  rescale 
)
private

◆ getError()

const QString & ExportThread::getError ( )

◆ progress_changed

void ExportThread::progress_changed ( int  value,
qint64  remaining_ms 
)
signal

◆ run()

void ExportThread::run ( )

◆ setupAudio()

bool ExportThread::setupAudio ( )
private

◆ setupContainer()

bool ExportThread::setupContainer ( )
private

◆ setupVideo()

bool ExportThread::setupVideo ( )
private

◆ wake

void ExportThread::wake ( )
slot

Member Data Documentation

◆ acodec

AVCodec* ExportThread::acodec
private

◆ acodec_ctx

AVCodecContext* ExportThread::acodec_ctx
private

◆ aframe_bytes

int ExportThread::aframe_bytes
private

◆ apkt_alloc

bool ExportThread::apkt_alloc
private

◆ audio_frame

AVFrame* ExportThread::audio_frame
private

◆ audio_pkt

AVPacket ExportThread::audio_pkt
private

◆ audio_stream

AVStream* ExportThread::audio_stream
private

◆ c_filename

char* ExportThread::c_filename
private

◆ continueEncode

bool ExportThread::continueEncode

◆ export_error

QString ExportThread::export_error
private

◆ fmt_ctx

AVFormatContext* ExportThread::fmt_ctx
private

◆ mutex

QMutex ExportThread::mutex
private

◆ params

ExportParams ExportThread::params
private

◆ ret

int ExportThread::ret
private

◆ surface

QOffscreenSurface ExportThread::surface

◆ swr_ctx

SwrContext* ExportThread::swr_ctx
private

◆ swr_frame

AVFrame* ExportThread::swr_frame
private

◆ sws_ctx

SwsContext* ExportThread::sws_ctx
private

◆ sws_frame

AVFrame* ExportThread::sws_frame
private

◆ vcodec

AVCodec* ExportThread::vcodec
private

◆ vcodec_ctx

AVCodecContext* ExportThread::vcodec_ctx
private

◆ vcodec_params

VideoCodecParams ExportThread::vcodec_params
private

◆ video_frame

AVFrame* ExportThread::video_frame
private

◆ video_pkt

AVPacket ExportThread::video_pkt
private

◆ video_stream

AVStream* ExportThread::video_stream
private

◆ vpkt_alloc

bool ExportThread::vpkt_alloc
private

◆ waitCond

QWaitCondition ExportThread::waitCond
private

The documentation for this class was generated from the following files: