private void initOnWorkerThread(int segmentNr) throws IOException {
        if (!mSegmentSwitchingThread.isAlive()) {
            // This can (should) only happen when releasing the extractor
            Log.d(TAG, "dropping init, thread is gone");
            return;
        }

        // Send the init command to the handler thread...
        mSegmentSwitchingHandler.sendMessage(mSegmentSwitchingHandler.obtainMessage(MESSAGE_SEGMENT_INIT, segmentNr, 0));
        // ... and block until it's done
        IOException e = mSegmentSwitchingBarrier.doWait();

        // Throw exception if init failed
        if(e != null) {
            throw e;
        }
    }
Informs the caller if the representation has changed, and resets the flag. This means, it
returns true only once (the first time) after the representation has changed.
@return true if the representation has changed between the previous and current call, else false
MediaPlayer-DASH/src/main/java/net/protyposis/android/mediaplayer/dash/DashMediaExtractor.java