mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
FLV: Ignore invalid SCRIPTDATA name type, rather than fail playback
Issue: #7675 PiperOrigin-RevId: 323371286
This commit is contained in:
parent
3198c51bdb
commit
c010d28b14
2 changed files with 5 additions and 4 deletions
|
|
@ -9,6 +9,8 @@
|
||||||
* FMP4: Fix `saiz` and `senc` sample count checks, resolving a "length
|
* FMP4: Fix `saiz` and `senc` sample count checks, resolving a "length
|
||||||
mismatch" `ParserException` when playing certain protected FMP4 streams
|
mismatch" `ParserException` when playing certain protected FMP4 streams
|
||||||
([#7592](https://github.com/google/ExoPlayer/issues/7592)).
|
([#7592](https://github.com/google/ExoPlayer/issues/7592)).
|
||||||
|
* FLV: Ignore SCRIPTDATA segments with invalid name types, rather than failing
|
||||||
|
playback ([#7675](https://github.com/google/ExoPlayer/issues/7675)).
|
||||||
* IMA extension: Upgrade to IMA SDK 3.19.4, bringing in a fix for setting the
|
* IMA extension: Upgrade to IMA SDK 3.19.4, bringing in a fix for setting the
|
||||||
media load timeout
|
media load timeout
|
||||||
([#7170](https://github.com/google/ExoPlayer/issues/7170)).
|
([#7170](https://github.com/google/ExoPlayer/issues/7170)).
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ package com.google.android.exoplayer2.extractor.flv;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import com.google.android.exoplayer2.C;
|
import com.google.android.exoplayer2.C;
|
||||||
import com.google.android.exoplayer2.ParserException;
|
|
||||||
import com.google.android.exoplayer2.extractor.DummyTrackOutput;
|
import com.google.android.exoplayer2.extractor.DummyTrackOutput;
|
||||||
import com.google.android.exoplayer2.util.ParsableByteArray;
|
import com.google.android.exoplayer2.util.ParsableByteArray;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -65,11 +64,11 @@ import java.util.Map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean parsePayload(ParsableByteArray data, long timeUs) throws ParserException {
|
protected boolean parsePayload(ParsableByteArray data, long timeUs) {
|
||||||
int nameType = readAmfType(data);
|
int nameType = readAmfType(data);
|
||||||
if (nameType != AMF_TYPE_STRING) {
|
if (nameType != AMF_TYPE_STRING) {
|
||||||
// Should never happen.
|
// Ignore segments with unexpected name type.
|
||||||
throw new ParserException();
|
return false;
|
||||||
}
|
}
|
||||||
String name = readAmfString(data);
|
String name = readAmfString(data);
|
||||||
if (!NAME_METADATA.equals(name)) {
|
if (!NAME_METADATA.equals(name)) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue