mirror of
https://github.com/androidx/media.git
synced 2025-05-11 09:39:52 +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.
|
||||
DataSource videoDataSource = new UriDataSource(userAgent, bandwidthMeter);
|
||||
ChunkSource videoChunkSource = new SmoothStreamingChunkSource(manifestFetcher,
|
||||
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);
|
||||
MediaCodecVideoTrackRenderer videoRenderer = new MediaCodecVideoTrackRenderer(videoSampleSource,
|
||||
drmSessionManager, true, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT, 5000, null,
|
||||
mainHandler, player, 50);
|
||||
final MediaCodecVideoTrackRenderer videoRenderer;
|
||||
final TrackRenderer debugRenderer;
|
||||
if (videoTrackIndexList.isEmpty()) {
|
||||
videoRenderer = null;
|
||||
debugRenderer = null;
|
||||
} else {
|
||||
int[] videoTrackIndices = Util.toArray(videoTrackIndexList);
|
||||
DataSource videoDataSource = new UriDataSource(userAgent, bandwidthMeter);
|
||||
ChunkSource videoChunkSource = new SmoothStreamingChunkSource(manifestFetcher,
|
||||
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.
|
||||
final String[] audioTrackNames;
|
||||
@ -224,11 +233,6 @@ public class SmoothStreamingRendererBuilder implements RendererBuilder,
|
||||
mainHandler.getLooper());
|
||||
}
|
||||
|
||||
// Build the debug renderer.
|
||||
TrackRenderer debugRenderer = debugTextView != null
|
||||
? new DebugTrackRenderer(debugTextView, videoRenderer, videoSampleSource)
|
||||
: null;
|
||||
|
||||
// Invoke the callback.
|
||||
String[][] trackNames = new String[DemoPlayer.RENDERER_COUNT][];
|
||||
trackNames[DemoPlayer.TYPE_AUDIO] = audioTrackNames;
|
||||
|
Loading…
x
Reference in New Issue
Block a user