summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/isom.h9
-rw-r--r--libavformat/mov.c20
-rw-r--r--libavformat/movenc.c2
3 files changed, 18 insertions, 13 deletions
diff --git a/libavformat/isom.h b/libavformat/isom.h
index f3c18c95be..ef8f19b18c 100644
--- a/libavformat/isom.h
+++ b/libavformat/isom.h
@@ -55,9 +55,14 @@ struct AVAESCTR;
typedef struct MOVStts {
unsigned int count;
- int duration;
+ unsigned int duration;
} MOVStts;
+typedef struct MOVCtts {
+ unsigned int count;
+ int duration;
+} MOVCtts;
+
typedef struct MOVStsc {
int first;
int count;
@@ -168,7 +173,7 @@ typedef struct MOVStreamContext {
uint8_t *sdtp_data;
unsigned int ctts_count;
unsigned int ctts_allocated_size;
- MOVStts *ctts_data;
+ MOVCtts *ctts_data;
unsigned int stsc_count;
MOVStsc *stsc_data;
unsigned int stsc_index;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 8a910a3165..451cb78bbf 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -77,7 +77,7 @@ typedef struct MOVParseTableEntry {
static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom);
static int mov_read_mfra(MOVContext *c, AVIOContext *f);
-static int64_t add_ctts_entry(MOVStts** ctts_data, unsigned int* ctts_count, unsigned int* allocated_size,
+static int64_t add_ctts_entry(MOVCtts** ctts_data, unsigned int* ctts_count, unsigned int* allocated_size,
int count, int duration);
static int mov_metadata_track_or_disc_number(MOVContext *c, AVIOContext *pb,
@@ -2938,7 +2938,7 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return AVERROR(ENOMEM);
for (i = 0; i < entries && !pb->eof_reached; i++) {
- int sample_duration;
+ unsigned int sample_duration;
unsigned int sample_count;
unsigned int min_entries = FFMIN(FFMAX(i + 1, 1024 * 1024), entries);
MOVStts *stts_data = av_fast_realloc(sc->stts_data, &alloc_size,
@@ -3191,7 +3191,7 @@ static int get_edit_list_entry(MOVContext *mov,
static int find_prev_closest_index(AVStream *st,
AVIndexEntry *e_old,
int nb_old,
- MOVStts* ctts_data,
+ MOVCtts* ctts_data,
int64_t ctts_count,
int64_t timestamp_pts,
int flag,
@@ -3342,17 +3342,17 @@ static void fix_index_entry_timestamps(AVStream* st, int end_index, int64_t end_
* Append a new ctts entry to ctts_data.
* Returns the new ctts_count if successful, else returns -1.
*/
-static int64_t add_ctts_entry(MOVStts** ctts_data, unsigned int* ctts_count, unsigned int* allocated_size,
+static int64_t add_ctts_entry(MOVCtts** ctts_data, unsigned int* ctts_count, unsigned int* allocated_size,
int count, int duration)
{
- MOVStts *ctts_buf_new;
- const size_t min_size_needed = (*ctts_count + 1) * sizeof(MOVStts);
+ MOVCtts *ctts_buf_new;
+ const size_t min_size_needed = (*ctts_count + 1) * sizeof(MOVCtts);
const size_t requested_size =
min_size_needed > *allocated_size ?
FFMAX(min_size_needed, 2 * (*allocated_size)) :
min_size_needed;
- if ((unsigned)(*ctts_count) >= UINT_MAX / sizeof(MOVStts) - 1)
+ if ((unsigned)(*ctts_count) >= UINT_MAX / sizeof(MOVCtts) - 1)
return -1;
ctts_buf_new = av_fast_realloc(*ctts_data, allocated_size, requested_size);
@@ -3486,7 +3486,7 @@ static void mov_fix_index(MOVContext *mov, AVStream *st)
int nb_old = sti->nb_index_entries;
const AVIndexEntry *e_old_end = e_old + nb_old;
const AVIndexEntry *current = NULL;
- MOVStts *ctts_data_old = msc->ctts_data;
+ MOVCtts *ctts_data_old = msc->ctts_data;
int64_t ctts_index_old = 0;
int64_t ctts_sample_old = 0;
int64_t ctts_count_old = msc->ctts_count;
@@ -3793,7 +3793,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
unsigned int stps_index = 0;
unsigned int i, j;
uint64_t stream_size = 0;
- MOVStts *ctts_data_old = sc->ctts_data;
+ MOVCtts *ctts_data_old = sc->ctts_data;
unsigned int ctts_count_old = sc->ctts_count;
if (sc->elst_count) {
@@ -4754,7 +4754,7 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom)
AVStream *st = NULL;
FFStream *sti = NULL;
MOVStreamContext *sc;
- MOVStts *ctts_data;
+ MOVCtts *ctts_data;
uint64_t offset;
int64_t dts, pts = AV_NOPTS_VALUE;
int data_offset = 0;
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 37d4403f7a..233aee62d4 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2434,7 +2434,7 @@ static int mov_write_stsd_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContext
static int mov_write_ctts_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
{
MOVMuxContext *mov = s->priv_data;
- MOVStts *ctts_entries;
+ MOVCtts *ctts_entries;
uint32_t entries = 0;
uint32_t atom_size;
int i;