Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Steve Lhomme
VLC
Commits
de94406f
Commit
de94406f
authored
Jan 10, 2009
by
littlejohn
Browse files
jvlc #23: make native resources release explicit
parent
0db07ccf
Changes
5
Hide whitespace changes
Inline
Side-by-side
bindings/java/core/src/main/java/org/videolan/jvlc/JVLC.java
View file @
de94406f
...
...
@@ -176,6 +176,9 @@ public class JVLC
vlm
.
release
();
vlm
=
null
;
}
mediaList
.
release
();
mediaListPlayer
.
release
();
libvlc
.
libvlc_release
(
instance
);
}
...
...
bindings/java/core/src/main/java/org/videolan/jvlc/MediaDescriptor.java
View file @
de94406f
...
...
@@ -36,7 +36,7 @@ public class MediaDescriptor
private
LibVlcMedia
instance
;
private
LibVlc
libvlc
;
private
LibVlcEventManager
eventManager
;
private
boolean
released
;
private
volatile
boolean
released
;
private
MediaPlayer
mediaPlayer
;
...
...
bindings/java/core/src/main/java/org/videolan/jvlc/MediaList.java
View file @
de94406f
...
...
@@ -26,7 +26,6 @@
package
org.videolan.jvlc
;
import
java.util.ArrayList
;
import
java.util.LinkedHashSet
;
import
java.util.List
;
import
org.videolan.jvlc.internal.LibVlc.LibVlcEventManager
;
...
...
@@ -42,10 +41,12 @@ public class MediaList
private
final
LibVlcMediaList
instance
;
private
final
LibVlcEventManager
eventManager
;
private
List
<
String
>
items
=
new
ArrayList
<
String
>();
private
LibVlcEventManager
eventManager
;
private
volatile
boolean
released
;
public
MediaList
(
JVLC
jvlc
)
{
this
.
jvlc
=
jvlc
;
...
...
@@ -188,7 +189,7 @@ public class MediaList
@Override
protected
void
finalize
()
throws
Throwable
{
jvlc
.
getLibvlc
().
libvlc_media_list_release
(
instance
);
release
(
);
super
.
finalize
();
}
...
...
@@ -201,6 +202,20 @@ public class MediaList
return
instance
;
}
/**
*
*/
public
void
release
()
{
if
(
released
)
{
return
;
}
released
=
true
;
jvlc
.
getLibvlc
().
libvlc_media_list_release
(
instance
);
}
}
bindings/java/core/src/main/java/org/videolan/jvlc/MediaListPlayer.java
View file @
de94406f
...
...
@@ -35,6 +35,8 @@ public class MediaListPlayer
private
final
LibVlcMediaListPlayer
instance
;
private
final
JVLC
jvlc
;
private
volatile
boolean
released
;
public
MediaListPlayer
(
JVLC
jvlc
)
{
...
...
@@ -172,8 +174,22 @@ public class MediaListPlayer
@Override
protected
void
finalize
()
throws
Throwable
{
jvlc
.
getLibvlc
().
libvlc_media_list_player_release
(
instance
);
release
(
);
super
.
finalize
();
}
/**
*
*/
public
void
release
()
{
if
(
released
)
{
return
;
}
released
=
true
;
jvlc
.
getLibvlc
().
libvlc_media_list_player_release
(
instance
);
}
}
bindings/java/core/src/main/java/org/videolan/jvlc/MediaPlayer.java
View file @
de94406f
...
...
@@ -51,6 +51,8 @@ public class MediaPlayer
private
MediaDescriptor
mediaDescriptor
;
private
volatile
boolean
released
;
MediaPlayer
(
JVLC
jvlc
,
LibVlcMediaPlayer
instance
)
{
libvlc_exception_t
exception
=
new
libvlc_exception_t
();
...
...
@@ -176,6 +178,18 @@ public class MediaPlayer
@Override
protected
void
finalize
()
throws
Throwable
{
release
();
super
.
finalize
();
}
public
void
release
()
{
if
(
released
)
{
return
;
}
released
=
true
;
libvlc_exception_t
exception
=
new
libvlc_exception_t
();
for
(
MediaPlayerCallback
callback
:
callbacks
)
{
...
...
@@ -187,9 +201,9 @@ public class MediaPlayer
}
}
libvlc
.
libvlc_media_player_release
(
instance
);
super
.
finalize
();
}
/**
* Returns the instance.
* @return the instance
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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