private void parseAndDiscardSamples() { while (sampleQueue.hasNextSample()) { MetadataInputBuffer inputBuffer = dequeueSample(); if (inputBuffer == null) { continue; } long eventTimeUs = inputBuffer.timeUs; Metadata metadata = decoder.decode(inputBuffer); EventMessage eventMessage = (EventMessage) metadata.get(0); if (isPlayerEmsgEvent(eventMessage.schemeIdUri, eventMessage.value)) { parsePlayerEmsgEvent(eventTimeUs, eventMessage); } } sampleQueue.discardToRead(); }