#define TIMECODE 0x54494D45434F4445
typedef struct DTSHDDemuxContext {
- uint64_t data_start;
uint64_t data_end;
} DTSHDDemuxContext;
DTSHDDemuxContext *dtshd = s->priv_data;
AVIOContext *pb = s->pb;
uint64_t chunk_type, chunk_size;
- int64_t duration;
+ int64_t duration, data_start;
AVStream *st;
int ret;
char *value;
switch (chunk_type) {
case STRMDATA:
- dtshd->data_start = avio_tell(pb);
- dtshd->data_end = dtshd->data_start + chunk_size;
+ data_start = avio_tell(pb);
+ dtshd->data_end = data_start + chunk_size;
if (dtshd->data_end <= chunk_size)
return AVERROR_INVALIDDATA;
if (!pb->seekable)
if (!dtshd->data_end)
return AVERROR_EOF;
- avio_seek(pb, dtshd->data_start, SEEK_SET);
+ avio_seek(pb, data_start, SEEK_SET);
break_loop:
if (st->codecpar->sample_rate)