Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
3e33fddb
authored
Dec 12, 2014
by
Oliver Woodman
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Correctly handle audio-only SmoothStreaming streams.
parent
f15e3973
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
16 deletions
demo/src/main/java/com/google/android/exoplayer/demo/full/player/SmoothStreamingRendererBuilder.java
demo/src/main/java/com/google/android/exoplayer/demo/full/player/SmoothStreamingRendererBuilder.java
View file @
3e33fddb
...
@@ -149,19 +149,28 @@ public class SmoothStreamingRendererBuilder implements RendererBuilder,
...
@@ -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,
...
@@ -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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment