mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
HLS: Consider all programs.
I'm not sure exactly what the implications of this change are, but I'd really hope that only one program in each stream is carrying audio/video. For GoPro cameras, they expose the video stream in the second program, for some reason. Issue: #116
This commit is contained in:
parent
0756c3d28c
commit
1fce55f6fe
@ -320,21 +320,17 @@ public final class TsExtractor {
|
||||
tsBuffer.skipBytes(pointerField);
|
||||
}
|
||||
|
||||
// Skip PAT header.
|
||||
tsBuffer.skipBits(64); // 8+1+1+2+12+16+2+5+1+8+8
|
||||
tsBuffer.skipBits(12); // 8+1+1+2
|
||||
int sectionLength = tsBuffer.readBits(12);
|
||||
tsBuffer.skipBits(40); // 16+2+5+1+8+8
|
||||
|
||||
// Only read the first program and take it.
|
||||
|
||||
// Skip program_number.
|
||||
tsBuffer.skipBits(16 + 3);
|
||||
int pid = tsBuffer.readBits(13);
|
||||
|
||||
// Pick the first program.
|
||||
if (tsPayloadReaders.get(pid) == null) {
|
||||
int programCount = (sectionLength - 9) / 4;
|
||||
for (int i = 0; i < programCount; i++) {
|
||||
tsBuffer.skipBits(19);
|
||||
int pid = tsBuffer.readBits(13);
|
||||
tsPayloadReaders.put(pid, new PmtReader());
|
||||
}
|
||||
|
||||
// Skip other programs if exist.
|
||||
// Skip CRC_32.
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user