private void releaseMediaExtractors() {
        // Audio and video extractors could be the same object,
        // but calling release twice does not hurt.
        if (mAudioExtractor != null) {
            mAudioExtractor.release();
            mAudioExtractor = null;
        }

        if (mVideoExtractor != null) {
            mVideoExtractor.release();
            mVideoExtractor = null;
        }
    }
Sets the media source and track indices. The track indices can either be actual track indices
that have been determined externally, {@link #TRACK_INDEX_AUTO} to automatically select
the first fitting track index, or {@link #TRACK_INDEX_NONE} to not select any track.

@param source the media source
@param videoTrackIndex a video track index or one of the TRACK_INDEX_* constants
@param audioTrackIndex an audio track index or one of the TRACK_INDEX_* constants
@throws IOException
@throws IllegalStateException
MediaPlayer/src/main/java/net/protyposis/android/mediaplayer/MediaPlayer.java