mirror of
https://github.com/androidx/media.git
synced 2025-05-12 10:09:55 +08:00
Correctly handle audio-only SmoothStreaming streams.
This commit is contained in:
parent
f15e3973e0
commit
3e33fddbc1
@ -149,19 +149,28 @@ public class SmoothStreamingRendererBuilder implements RendererBuilder,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int[] videoTrackIndices = Util.toArray(videoTrackIndexList);
|
|
||||||
|
|
||||||
// Build the video renderer.
|
// Build the video renderer.
|
||||||
DataSource videoDataSource = new UriDataSource(userAgent, bandwidthMeter);
|
final MediaCodecVideoTrackRenderer videoRenderer;
|
||||||
ChunkSource videoChunkSource = new SmoothStreamingChunkSource(manifestFetcher,
|
final TrackRenderer debugRenderer;
|
||||||
videoStreamElementIndex, videoTrackIndices, videoDataSource,
|
if (videoTrackIndexList.isEmpty()) {
|
||||||
new AdaptiveEvaluator(bandwidthMeter), LIVE_EDGE_LATENCY_MS);
|
videoRenderer = null;
|
||||||
ChunkSampleSource videoSampleSource = new ChunkSampleSource(videoChunkSource, loadControl,
|
debugRenderer = null;
|
||||||
VIDEO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, true, mainHandler, player,
|
} else {
|
||||||
DemoPlayer.TYPE_VIDEO);
|
int[] videoTrackIndices = Util.toArray(videoTrackIndexList);
|
||||||
MediaCodecVideoTrackRenderer videoRenderer = new MediaCodecVideoTrackRenderer(videoSampleSource,
|
DataSource videoDataSource = new UriDataSource(userAgent, bandwidthMeter);
|
||||||
drmSessionManager, true, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT, 5000, null,
|
ChunkSource videoChunkSource = new SmoothStreamingChunkSource(manifestFetcher,
|
||||||
mainHandler, player, 50);
|
videoStreamElementIndex, videoTrackIndices, videoDataSource,
|
||||||
|
new AdaptiveEvaluator(bandwidthMeter), LIVE_EDGE_LATENCY_MS);
|
||||||
|
ChunkSampleSource videoSampleSource = new ChunkSampleSource(videoChunkSource, loadControl,
|
||||||
|
VIDEO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, true, mainHandler, player,
|
||||||
|
DemoPlayer.TYPE_VIDEO);
|
||||||
|
videoRenderer = new MediaCodecVideoTrackRenderer(videoSampleSource, drmSessionManager, true,
|
||||||
|
MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT, 5000, null, mainHandler, player, 50);
|
||||||
|
debugRenderer = debugTextView != null
|
||||||
|
? new DebugTrackRenderer(debugTextView, videoRenderer, videoSampleSource)
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
// Build the audio renderer.
|
// Build the audio renderer.
|
||||||
final String[] audioTrackNames;
|
final String[] audioTrackNames;
|
||||||
@ -224,11 +233,6 @@ public class SmoothStreamingRendererBuilder implements RendererBuilder,
|
|||||||
mainHandler.getLooper());
|
mainHandler.getLooper());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build the debug renderer.
|
|
||||||
TrackRenderer debugRenderer = debugTextView != null
|
|
||||||
? new DebugTrackRenderer(debugTextView, videoRenderer, videoSampleSource)
|
|
||||||
: null;
|
|
||||||
|
|
||||||
// Invoke the callback.
|
// Invoke the callback.
|
||||||
String[][] trackNames = new String[DemoPlayer.RENDERER_COUNT][];
|
String[][] trackNames = new String[DemoPlayer.RENDERER_COUNT][];
|
||||||
trackNames[DemoPlayer.TYPE_AUDIO] = audioTrackNames;
|
trackNames[DemoPlayer.TYPE_AUDIO] = audioTrackNames;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user