mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-26 04:50:25 +00:00
mpegts: Define the section length with a constant
The specification says the value is expressed in 10 bits including the 4-byte CRC.
This commit is contained in:
parent
701e8b42e1
commit
89616408e3
@ -89,6 +89,10 @@ typedef struct MpegTSWrite {
|
||||
#define DEFAULT_PES_HEADER_FREQ 16
|
||||
#define DEFAULT_PES_PAYLOAD_SIZE ((DEFAULT_PES_HEADER_FREQ - 1) * 184 + 170)
|
||||
|
||||
/* The section length is 12 bits. The first 2 are set to 0, the remaining
|
||||
* 10 bits should not exceed 1021. */
|
||||
#define SECTION_LENGTH 1020
|
||||
|
||||
/* NOTE: 4 bytes must be left at the end for the crc32 */
|
||||
static void mpegts_write_section(MpegTSSection *s, uint8_t *buf, int len)
|
||||
{
|
||||
@ -201,7 +205,7 @@ static void mpegts_write_pat(AVFormatContext *s)
|
||||
{
|
||||
MpegTSWrite *ts = s->priv_data;
|
||||
MpegTSService *service;
|
||||
uint8_t data[1012], *q;
|
||||
uint8_t data[SECTION_LENGTH], *q;
|
||||
int i;
|
||||
|
||||
q = data;
|
||||
@ -217,7 +221,7 @@ static void mpegts_write_pat(AVFormatContext *s)
|
||||
static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
|
||||
{
|
||||
MpegTSWrite *ts = s->priv_data;
|
||||
uint8_t data[1012], *q, *desc_length_ptr, *program_info_length_ptr;
|
||||
uint8_t data[SECTION_LENGTH], *q, *desc_length_ptr, *program_info_length_ptr;
|
||||
int val, stream_type, i;
|
||||
|
||||
q = data;
|
||||
@ -372,7 +376,7 @@ static void mpegts_write_sdt(AVFormatContext *s)
|
||||
{
|
||||
MpegTSWrite *ts = s->priv_data;
|
||||
MpegTSService *service;
|
||||
uint8_t data[1012], *q, *desc_list_len_ptr, *desc_len_ptr;
|
||||
uint8_t data[SECTION_LENGTH], *q, *desc_list_len_ptr, *desc_len_ptr;
|
||||
int i, running_status, free_ca_mode, val;
|
||||
|
||||
q = data;
|
||||
|
Loading…
Reference in New Issue
Block a user