oggparseskeleton: Fix fisbone header parsing
start_granule should be applied to the stream referenced in the fisbone packet, not to the Skeleton stream. This was broken ind1f05dd183
and produced bogus warnings about multiple fisbone in the same stream on files with more than one stream. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit3960992f0a
)
This commit is contained in:
@@ -74,12 +74,17 @@ static int skeleton_header(AVFormatContext *s, int idx)
|
||||
|
||||
target_idx = ogg_find_stream(ogg, AV_RL32(buf+12));
|
||||
start_granule = AV_RL64(buf+36);
|
||||
if (target_idx < 0) {
|
||||
av_log(s, AV_LOG_WARNING, "Serial number in fisbone doesn't match any stream\n");
|
||||
return 1;
|
||||
}
|
||||
os = ogg->streams + target_idx;
|
||||
if (os->start_granule != OGG_NOGRANULE_VALUE) {
|
||||
av_log_missing_feature(s,
|
||||
"Multiple fisbone for the same stream", 0);
|
||||
return 1;
|
||||
}
|
||||
if (target_idx >= 0 && start_granule != OGG_NOGRANULE_VALUE) {
|
||||
if (start_granule != OGG_NOGRANULE_VALUE) {
|
||||
os->start_granule = start_granule;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user