Ring Daemon 16.0.0
|
#include <media_decoder.h>
Public Types | |
enum class | CurrentState { Demuxing , Finished } |
enum class | Status { Success , EndOfFile , ReadBufferOverflow , ReadError , FallBack , RestartRequired } |
using | StreamCallback = std::function< DecodeStatus(AVPacket &)> |
Public Member Functions | |
Status | decode () |
Status | demuxe () |
bool | emitFrame (bool isAudio) |
void | findStreamInfo () |
MediaDemuxer::CurrentState | getCurrentState () |
int64_t | getDuration () const |
AVStream * | getStream (unsigned stream) |
MediaDemuxer () | |
int | openInput (const DeviceParams &) |
bool | seekFrame (int stream_index, int64_t timestamp) |
int | selectStream (AVMediaType type) |
void | setFileFinishedCb (std::function< void(bool)> cb) |
void | setInterruptCallback (int(*cb)(void *), void *opaque) |
void | setIOContext (MediaIOHandle *ioctx) |
void | setNeedFrameCb (std::function< void()> cb) |
void | setStreamCallback (unsigned stream, StreamCallback cb={}) |
void | updateCurrentState (MediaDemuxer::CurrentState state) |
~MediaDemuxer () | |
Static Public Member Functions | |
static const char * | getStatusStr (Status status) |
Definition at line 85 of file media_decoder.h.
using jami::MediaDemuxer::StreamCallback = std::function<DecodeStatus(AVPacket&)> |
Definition at line 103 of file media_decoder.h.
Enumerator | |
---|---|
Demuxing | |
Finished |
Definition at line 102 of file media_decoder.h.
|
strong |
Enumerator | |
---|---|
Success | |
EndOfFile | |
ReadBufferOverflow | |
ReadError | |
FallBack | |
RestartRequired |
Definition at line 91 of file media_decoder.h.
jami::MediaDemuxer::MediaDemuxer | ( | ) |
Definition at line 53 of file media_decoder.cpp.
jami::MediaDemuxer::~MediaDemuxer | ( | ) |
Definition at line 58 of file media_decoder.cpp.
References jami::emitSignal().
MediaDemuxer::Status jami::MediaDemuxer::decode | ( | ) |
Definition at line 373 of file media_decoder.cpp.
References jami::emitSignal(), EndOfFile, jami::FallBack, FallBack, jami::DeviceParams::format, jami::DeviceParams::framerate, jami::libav_utils::getError(), jami::DeviceParams::height, JAMI_ERR, jami::rational< I >::numerator(), ReadError, RestartRequired, Success, and jami::DeviceParams::width.
MediaDemuxer::Status jami::MediaDemuxer::demuxe | ( | ) |
Definition at line 325 of file media_decoder.cpp.
References av_packet_free(), jami::emitSignal(), EndOfFile, jami::libav_utils::getError(), JAMI_ERR, ReadBufferOverflow, ReadError, and Success.
Definition at line 284 of file media_decoder.cpp.
References jami::emitSignal().
void jami::MediaDemuxer::findStreamInfo | ( | ) |
Definition at line 217 of file media_decoder.cpp.
References jami::emitSignal(), jami::libav_utils::getError(), and JAMI_ERR.
|
inline |
Definition at line 124 of file media_decoder.h.
int64_t jami::MediaDemuxer::getDuration | ( | ) | const |
Definition at line 201 of file media_decoder.cpp.
Definition at line 66 of file media_decoder.cpp.
References EndOfFile, FallBack, ReadBufferOverflow, ReadError, RestartRequired, and Success.
Referenced by jami::video::VideoReceiveThread::decodeFrame().
Definition at line 126 of file media_decoder.h.
References JAMI_ERR.
int jami::MediaDemuxer::openInput | ( | const DeviceParams & | params | ) |
Definition at line 87 of file media_decoder.cpp.
References jami::emitSignal(), jami::libav_utils::getError(), JAMI_ERROR, JAMI_LOG, JAMI_WARN, jami::jitterBufferMaxDelay_, jami::jitterBufferMaxSize_, and jami::to_string().
Definition at line 207 of file media_decoder.cpp.
References jami::emitSignal().
int jami::MediaDemuxer::selectStream | ( | AVMediaType | type | ) |
Definition at line 230 of file media_decoder.cpp.
References jami::emitSignal(), and JAMI_DBG.
Definition at line 261 of file media_decoder.cpp.
References jami::emitSignal().
Definition at line 245 of file media_decoder.cpp.
References jami::emitSignal().
void jami::MediaDemuxer::setIOContext | ( | MediaIOHandle * | ioctx | ) |
Definition at line 367 of file media_decoder.cpp.
References jami::emitSignal().
Definition at line 255 of file media_decoder.cpp.
References jami::emitSignal().
|
inline |
Definition at line 113 of file media_decoder.h.
|
inline |
Definition at line 120 of file media_decoder.h.