Mercurial > libavformat.hg
comparison matroskadec.c @ 6222:0bc4c96a5aea libavformat
add AV_DISPOSITION_FORCED flag and use it in matroska demuxer
author | aurel |
---|---|
date | Fri, 02 Jul 2010 16:38:44 +0000 |
parents | 9df581584d50 |
children | 806269213b00 |
comparison
equal
deleted
inserted
replaced
6221:b9bf2d18f51e | 6222:0bc4c96a5aea |
---|---|
137 EbmlBin codec_priv; | 137 EbmlBin codec_priv; |
138 char *language; | 138 char *language; |
139 double time_scale; | 139 double time_scale; |
140 uint64_t default_duration; | 140 uint64_t default_duration; |
141 uint64_t flag_default; | 141 uint64_t flag_default; |
142 uint64_t flag_forced; | |
142 MatroskaTrackVideo video; | 143 MatroskaTrackVideo video; |
143 MatroskaTrackAudio audio; | 144 MatroskaTrackAudio audio; |
144 EbmlList encodings; | 145 EbmlList encodings; |
145 | 146 |
146 AVStream *stream; | 147 AVStream *stream; |
334 { MATROSKA_ID_CODECPRIVATE, EBML_BIN, 0, offsetof(MatroskaTrack,codec_priv) }, | 335 { MATROSKA_ID_CODECPRIVATE, EBML_BIN, 0, offsetof(MatroskaTrack,codec_priv) }, |
335 { MATROSKA_ID_TRACKLANGUAGE, EBML_UTF8, 0, offsetof(MatroskaTrack,language), {.s="eng"} }, | 336 { MATROSKA_ID_TRACKLANGUAGE, EBML_UTF8, 0, offsetof(MatroskaTrack,language), {.s="eng"} }, |
336 { MATROSKA_ID_TRACKDEFAULTDURATION, EBML_UINT, 0, offsetof(MatroskaTrack,default_duration) }, | 337 { MATROSKA_ID_TRACKDEFAULTDURATION, EBML_UINT, 0, offsetof(MatroskaTrack,default_duration) }, |
337 { MATROSKA_ID_TRACKTIMECODESCALE, EBML_FLOAT,0, offsetof(MatroskaTrack,time_scale), {.f=1.0} }, | 338 { MATROSKA_ID_TRACKTIMECODESCALE, EBML_FLOAT,0, offsetof(MatroskaTrack,time_scale), {.f=1.0} }, |
338 { MATROSKA_ID_TRACKFLAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTrack,flag_default), {.u=1} }, | 339 { MATROSKA_ID_TRACKFLAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTrack,flag_default), {.u=1} }, |
340 { MATROSKA_ID_TRACKFLAGFORCED, EBML_UINT, 0, offsetof(MatroskaTrack,flag_forced), {.u=0} }, | |
339 { MATROSKA_ID_TRACKVIDEO, EBML_NEST, 0, offsetof(MatroskaTrack,video), {.n=matroska_track_video} }, | 341 { MATROSKA_ID_TRACKVIDEO, EBML_NEST, 0, offsetof(MatroskaTrack,video), {.n=matroska_track_video} }, |
340 { MATROSKA_ID_TRACKAUDIO, EBML_NEST, 0, offsetof(MatroskaTrack,audio), {.n=matroska_track_audio} }, | 342 { MATROSKA_ID_TRACKAUDIO, EBML_NEST, 0, offsetof(MatroskaTrack,audio), {.n=matroska_track_audio} }, |
341 { MATROSKA_ID_TRACKCONTENTENCODINGS,EBML_NEST, 0, 0, {.n=matroska_track_encodings} }, | 343 { MATROSKA_ID_TRACKCONTENTENCODINGS,EBML_NEST, 0, 0, {.n=matroska_track_encodings} }, |
342 { MATROSKA_ID_TRACKFLAGENABLED, EBML_NONE }, | 344 { MATROSKA_ID_TRACKFLAGENABLED, EBML_NONE }, |
343 { MATROSKA_ID_TRACKFLAGFORCED, EBML_NONE }, | |
344 { MATROSKA_ID_TRACKFLAGLACING, EBML_NONE }, | 345 { MATROSKA_ID_TRACKFLAGLACING, EBML_NONE }, |
345 { MATROSKA_ID_CODECNAME, EBML_NONE }, | 346 { MATROSKA_ID_CODECNAME, EBML_NONE }, |
346 { MATROSKA_ID_CODECDECODEALL, EBML_NONE }, | 347 { MATROSKA_ID_CODECDECODEALL, EBML_NONE }, |
347 { MATROSKA_ID_CODECINFOURL, EBML_NONE }, | 348 { MATROSKA_ID_CODECINFOURL, EBML_NONE }, |
348 { MATROSKA_ID_CODECDOWNLOADURL, EBML_NONE }, | 349 { MATROSKA_ID_CODECDOWNLOADURL, EBML_NONE }, |
1389 av_metadata_set2(&st->metadata, "language", track->language, 0); | 1390 av_metadata_set2(&st->metadata, "language", track->language, 0); |
1390 av_metadata_set2(&st->metadata, "title", track->name, 0); | 1391 av_metadata_set2(&st->metadata, "title", track->name, 0); |
1391 | 1392 |
1392 if (track->flag_default) | 1393 if (track->flag_default) |
1393 st->disposition |= AV_DISPOSITION_DEFAULT; | 1394 st->disposition |= AV_DISPOSITION_DEFAULT; |
1395 if (track->flag_forced) | |
1396 st->disposition |= AV_DISPOSITION_FORCED; | |
1394 | 1397 |
1395 if (track->default_duration) | 1398 if (track->default_duration) |
1396 av_reduce(&st->codec->time_base.num, &st->codec->time_base.den, | 1399 av_reduce(&st->codec->time_base.num, &st->codec->time_base.den, |
1397 track->default_duration, 1000000000, 30000); | 1400 track->default_duration, 1000000000, 30000); |
1398 | 1401 |