From ea7caf4f91e29dc4787666a50e12009df08f78d1 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Wed, 19 Aug 2015 16:32:33 +0100 Subject: [PATCH] Bit of a hack to pass through original MediaFormat from FrameworkSampleSource. --- .../android/exoplayer/FrameworkSampleSource.java | 6 ++++-- .../com/google/android/exoplayer/MediaFormat.java | 12 ++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer/FrameworkSampleSource.java b/library/src/main/java/com/google/android/exoplayer/FrameworkSampleSource.java index 1f6bcf1c96..2aa50e079a 100644 --- a/library/src/main/java/com/google/android/exoplayer/FrameworkSampleSource.java +++ b/library/src/main/java/com/google/android/exoplayer/FrameworkSampleSource.java @@ -315,10 +315,12 @@ public final class FrameworkSampleSource implements SampleSource, SampleSourceRe } long durationUs = format.containsKey(android.media.MediaFormat.KEY_DURATION) ? format.getLong(android.media.MediaFormat.KEY_DURATION) : C.UNKNOWN_TIME_US; - return new MediaFormat(mimeType, maxInputSize, durationUs, width, height, rotationDegrees, - MediaFormat.NO_VALUE, channelCount, sampleRate, language, + MediaFormat mediaFormat = new MediaFormat(mimeType, maxInputSize, durationUs, width, height, + rotationDegrees, MediaFormat.NO_VALUE, channelCount, sampleRate, language, MediaFormat.OFFSET_SAMPLE_RELATIVE, initializationData, false, MediaFormat.NO_VALUE, MediaFormat.NO_VALUE); + mediaFormat.setFrameworkFormatV16(format); + return mediaFormat; } @TargetApi(16) diff --git a/library/src/main/java/com/google/android/exoplayer/MediaFormat.java b/library/src/main/java/com/google/android/exoplayer/MediaFormat.java index 330a638b46..8df83190e0 100644 --- a/library/src/main/java/com/google/android/exoplayer/MediaFormat.java +++ b/library/src/main/java/com/google/android/exoplayer/MediaFormat.java @@ -262,6 +262,18 @@ public final class MediaFormat { return frameworkMediaFormat; } + /** + * Sets the framework format returned by {@link #getFrameworkMediaFormatV16()}. + * + * @deprecated This method only exists for FrameworkSampleSource, which is itself deprecated. + * @param format The framework format. + */ + @Deprecated + @TargetApi(16) + /* package */ final void setFrameworkFormatV16(android.media.MediaFormat format) { + frameworkMediaFormat = format; + } + @Override public String toString() { return "MediaFormat(" + mimeType + ", " + maxInputSize + ", " + width + ", " + height + ", "