Bug 1521325 - TrackUnionStream.cpp: Value stored to 'inputTrackEndPoint' is never read. r=pehrsons

This is a change suggested by static analysis: http://sylvestre.ledru.info/reports/fx-scan-build/report-TrackUnionStream.cpp-CopyTrackData-24-1.html#EndPath

The condition that triggers the line in question breaks out of the loop.

```
for (some range)
  value = foo

  if (condition) {
    value = bar // the line in question
    break;
  }

  /* use value */

end
```

So if the condition is triggered, we leave the loop before `value` is used.

Differential Revision: https://phabricator.services.mozilla.com/D18169

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Emma Humphries 2019-02-01 06:09:04 +00:00
Родитель 97005f50c2
Коммит 657bf72d5f
1 изменённых файлов: 1 добавлений и 5 удалений

Просмотреть файл

@ -276,10 +276,8 @@ void TrackUnionStream::CopyTrackData(StreamTracks::Track* aInputTrack,
interval.mEnd = std::min(interval.mEnd, aTo);
StreamTime inputEnd =
source->GraphTimeToStreamTimeWithBlocking(interval.mEnd);
StreamTime inputTrackEndPoint = STREAM_TIME_MAX;
if (aInputTrack->IsEnded() && aInputTrack->GetEnd() <= inputEnd) {
inputTrackEndPoint = aInputTrack->GetEnd();
*aOutputTrackFinished = true;
break;
}
@ -309,9 +307,7 @@ void TrackUnionStream::CopyTrackData(StreamTracks::Track* aInputTrack,
"Samples missing");
StreamTime inputStart =
source->GraphTimeToStreamTimeWithBlocking(interval.mStart);
segment->AppendSlice(*aInputTrack->GetSegment(),
std::min(inputTrackEndPoint, inputStart),
std::min(inputTrackEndPoint, inputEnd));
segment->AppendSlice(*aInputTrack->GetSegment(), inputStart, inputEnd);
}
}
ApplyTrackDisabling(outputTrack->GetID(), segment);