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
f52742b1
authored
Sep 19, 2014
by
Oliver Woodman
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Ensure that we try and call release on a renderer
Do this even if stop/disable fails.
parent
4e96caa6
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
8 deletions
library/src/main/java/com/google/android/exoplayer/ExoPlayerImplInternal.java
library/src/main/java/com/google/android/exoplayer/ExoPlayerImplInternal.java
View file @
f52742b1
...
@@ -491,26 +491,41 @@ import java.util.List;
...
@@ -491,26 +491,41 @@ import java.util.List;
return
;
return
;
}
}
for
(
int
i
=
0
;
i
<
renderers
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
renderers
.
length
;
i
++)
{
try
{
TrackRenderer
renderer
=
renderers
[
i
];
TrackRenderer
renderer
=
renderers
[
i
];
stopAndDisable
(
renderer
);
release
(
renderer
);
}
renderers
=
null
;
timeSourceTrackRenderer
=
null
;
enabledRenderers
.
clear
();
setState
(
ExoPlayer
.
STATE_IDLE
);
}
private
void
stopAndDisable
(
TrackRenderer
renderer
)
{
try
{
ensureStopped
(
renderer
);
ensureStopped
(
renderer
);
if
(
renderer
.
getState
()
==
TrackRenderer
.
STATE_ENABLED
)
{
if
(
renderer
.
getState
()
==
TrackRenderer
.
STATE_ENABLED
)
{
renderer
.
disable
();
renderer
.
disable
();
}
}
renderer
.
release
();
}
catch
(
ExoPlaybackException
e
)
{
}
catch
(
ExoPlaybackException
e
)
{
// There's nothing we can do. Catch the exception here so that other renderers still have
// There's nothing we can do.
// a chance of being cleaned up correctly.
Log
.
e
(
TAG
,
"Stop failed."
,
e
);
Log
.
e
(
TAG
,
"Stop failed."
,
e
);
}
catch
(
RuntimeException
e
)
{
}
catch
(
RuntimeException
e
)
{
// Ditto.
// Ditto.
Log
.
e
(
TAG
,
"Stop failed."
,
e
);
Log
.
e
(
TAG
,
"Stop failed."
,
e
);
}
}
}
}
renderers
=
null
;
timeSourceTrackRenderer
=
null
;
private
void
release
(
TrackRenderer
renderer
)
{
enabledRenderers
.
clear
();
try
{
setState
(
ExoPlayer
.
STATE_IDLE
);
renderer
.
release
();
}
catch
(
ExoPlaybackException
e
)
{
// There's nothing we can do.
Log
.
e
(
TAG
,
"Release failed."
,
e
);
}
catch
(
RuntimeException
e
)
{
// Ditto.
Log
.
e
(
TAG
,
"Release failed."
,
e
);
}
}
}
private
<
T
>
void
sendMessageInternal
(
int
what
,
Object
obj
)
private
<
T
>
void
sendMessageInternal
(
int
what
,
Object
obj
)
...
...
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