Commit d513fb1c authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos

Add -skip_initial_bytes option.

Fixes ticket #1909.
parent b1e190d0
...@@ -1162,6 +1162,13 @@ typedef struct AVFormatContext { ...@@ -1162,6 +1162,13 @@ typedef struct AVFormatContext {
*/ */
enum AVDurationEstimationMethod duration_estimation_method; enum AVDurationEstimationMethod duration_estimation_method;
/**
* Skip initial bytes when opening stream
* - encoding: unused
* - decoding: Set by user via AVOptions (NO direct access)
*/
unsigned int skip_initial_bytes;
/***************************************************************** /*****************************************************************
* All fields below this line are not part of the public API. They * All fields below this line are not part of the public API. They
* may not be used outside of libavformat and can be changed and * may not be used outside of libavformat and can be changed and
......
...@@ -72,6 +72,7 @@ static const AVOption options[]={ ...@@ -72,6 +72,7 @@ static const AVOption options[]={
{"aggressive", "consider things that a sane encoder shouldnt do as an error", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_AGGRESSIVE }, INT_MIN, INT_MAX, D, "err_detect"}, {"aggressive", "consider things that a sane encoder shouldnt do as an error", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_AGGRESSIVE }, INT_MIN, INT_MAX, D, "err_detect"},
{"use_wallclock_as_timestamps", "use wallclock as timestamps", OFFSET(use_wallclock_as_timestamps), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1, D}, {"use_wallclock_as_timestamps", "use wallclock as timestamps", OFFSET(use_wallclock_as_timestamps), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1, D},
{"avoid_negative_ts", "avoid negative timestamps", OFFSET(avoid_negative_ts), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 1, E}, {"avoid_negative_ts", "avoid negative timestamps", OFFSET(avoid_negative_ts), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 1, E},
{"skip_initial_bytes", "skip initial bytes", OFFSET(skip_initial_bytes), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1, D},
{NULL}, {NULL},
}; };
......
...@@ -561,6 +561,7 @@ int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputForma ...@@ -561,6 +561,7 @@ int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputForma
if ((ret = init_input(s, filename, &tmp)) < 0) if ((ret = init_input(s, filename, &tmp)) < 0)
goto fail; goto fail;
avio_skip(s->pb, s->skip_initial_bytes);
/* check filename in case an image number is expected */ /* check filename in case an image number is expected */
if (s->iformat->flags & AVFMT_NEEDNUMBER) { if (s->iformat->flags & AVFMT_NEEDNUMBER) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment