TsUtil
@UnstableApi
public final class TsUtil
Utilities method for extracting MPEG-TS streams.
Summary
Public methods |
|
|---|---|
static int |
findSyncBytePosition(byte[] data, int startPosition, int limitPosition)Returns the position of the first TS_SYNC_BYTE within the range [startPosition, limitPosition) from the provided data array, or returns limitPosition if sync byte could not be found. |
static boolean |
isStartOfTsPacket(byte[] data, int start, int limit, int searchPosition)Returns whether a TS packet starts at |
static long |
readPcrFromPacket(Returns the PCR value read from a given TS packet. |
Public methods
findSyncBytePosition
public static int findSyncBytePosition(byte[] data, int startPosition, int limitPosition)
Returns the position of the first TS_SYNC_BYTE within the range [startPosition, limitPosition) from the provided data array, or returns limitPosition if sync byte could not be found.
isStartOfTsPacket
public static boolean isStartOfTsPacket(byte[] data, int start, int limit, int searchPosition)
Returns whether a TS packet starts at searchPosition according to the MPEG-TS synchronization recommendations.
ISO/IEC 13818-1:2015 Annex G recommends that 5 sync bytes emulating the start of 5 consecutive TS packets should never occur as part of the TS packets' contents. So, this method returns true when data contains a sync byte at searchPosition, and said sync byte is also one of five consecutive sync bytes separated from each other by the size of a TS packet.
| Parameters | |
|---|---|
byte[] data |
The array holding the data to search in. |
int start |
The first valid position in |
int limit |
The first invalid position in |
int searchPosition |
The position to check for a TS packet start. |
| Returns | |
|---|---|
boolean |
Whether a TS packet starts at |
readPcrFromPacket
public static long readPcrFromPacket(
ParsableByteArray packetBuffer,
int startOfPacket,
int pcrPid
)
Returns the PCR value read from a given TS packet.
| Parameters | |
|---|---|
ParsableByteArray packetBuffer |
The buffer that holds the packet. |
int startOfPacket |
The starting position of the packet in the buffer. |
int pcrPid |
The PID for valid packets that contain PCR values. |
| Returns | |
|---|---|
long |
The PCR value read from the packet, if its PID is equal to |