GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
ts_muxer.h File Reference
#include <gpac/modules/term_ext.h>
#include <gpac/internal/terminal_dev.h>
#include <gpac/internal/compositor_dev.h>
#include <gpac/network.h>
#include <gpac/tools.h>
#include <libavcodec/avcodec.h>
#include <gpac/ringbuffer.h>
+ Include dependency graph for ts_muxer.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_AVRedirect
 

Macros

#define TS_MUX_MODE_PUT
 
#define AVMEDIA_TYPE_AUDIO   CODEC_TYPE_AUDIO
 
#define AVMEDIA_TYPE_VIDEO   CODEC_TYPE_VIDEO
 
#define AV_PKT_FLAG_KEY   PKT_FLAG_KEY
 

Functions

GF_AbstractTSMuxer * ts_amux_new (GF_AVRedirect *avr, u32 videoBitrateInBitsPerSec, u32 width, u32 height, u32 audioBitRateInBitsPerSec)
 
void ts_amux_del (GF_AbstractTSMuxer *muxerToDelete)
 
Bool ts_encode_audio_frame (GF_AbstractTSMuxer *ts, uint8_t *data, int encoded, u64 pts)
 
Bool ts_encode_video_frame (GF_AbstractTSMuxer *ts, uint8_t *data, int encoded)
 
AVCodecContext * ts_get_video_codec_context (GF_AbstractTSMuxer *ts)
 
AVCodecContext * ts_get_audio_codec_context (GF_AbstractTSMuxer *ts)
 

Data Structure Documentation

struct GF_AVRedirect
+ Collaboration diagram for GF_AVRedirect:
Data Fields
GF_Terminal * term
Bool is_open
GF_AudioListener audio_listen
GF_VideoListener video_listen
GF_TermEventFilter term_listen
char * frame
u32 size
GF_AbstractTSMuxer * ts_implementation
Bool encode
AVCodec * audioCodec
AVCodec * videoCodec
AVFrame * YUVpicture
AVFrame * RGBpicture
struct SwsContext * swsContext
uint8_t * yuv_data
uint8_t * videoOutbuf
u32 videoOutbufSize
GF_Ringbuffer * pcmAudio
u32 audioCurrentTime
GF_Thread * encodingThread
GF_Thread * audioEncodingThread
GF_Mutex * frameMutex
GF_Mutex * encodingMutex
volatile Bool is_running
u64 frameTime
u64 frameTimeEncoded
u32 audioSampleRate

Audio parameters for encoding

u16 audioChannels
u32 srcWidth

Video parameters for encoding

u32 srcHeight
const char * destination
GF_GlobalLock * globalLock
Bool started

Macro Definition Documentation

#define TS_MUX_MODE_PUT
#define AVMEDIA_TYPE_AUDIO   CODEC_TYPE_AUDIO
#define AVMEDIA_TYPE_VIDEO   CODEC_TYPE_VIDEO
#define AV_PKT_FLAG_KEY   PKT_FLAG_KEY

Function Documentation

GF_AbstractTSMuxer* ts_amux_new ( GF_AVRedirect avr,
u32  videoBitrateInBitsPerSec,
u32  width,
u32  height,
u32  audioBitRateInBitsPerSec 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ts_amux_del ( GF_AbstractTSMuxer *  muxerToDelete)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool ts_encode_audio_frame ( GF_AbstractTSMuxer *  ts,
uint8_t data,
int  encoded,
u64  pts 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool ts_encode_video_frame ( GF_AbstractTSMuxer *  ts,
uint8_t data,
int  encoded 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

AVCodecContext* ts_get_video_codec_context ( GF_AbstractTSMuxer *  ts)

+ Here is the caller graph for this function:

AVCodecContext* ts_get_audio_codec_context ( GF_AbstractTSMuxer *  ts)

+ Here is the caller graph for this function: