memcpy(side_data, c->recon, c->recon_size);
}
+ if (st->discard == AVDISCARD_ALL)
+ pkt->flags |= AV_PKT_FLAG_DISCARD;
+
pkt->stream_index = st->index;
return 0;
}
sample->size = FFMIN(sample->size, (mov->next_root_atom - sample->pos));
}
- if (st->discard != AVDISCARD_ALL) {
+ if (st->discard != AVDISCARD_ALL || sc->iamf) {
int64_t ret64 = avio_seek(sc->pb, sample->pos, SEEK_SET);
if (ret64 != sample->pos) {
av_log(mov->fc, AV_LOG_ERROR, "stream %d, offset 0x%"PRIx64": partial file\n",
return ret;
}
size -= ret;
+
+ if (pkt->flags & AV_PKT_FLAG_DISCARD) {
+ av_packet_unref(pkt);
+ ret = 0;
+ continue;
+ }
pkt->pts = pts; pkt->dts = dts;
pkt->pos = pos; pkt->flags |= flags;
pkt->duration = duration;
#include "version_major.h"
#define LIBAVFORMAT_VERSION_MINOR 3
-#define LIBAVFORMAT_VERSION_MICRO 100
+#define LIBAVFORMAT_VERSION_MICRO 101
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \