libavformat/mpegtsenc.c File Reference

#include "libavutil/bswap.h"
#include "libavutil/crc.h"
#include "libavcodec/mpegvideo.h"
#include "avformat.h"
#include "mpegts.h"

Go to the source code of this file.

Data Structures

struct  MpegTSSection
struct  MpegTSService
struct  MpegTSWrite
struct  MpegTSWriteStream

Defines

#define DEFAULT_PMT_START_PID   0x1000
#define DEFAULT_START_PID   0x0100
#define DEFAULT_PROVIDER_NAME   "FFmpeg"
#define DEFAULT_SERVICE_NAME   "Service01"
#define DEFAULT_ONID   0x0001
#define DEFAULT_TSID   0x0001
#define DEFAULT_SID   0x0001
#define DEFAULT_PES_HEADER_FREQ   16
#define DEFAULT_PES_PAYLOAD_SIZE   ((DEFAULT_PES_HEADER_FREQ - 1) * 184 + 170)
#define SDT_RETRANS_TIME   500
#define PAT_RETRANS_TIME   100
#define PCR_RETRANS_TIME   20

Functions

static void mpegts_write_section (MpegTSSection *s, uint8_t *buf, int len)
static void put16 (uint8_t **q_ptr, int val)
static int mpegts_write_section1 (MpegTSSection *s, int tid, int id, int version, int sec_num, int last_sec_num, uint8_t *buf, int len)
static void mpegts_write_pat (AVFormatContext *s)
static void mpegts_write_pmt (AVFormatContext *s, MpegTSService *service)
static void putstr8 (uint8_t **q_ptr, const char *str)
static void mpegts_write_sdt (AVFormatContext *s)
static MpegTSServicempegts_add_service (MpegTSWrite *ts, int sid, const char *provider_name, const char *name)
static void section_write_packet (MpegTSSection *s, const uint8_t *packet)
static int mpegts_write_header (AVFormatContext *s)
static void retransmit_si_info (AVFormatContext *s)
static void write_pts (uint8_t *q, int fourbits, int64_t pts)
static void mpegts_write_pes (AVFormatContext *s, AVStream *st, const uint8_t *payload, int payload_size, int64_t pts, int64_t dts)
static int mpegts_write_packet (AVFormatContext *s, AVPacket *pkt)
static int mpegts_write_end (AVFormatContext *s)

Variables

AVOutputFormat mpegts_muxer


Define Documentation

#define DEFAULT_ONID   0x0001

Definition at line 158 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define DEFAULT_PES_HEADER_FREQ   16

Definition at line 163 of file mpegtsenc.c.

#define DEFAULT_PES_PAYLOAD_SIZE   ((DEFAULT_PES_HEADER_FREQ - 1) * 184 + 170)

Definition at line 164 of file mpegtsenc.c.

Referenced by mpegts_write_header(), and mpegts_write_packet().

#define DEFAULT_PMT_START_PID   0x1000

Definition at line 152 of file mpegtsenc.c.

Referenced by mpegts_add_service().

#define DEFAULT_PROVIDER_NAME   "FFmpeg"

Definition at line 154 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define DEFAULT_SERVICE_NAME   "Service01"

Definition at line 155 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define DEFAULT_SID   0x0001

Definition at line 160 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define DEFAULT_START_PID   0x0100

Definition at line 153 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define DEFAULT_TSID   0x0001

Definition at line 159 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define PAT_RETRANS_TIME   100

Definition at line 168 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define PCR_RETRANS_TIME   20

Definition at line 169 of file mpegtsenc.c.

Referenced by mpegts_write_header().

#define SDT_RETRANS_TIME   500

Definition at line 167 of file mpegtsenc.c.

Referenced by mpegts_write_header().


Function Documentation

static MpegTSService* mpegts_add_service ( MpegTSWrite ts,
int  sid,
const char *  provider_name,
const char *  name 
) [static]

Definition at line 354 of file mpegtsenc.c.

Referenced by mpegts_write_header().

static int mpegts_write_end ( AVFormatContext s  )  [static]

Definition at line 784 of file mpegtsenc.c.

static int mpegts_write_header ( AVFormatContext s  )  [static]

Definition at line 379 of file mpegtsenc.c.

static int mpegts_write_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 688 of file mpegtsenc.c.

static void mpegts_write_pat ( AVFormatContext s  )  [static]

Definition at line 181 of file mpegtsenc.c.

Referenced by mpegts_write_header(), and retransmit_si_info().

static void mpegts_write_pes ( AVFormatContext s,
AVStream st,
const uint8_t *  payload,
int  payload_size,
int64_t  pts,
int64_t  dts 
) [static]

Definition at line 522 of file mpegtsenc.c.

Referenced by mpegts_write_end(), and mpegts_write_packet().

static void mpegts_write_pmt ( AVFormatContext s,
MpegTSService service 
) [static]

Definition at line 198 of file mpegtsenc.c.

Referenced by mpegts_write_header(), and retransmit_si_info().

static void mpegts_write_sdt ( AVFormatContext s  )  [static]

Definition at line 316 of file mpegtsenc.c.

Referenced by mpegts_write_header(), and retransmit_si_info().

static void mpegts_write_section ( MpegTSSection s,
uint8_t *  buf,
int  len 
) [static]

Definition at line 66 of file mpegtsenc.c.

Referenced by mpegts_write_section1().

static int mpegts_write_section1 ( MpegTSSection s,
int  tid,
int  id,
int  version,
int  sec_num,
int  last_sec_num,
uint8_t *  buf,
int  len 
) [static]

Definition at line 124 of file mpegtsenc.c.

Referenced by mpegts_write_pat(), mpegts_write_pmt(), and mpegts_write_sdt().

static void put16 ( uint8_t **  q_ptr,
int  val 
) [inline, static]

static void putstr8 ( uint8_t **  q_ptr,
const char *  str 
) [static]

Definition at line 300 of file mpegtsenc.c.

Referenced by mpegts_write_sdt().

static void retransmit_si_info ( AVFormatContext s  )  [static]

Definition at line 489 of file mpegtsenc.c.

Referenced by mpegts_write_pes().

static void section_write_packet ( MpegTSSection s,
const uint8_t *  packet 
) [static]

Definition at line 373 of file mpegtsenc.c.

Referenced by mpegts_write_header().

static void write_pts ( uint8_t *  q,
int  fourbits,
int64_t  pts 
) [static]

Definition at line 507 of file mpegtsenc.c.

Referenced by mpegts_write_pes().


Variable Documentation

Initial value:

 {
    "mpegts",
    NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
    "video/x-mpegts",
    "ts,m2t",
    sizeof(MpegTSWrite),
    CODEC_ID_MP2,
    CODEC_ID_MPEG2VIDEO,
    mpegts_write_header,
    mpegts_write_packet,
    mpegts_write_end,
}

Definition at line 814 of file mpegtsenc.c.


Generated on Fri Oct 26 02:35:45 2012 for FFmpeg by  doxygen 1.5.8