Miam-Player  0.8.0
A nice music player
QtAV::AVEncoder Class Referenceabstract

#include <AVEncoder.h>

Inheritance diagram for QtAV::AVEncoder:
QtAV::AudioEncoder QtAV::VideoEncoder

Public Types

enum  TimestampMode { TimestampMonotonic, TimestampCopy }
 

Signals

void error (const QtAV::AVError &e)
 
void codecNameChanged ()
 
void bitRateChanged ()
 
void timestampModeChanged (TimestampMode mode)
 

Public Member Functions

virtual ~AVEncoder ()
 
virtual QString name () const =0
 
virtual QString description () const
 
void setCodecName (const QString &name)
 setCodecName An encoder can support more than 1 codec. More...
 
QString codecName () const
 
bool open ()
 
bool close ()
 
bool isOpen () const
 
virtual void flush ()
 
Packet encoded () const
 
virtual void copyAVCodecContext (void *ctx)
 used by ff muxer. More...
 
void * codecContext () const
 
void setBitRate (int value)
 setBitRate Higher bit rate result in better quality. More...
 
int bitRate () const
 
TimestampMode timestampMode () const
 
void setTimestampMode (TimestampMode value)
 
void setOptions (const QVariantHash &dict)
 setOptions More...
 
QVariantHash options () const
 

Protected Member Functions

 AVEncoder (AVEncoderPrivate &d)
 

Properties

int bitRate
 
QString codecName
 
TimestampMode timestampMode
 

Member Enumeration Documentation

Enumerator
TimestampMonotonic 
TimestampCopy 

Constructor & Destructor Documentation

virtual QtAV::AVEncoder::~AVEncoder ( )
virtual
QtAV::AVEncoder::AVEncoder ( AVEncoderPrivate d)
protected

Member Function Documentation

int QtAV::AVEncoder::bitRate ( ) const
void QtAV::AVEncoder::bitRateChanged ( )
signal
bool QtAV::AVEncoder::close ( )
void* QtAV::AVEncoder::codecContext ( ) const
QString QtAV::AVEncoder::codecName ( ) const
void QtAV::AVEncoder::codecNameChanged ( )
signal
virtual void QtAV::AVEncoder::copyAVCodecContext ( void *  ctx)
virtual

used by ff muxer.

Be sure all parameters are set. (open?)

virtual QString QtAV::AVEncoder::description ( ) const
virtual
Packet QtAV::AVEncoder::encoded ( ) const
void QtAV::AVEncoder::error ( const QtAV::AVError e)
signal
virtual void QtAV::AVEncoder::flush ( )
virtual
bool QtAV::AVEncoder::isOpen ( ) const
virtual QString QtAV::AVEncoder::name ( ) const
pure virtual

Implemented in QtAV::VideoEncoder, and QtAV::AudioEncoder.

bool QtAV::AVEncoder::open ( )
QVariantHash QtAV::AVEncoder::options ( ) const
void QtAV::AVEncoder::setBitRate ( int  value)

setBitRate Higher bit rate result in better quality.

Default for video: 400000, audio: 64000

void QtAV::AVEncoder::setCodecName ( const QString &  name)

setCodecName An encoder can support more than 1 codec.

void QtAV::AVEncoder::setOptions ( const QVariantHash &  dict)

setOptions

  1. If has key "avcodec", it's value (suboption, a hash or map) will be used to set AVCodecContext use av_opt_set and av_dict_set. A value of hash type is ignored. we can ignore the flags used in av_dict_xxx because we can use hash api. empty value does nothing to current context if it is open, but will clear AVDictionary in the next open. AVDictionary is used in avcodec_open2() and will not change unless user call setOptions().
  2. Set QObject properties for AVEncoder. Use AVEncoder::name() or lower case as a key to set properties. If key not found, assume key is "avcodec"
  3. If no ket AVEncoder::name() found in the option, set key-value pairs as QObject property-value pairs.
void QtAV::AVEncoder::setTimestampMode ( TimestampMode  value)
TimestampMode QtAV::AVEncoder::timestampMode ( ) const
void QtAV::AVEncoder::timestampModeChanged ( TimestampMode  mode)
signal

Property Documentation

int QtAV::AVEncoder::bitRate
readwrite
QString QtAV::AVEncoder::codecName
readwrite
TimestampMode QtAV::AVEncoder::timestampMode
readwrite

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