Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
0e977f2f
Commit
0e977f2f
authored
Jul 26, 2006
by
Filippo Carone
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Sync bindings/java with jvlc head (release is close ;).
parent
d48bf82b
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
782 additions
and
203 deletions
+782
-203
bindings/java/Makefile.am
bindings/java/Makefile.am
+8
-10
bindings/java/VLCExample.java
bindings/java/VLCExample.java
+23
-9
bindings/java/VlcClient.java
bindings/java/VlcClient.java
+34
-3
bindings/java/org/videolan/jvlc/AudioIntf.java
bindings/java/org/videolan/jvlc/AudioIntf.java
+29
-5
bindings/java/org/videolan/jvlc/InputIntf.java
bindings/java/org/videolan/jvlc/InputIntf.java
+29
-9
bindings/java/org/videolan/jvlc/JLibVLC.java
bindings/java/org/videolan/jvlc/JLibVLC.java
+1
-1
bindings/java/org/videolan/jvlc/JVLC.java
bindings/java/org/videolan/jvlc/JVLC.java
+100
-44
bindings/java/org/videolan/jvlc/Playlist.java
bindings/java/org/videolan/jvlc/Playlist.java
+15
-15
bindings/java/org/videolan/jvlc/PlaylistIntf.java
bindings/java/org/videolan/jvlc/PlaylistIntf.java
+67
-13
bindings/java/org/videolan/jvlc/VLCException.java
bindings/java/org/videolan/jvlc/VLCException.java
+46
-0
bindings/java/org/videolan/jvlc/VLMIntf.java
bindings/java/org/videolan/jvlc/VLMIntf.java
+59
-7
bindings/java/org/videolan/jvlc/VideoIntf.java
bindings/java/org/videolan/jvlc/VideoIntf.java
+7
-14
bindings/java/vlc-graphics-jni.cc
bindings/java/vlc-graphics-jni.cc
+1
-10
bindings/java/vlc-libvlc-jni.cc
bindings/java/vlc-libvlc-jni.cc
+363
-63
No files found.
bindings/java/Makefile.am
View file @
0e977f2f
...
...
@@ -4,16 +4,15 @@
if
BUILD_JAVA
OBJECTS
=
org/videolan/jvlc/Playlist.class org/videolan/jvlc/AudioIntf.class org/videolan/jvlc/InputIntf.class org/videolan/jvlc/PlaylistIntf.class org/videolan/jvlc/VideoIntf.class org/videolan/jvlc/JLibVLC.class org/videolan/jvlc/JVLC.class org/videolan/jvlc/JVLCCanvas.class org/videolan/jvlc/JVLCPanel.class org/videolan/jvlc/VLMIntf.class org/videolan/jvlc/GenericVideoWidget.class
OBJECTS
=
org/videolan/jvlc/
VLCException.class org/videolan/jvlc/
Playlist.class org/videolan/jvlc/AudioIntf.class org/videolan/jvlc/InputIntf.class org/videolan/jvlc/PlaylistIntf.class org/videolan/jvlc/VideoIntf.class org/videolan/jvlc/JLibVLC.class org/videolan/jvlc/JVLC.class org/videolan/jvlc/JVLCCanvas.class org/videolan/jvlc/JVLCPanel.class org/videolan/jvlc/VLMIntf.class org/videolan/jvlc/GenericVideoWidget.class
# Include some JAVA stuff
PROCESSOR_FAMILY
=
`
uname
-m
|
sed
-e
's/^i.86/i386/'
|
sed
-e
's/^x86_64/amd64/'
`
if
HAVE_WIN32
JINCLUDES
=
-I
${JAVA_HOME}
/include
-I
${JAVA_HOME}
/include/win32
LIBJINCLUDES
=
-L
${JAVA_HOME}
/lib
-ljawt
J
C
C
=
javac
J
AVA
C
=
javac
JCH
=
javah
JCC_FLAGS
=
#CXX = g++ -Wall -mno-cygwin -g
#LDFLAGS = -mno-cygwin `vlc-config --libs external pic` -Wl,--kill-at
JAVACXXFLAGS
=
`
top_builddir
=
../.. ../../vlc-config
--cflags
pic
`
-I
../../
-I
../../include
$(JINCLUDES)
...
...
@@ -21,11 +20,10 @@ JAVALDFLAGS = -mno-cygwin -L../../src -lvlc `top_builddir=../.. ../../vlc-config
else
JINCLUDES
=
-I
$(JAVA_HOME)
/include
-I
$(JAVA_HOME)
/include/linux
LIBJINCLUDES
=
-L
$(JAVA_HOME)
/jre/lib/
$(PROCESSOR_FAMILY)
-ljawt
J
CC
=
gcj
-g
J
AVAC
=
gcj
-Wall
-g
-C
JCH
=
gcjh
-jni
SWT_PATH
=
/usr/share/java
# Compile flags
JCC_FLAGS
=
-C
JAVACXXFLAGS
=
`
top_builddir
=
../.. ../../vlc-config
--cflags
pic
`
-I
../../
-I
../../include
$(JINCLUDES)
JAVALDFLAGS
=
-L
../../src
-lvlc
`
top_builddir
=
../.. ../../vlc-config
--libs
builtin
vlc pic
`
endif
...
...
@@ -48,22 +46,22 @@ vlc-libvlc-jni.o: VlcClient
$(CXX)
-c
vlc-libvlc-jni.cc
$(CXXFLAGS)
$(JAVACXXFLAGS)
VlcClient
:
$(OBJECTS)
$(J
CC)
$(JCC_FLAGS
)
VlcClient.java
$(J
AVAC
)
VlcClient.java
VLCExample
:
$(OBJECTS)
$(J
CC)
$(JCC_FLAGS
)
VLCExample.java
$(J
AVAC
)
VLCExample.java
if
HAVE_WIN32
%.class
:
%.java
$(J
CC)
$(JCC_FLAGS)
$?
$(J
AVAC)
$?
$(JCH)
org.videolan.jvlc.
$
(
*
F
)
else
%.class
:
%.java
$(J
CC)
$(JCC_FLAGS
)
$?
$(J
AVAC
)
$?
$(JCH)
org/videolan/jvlc/
$
(
*
F
)
endif
clean
:
rm
-f
*
.class
*
~ org/videolan/jvlc/
*
.class org_videolan
*
.h
*
.so
*
.o
*
.dll
endif
\ No newline at end of file
endif
bindings/java/VLCExample.java
View file @
0e977f2f
import
org.videolan.jvlc.JVLC
;
import
org.videolan.jvlc.VLCException
;
public
class
VLCExample
...
...
@@ -7,27 +8,36 @@ public class VLCExample
public
static
void
main
(
String
[]
args
)
{
boolean
videoInput
=
false
;
JVLC
jvlc
=
new
JVLC
();
JVLC
jvlc
=
new
JVLC
(
args
);
try
{
jvlc
.
playlist
.
add
(
"file://"
+
System
.
getProperty
(
"user.dir"
)
+
"/a.avi"
,
"a.avi"
);
jvlc
.
playlist
.
add
(
"file://"
+
System
.
getProperty
(
"user.dir"
)
+
"/a.mp3"
,
"a.mp3"
);
jvlc
.
playlist
.
play
(
-
1
,
null
);
}
catch
(
VLCException
e
)
{
e
.
printStackTrace
();
}
while
(!
jvlc
.
isInputPlaying
())
;
while
(!
jvlc
.
hasVout
()
);
// testing vout functionalities
// testing vout functionalities
try
{
Thread
.
sleep
(
500
);
Thread
.
sleep
(
2
500
);
if
(
jvlc
.
hasVout
())
videoInput
=
true
;
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
if
(
videoInput
)
{
System
.
out
.
print
(
jvlc
.
getVideoWidth
());
System
.
out
.
print
(
"x"
);
System
.
out
.
println
(
jvlc
.
getVideoHeight
());
try
{
System
.
out
.
print
(
jvlc
.
getVideoWidth
());
System
.
out
.
print
(
"x"
);
System
.
out
.
println
(
jvlc
.
getVideoHeight
());
}
catch
(
VLCException
e
)
{
e
.
printStackTrace
();
}
}
try
{
...
...
@@ -71,7 +81,11 @@ public class VLCExample
System
.
out
.
println
(
"Everything fine ;)"
);
System
.
out
.
println
(
"Playing next item"
);
jvlc
.
playlist
.
next
();
try
{
jvlc
.
playlist
.
next
();
}
catch
(
VLCException
e
)
{
e
.
printStackTrace
();
}
try
{
Thread
.
sleep
(
3000
);
...
...
bindings/java/VlcClient.java
View file @
0e977f2f
/*****************************************************************************
* VlcClient.java: Sample Swing player
*****************************************************************************
* Copyright (C) 1998-2006 the VideoLAN team
*
* Created on 28-feb-2006
*
* $Id: AudioIntf.java 8 2006-02-28 12:03:47Z little $
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
*/
import
java.awt.Frame
;
import
java.awt.event.WindowAdapter
;
import
java.awt.event.WindowEvent
;
import
org.videolan.jvlc.JVLCPanel
;
import
org.videolan.jvlc.JVLC
;
import
org.videolan.jvlc.VLCException
;
class
VLCPlayerFrame
extends
Frame
{
public
VLCPlayerFrame
()
{
...
...
@@ -109,15 +135,20 @@ class VLCPlayerFrame extends Frame {
private
void
pauseButtonActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
try
{
//System.out.println(mci.getMediaPosition(PositionOrigin.ABSOLUTE, PositionKey.BYTECOUNT));
jvlc
.
playlist
.
p
ause
();
jvlc
.
playlist
.
toggleP
ause
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
private
void
setButtonActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
jvlc
.
playlist
.
add
(
"file:///home/little/a.avi"
,
"a.avi"
);
jvlc
.
playlist
.
play
(-
1
,
null
);
try
{
jvlc
.
playlist
.
add
(
"file:///home/little/a.avi"
,
"a.avi"
);
jvlc
.
playlist
.
play
(-
1
,
null
);
}
catch
(
VLCException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
}
private
void
fullScreenButtonActionPerformed
(
java
.
awt
.
event
.
ActionEvent
evt
)
{
...
...
bindings/java/org/videolan/jvlc/AudioIntf.java
View file @
0e977f2f
...
...
@@ -30,9 +30,33 @@
package
org.videolan.jvlc
;
public
interface
AudioIntf
{
boolean
getMute
();
void
setMute
(
boolean
value
);
void
toggleMute
();
int
getVolume
();
void
setVolume
(
int
volume
);
/**
* @return True if input is currently muted.
* @throws VLCException
*/
boolean
getMute
()
throws
VLCException
;
/**
* @param value If true, then the input is muted.
* @throws VLCException
*/
void
setMute
(
boolean
value
)
throws
VLCException
;
/**
* Toggles mute
* @throws VLCException
*/
void
toggleMute
()
throws
VLCException
;
/**
* @return The volume level
* @throws VLCException
*/
int
getVolume
()
throws
VLCException
;
/**
* @param volume The volume level (0-200) to set.
* @throws VLCException
*/
void
setVolume
(
int
volume
)
throws
VLCException
;
}
bindings/java/org/videolan/jvlc/InputIntf.java
View file @
0e977f2f
...
...
@@ -29,21 +29,41 @@
package
org.videolan.jvlc
;
/**
* @author little
*
*/
public
interface
InputIntf
{
/**
*
This function returns the total length of the current file playing
*
in millis.
*
@return The total length of the current file playing in millis.
*
@throws VLCException
*/
long
getInputLength
();
long
getInputLength
()
throws
VLCException
;
/**
* This function returns the current position in millis within the
* currently playing playlist item.
* @return The current position in millis within the playing item.
* @throws VLCException
*/
long
getInputTime
()
throws
VLCException
;
/**
* @return The position in %.
* @throws VLCException
*/
float
getInputPosition
()
throws
VLCException
;
/**
* Not implemented
* @throws VLCException
*/
void
setInputTime
()
throws
VLCException
;
/**
* @return If the playing item is a video file, returns the FPS, otherwise 0.
* @throws VLCException
*/
long
getInputTime
();
float
getInputPosition
();
void
setInputTime
();
double
getInputFPS
();
double
getInputFPS
()
throws
VLCException
;
}
bindings/java/org/videolan/jvlc/JLibVLC.java
View file @
0e977f2f
...
...
@@ -28,4 +28,4 @@
package
org.videolan.jvlc
;
public
interface
JLibVLC
extends
AudioIntf
,
VideoIntf
,
InputIntf
{
}
public
interface
JLibVLC
extends
AudioIntf
,
VideoIntf
,
InputIntf
,
VLMIntf
{
}
bindings/java/org/videolan/jvlc/JVLC.java
View file @
0e977f2f
...
...
@@ -5,7 +5,8 @@
* Copyright (C) 1998-2006 the VideoLAN team
*
* Author: Filippo Carone <filippo@carone.org>
*
* Philippe Morin <phmorin@free.fr>
*
* Created on 28-feb-2006
*
* $Id$
...
...
@@ -29,14 +30,10 @@
package
org.videolan.jvlc
;
/**
* @author little
*
*/
public
class
JVLC
implements
JLibVLC
,
Runnable
{
static
{
System
.
load
(
System
.
getProperty
(
"user.dir"
)
+
"/libjvlc.so
"
);
System
.
load
Library
(
"jvlc
"
);
}
/**
...
...
@@ -47,12 +44,20 @@ public class JVLC implements JLibVLC, Runnable {
private
boolean
beingDestroyed
=
false
;
/**
* This is the time in millis VLC checks for internal status
*/
private
long
resolution
=
50
;
private
boolean
inputPlaying
=
false
;
private
boolean
inputVout
=
false
;
public
JVLC
()
{
_instance
=
createInstance
();
String
[]
args
=
new
String
[
1
];
args
[
0
]
=
""
;
_instance
=
createInstance
(
args
);
playlist
=
new
Playlist
(
_instance
);
new
Thread
(
this
).
start
();
}
...
...
@@ -108,90 +113,139 @@ public class JVLC implements JLibVLC, Runnable {
private
native
int
_getVideoWidth
();
private
native
void
_getSnapshot
(
String
filename
);
/*
* VLM native methods
*/
private
native
void
_addBroadcast
(
String
mediaName
,
String
meditInputMRL
,
String
mediaOutputMRL
,
String
[]
additionalOptions
,
boolean
enableBroadcast
,
boolean
isPlayableInLoop
);
private
native
void
_deleteMedia
(
String
mediaName
);
private
native
void
_setEnabled
(
String
mediaName
,
boolean
newStatus
);
private
native
void
_setOutput
(
String
mediaName
,
String
mediaOutputMRL
);
private
native
void
_setInput
(
String
mediaName
,
String
mediaInputMRL
);
private
native
void
_setLoop
(
String
mediaName
,
boolean
isPlayableInLoop
);
private
native
void
_changeMedia
(
String
newMediaName
,
String
inputMRL
,
String
outputMRL
,
String
[]
additionalOptions
,
boolean
enableNewBroadcast
,
boolean
isPlayableInLoop
);
/*
* Native methods wrappers
*/
public
boolean
getMute
()
{
public
boolean
getMute
()
throws
VLCException
{
return
_getMute
();
}
public
void
setMute
(
boolean
value
)
{
public
void
setMute
(
boolean
value
)
throws
VLCException
{
_setMute
(
value
);
}
public
void
toggleMute
()
{
public
void
toggleMute
()
throws
VLCException
{
_toggleMute
();
}
public
int
getVolume
()
{
public
int
getVolume
()
throws
VLCException
{
return
_getVolume
();
}
public
void
setVolume
(
int
volume
)
{
public
void
setVolume
(
int
volume
)
throws
VLCException
{
_setVolume
(
volume
);
}
public
void
toggleFullscreen
()
{
public
void
toggleFullscreen
()
throws
VLCException
{
_toggleFullscreen
();
}
public
void
setFullscreen
(
boolean
value
)
{
public
void
setFullscreen
(
boolean
value
)
throws
VLCException
{
_setFullscreen
(
value
);
}
public
boolean
getFullscreen
()
{
public
boolean
getFullscreen
()
throws
VLCException
{
return
_getFullscreen
();
}
public
int
getVideoHeight
()
{
public
int
getVideoHeight
()
throws
VLCException
{
return
_getVideoHeight
();
}
public
int
getVideoWidth
()
{
public
int
getVideoWidth
()
throws
VLCException
{
return
_getVideoWidth
();
}
public
long
getInputLength
()
{
public
long
getInputLength
()
throws
VLCException
{
return
_getInputLength
();
}
public
long
getInputTime
()
{
public
long
getInputTime
()
throws
VLCException
{
return
_getInputTime
();
}
public
float
getInputPosition
()
{
public
float
getInputPosition
()
throws
VLCException
{
return
_getInputPosition
();
}
public
void
setInputTime
()
{
public
void
setInputTime
()
throws
VLCException
{
// TODO Auto-generated method stub
}
public
double
getInputFPS
()
{
public
double
getInputFPS
()
throws
VLCException
{
return
_getInputFPS
();
}
public
long
getInstance
()
{
public
long
getInstance
()
throws
VLCException
{
return
_instance
;
}
/*
* Getters and setters
*/
public
Playlist
getPlaylist
()
{
public
Playlist
getPlaylist
()
throws
VLCException
{
return
playlist
;
}
public
void
getSnapshot
(
String
filename
)
{
public
void
getSnapshot
(
String
filename
)
throws
VLCException
{
_getSnapshot
(
filename
);
}
public
void
addBroadcast
(
String
name
,
String
input
,
String
output
,
String
[]
options
,
boolean
enabled
,
boolean
loop
)
throws
VLCException
{
_addBroadcast
(
name
,
input
,
output
,
options
,
enabled
,
loop
);
}
public
void
deleteMedia
(
String
name
)
throws
VLCException
{
_deleteMedia
(
name
);
}
public
void
setEnabled
(
String
name
,
boolean
enabled
)
throws
VLCException
{
_setEnabled
(
name
,
enabled
);
}
public
void
setOutput
(
String
name
,
String
output
)
throws
VLCException
{
_setOutput
(
name
,
output
);
}
public
void
setInput
(
String
name
,
String
input
)
throws
VLCException
{
_setInput
(
name
,
input
);
}
public
void
setLoop
(
String
name
,
boolean
loop
)
throws
VLCException
{
_setLoop
(
name
,
loop
);
}
public
void
changeMedia
(
String
name
,
String
input
,
String
output
,
String
[]
options
,
boolean
enabled
,
boolean
loop
)
throws
VLCException
{
_changeMedia
(
name
,
input
,
output
,
options
,
enabled
,
loop
);
}
/**
* Checks if the input is playing.
...
...
@@ -217,26 +271,28 @@ public class JVLC implements JLibVLC, Runnable {
*/
public
void
run
()
{
while
(!
beingDestroyed
)
{
while
(
playlist
.
isRunning
())
{
if
(
playlist
.
inputIsPlaying
())
{
inputPlaying
=
true
;
try
{
while
(
playlist
.
isRunning
())
{
if
(
playlist
.
inputIsPlaying
())
{
inputPlaying
=
true
;
}
else
{
inputPlaying
=
false
;
}
if
(
playlist
.
inputHasVout
())
{
inputVout
=
true
;
}
else
{
inputVout
=
false
;
}
try
{
Thread
.
sleep
(
resolution
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
else
{
inputPlaying
=
false
;
}
if
(
playlist
.
inputHasVout
())
{
inputVout
=
true
;
}
else
{
inputVout
=
false
;
}
try
{
Thread
.
sleep
(
resolution
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
// while playlist running
}
catch
(
VLCException
e1
)
{
}
// while playlist running
inputPlaying
=
false
;
inputVout
=
false
;
try
{
...
...
bindings/java/org/videolan/jvlc/Playlist.java
View file @
0e977f2f
...
...
@@ -54,71 +54,71 @@ public class Playlist implements PlaylistIntf {
native
private
boolean
_inputHasVout
();
public
synchronized
void
play
(
int
id
,
String
[]
options
)
{
public
synchronized
void
play
(
int
id
,
String
[]
options
)
throws
VLCException
{
_play
(
id
,
options
);
}
public
synchronized
void
play
()
{
public
synchronized
void
play
()
throws
VLCException
{
play
(-
1
,
null
);
}
public
synchronized
void
pause
()
{
public
synchronized
void
togglePause
()
throws
VLCException
{
_pause
();
}
public
synchronized
void
stop
()
{
public
synchronized
void
stop
()
throws
VLCException
{
_stop
();
}
public
boolean
isRunning
()
{
public
boolean
isRunning
()
throws
VLCException
{
return
(
_isRunning
()
==
0
)?
false
:
true
;
}
public
synchronized
int
itemsCount
()
{
public
synchronized
int
itemsCount
()
throws
VLCException
{
return
_itemsCount
();
}
public
synchronized
void
next
()
{
public
synchronized
void
next
()
throws
VLCException
{
if
(!
isRunning
())
play
();
_next
();
}
public
synchronized
void
prev
()
{
public
synchronized
void
prev
()
throws
VLCException
{
if
(!
isRunning
())
play
();
_prev
();
}
public
synchronized
void
clear
()
{
public
synchronized
void
clear
()
throws
VLCException
{
_clear
();
}
public
synchronized
int
add
(
String
uri
,
String
name
,
String
[]
options
)
{
public
synchronized
int
add
(
String
uri
,
String
name
,
String
[]
options
)
throws
VLCException
{
return
_playlist_add
(
uri
,
name
,
options
);
}
public
synchronized
int
add
(
String
uri
,
String
name
)
{
public
synchronized
int
add
(
String
uri
,
String
name
)
throws
VLCException
{
return
add
(
uri
,
name
,
null
);
}
public
synchronized
void
addExtended
()
{
}
public
synchronized
void
deleteItem
(
int
itemID
)
{
public
synchronized
void
deleteItem
(
int
itemID
)
throws
VLCException
{
_deleteItem
(
itemID
);
}
public
long
getInstance
()
{
public
long
getInstance
()
throws
VLCException
{
return
libvlcInstance
;
}
public
synchronized
boolean
inputIsPlaying
()
{
public
synchronized
boolean
inputIsPlaying
()
throws
VLCException
{
return
_inputIsPlaying
();
}
public
synchronized
boolean
inputHasVout
()
{
public
synchronized
boolean
inputHasVout
()
throws
VLCException
{
return
_inputHasVout
();
}
...
...
bindings/java/org/videolan/jvlc/PlaylistIntf.java
View file @
0e977f2f
...
...
@@ -30,18 +30,72 @@
package
org.videolan.jvlc
;
public
interface
PlaylistIntf
{
void
play
(
int
id
,
String
[]
options
);
void
pause
();
void
stop
();
boolean
isRunning
();
int
itemsCount
();
boolean
inputIsPlaying
();
void
next
();
void
prev
();
void
clear
();
int
add
(
String
uri
,
String
name
);
/**
* @param id The ID to play
* @param options Options to play the item withs
*/
void
play
(
int
id
,
String
[]
options
)
throws
VLCException
;
/**
* Plays the current item
*/
void
play
()
throws
VLCException
;
/**
* Toggles pause for the current item.
*/
void
togglePause
()
throws
VLCException
;
/**
* Stops the playlist.
*/
void
stop
()
throws
VLCException
;
/**
* @return True if playlist is not stopped
*/
boolean
isRunning
()
throws
VLCException
;
/**
* @return Current number of items in the playlist
*/
int
itemsCount
()
throws
VLCException
;
/**
* @return True if the current input is really playing
*/
boolean
inputIsPlaying
()
throws
VLCException
;
/**
* Move to next item
*/
void
next
()
throws
VLCException
;
/**
* Move to previous item
*/
void
prev
()
throws
VLCException
;
/**
* Clear the playlist
*/
void
clear
()
throws
VLCException
;
/**
* Add a new item in the playlist
* @param uri Location of the item
* @param name Name of the item
* @return The item ID
*/
int
add
(
String
uri
,
String
name
)
throws
VLCException
;
/**
* Currently not implemented
*/
void
addExtended
();
boolean
inputHasVout
();
/**
* @return True if the current input has spawned a video output window
*/
boolean
inputHasVout
()
throws
VLCException
;
}
bindings/java/org/videolan/jvlc/VLCException.java
0 → 100644
View file @
0e977f2f
/*****************************************************************************
* JVLC.java: Main Java Class, represents a libvlc_instance_t object
*****************************************************************************
*
* Copyright (C) 1998-2006 the VideoLAN team
*
* Author: Philippe Morin <phmorin@free.fr>
*
* Created on 18-jul-2006
*
* $Id $
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*
*/
package
org.videolan.jvlc
;
import
java.lang.Exception
;
public
class
VLCException
extends
Exception
{
public
VLCException
()
{
super
();
}
public
VLCException
(
String
message
)
{
super
(
message
);
}
public
VLCException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
public
VLCException
(
Throwable
cause
)
{
super
(
cause
);
}
}
bindings/java/org/videolan/jvlc/VLMIntf.java
View file @
0e977f2f
...
...
@@ -29,12 +29,64 @@
package
org.videolan.jvlc
;
public
interface
VLMIntf
{
void
addBroadcast
(
String
name
,
String
input
,
String
output
,
String
[]
options
,
boolean
enabled
,
boolean
loop
);
void
deleteMedia
(
String
name
);
void
setEnabled
(
String
name
,
boolean
enabled
);
void
setOutput
(
String
name
,
String
output
);
void
setInput
(
String
name
,
String
input
);
void
setLoop
(
String
name
,
boolean
loop
);
void
changeMedia
(
String
name
,
String
input
,
String
output
,
String
[]
options
,
boolean
enabled
,
boolean
loop
);
/**
* Add a broadcast, with one input
* @param mediaName the name of the new broadcast
* @param medInputMRL the input MRL
* @param mediaOutputURL the output MRL (the parameter to the "sout" variable)
* @param additionalOptions additional options
* @param enableBroadcast boolean for enabling the new broadcast
* @param isPlayableInLoop Should this broadcast be played in loop ?
*/
void
addBroadcast
(
String
name
,
String
input
,
String
output
,
String
[]
options
,
boolean
enabled
,
boolean
loop
)
throws
VLCException
;
/**
* Delete a media (vod or broadcast)
* @param name the media to delete
*/
void
deleteMedia
(
String
name
)
throws
VLCException
;
/**
* Enable or disable a media (vod or broadcast)
* @param name the media to work on
* @param enabled the new status
*/
void
setEnabled
(
String
name
,
boolean
enabled
)
throws
VLCException
;
/**
* Set the output for a media
* @param name the media to work on
* @param output the output MRL (the parameter to the "sout" variable)
*/
void
setOutput
(
String
name
,
String
output
)
throws
VLCException
;
/**
* Set a media's input MRL. This will delete all existing inputs and
* add the specified one.
* @param name the media to work on
* @param input the input MRL
*/
void
setInput
(
String
name
,
String
input
)
throws
VLCException
;
/**
* Set output for a media
* @param name the media to work on
* @param loop the new status
*/
void
setLoop
(
String
name
,
boolean
loop
)
throws
VLCException
;
/**
* Edit the parameters of a media. This will delete all existing inputs and
* add the specified one.
* @param name the name of the new broadcast
* @param input the input MRL
* @param output the output MRL (the parameter to the "sout" variable)
* @param options additional options
* @param enabled boolean for enabling the new broadcast
* @param loop Should this broadcast be played in loop ?
*/
void
changeMedia
(
String
name
,
String
input
,
String
output
,
String
[]
options
,
boolean
enabled
,
boolean
loop
)
throws
VLCException
;
}
bindings/java/org/videolan/jvlc/VideoIntf.java
View file @
0e977f2f
...
...
@@ -29,32 +29,25 @@
package
org.videolan.jvlc
;
/**
* @author little
*
*/
/**
* @author little
*
*/
public
interface
VideoIntf
{
/**
* Toggles the fullscreen.
*/
void
toggleFullscreen
();
void
toggleFullscreen
()
throws
VLCException
;
/**
* Sets fullscreen if fullscreen argument is true.
* @param fullscreen
*/
void
setFullscreen
(
boolean
fullscreen
);
void
setFullscreen
(
boolean
fullscreen
)
throws
VLCException
;
/**
* @return True if the current video window is in fullscreen mode.
*/
boolean
getFullscreen
();
boolean
getFullscreen
()
throws
VLCException
;
/**
...
...
@@ -63,16 +56,16 @@ public interface VideoIntf {
* If you only give a path, not including the filename, the snapshot will be saved in
* the specified path using vlc naming conventions.
*/
void
getSnapshot
(
String
filepath
);
void
getSnapshot
(
String
filepath
)
throws
VLCException
;
/**
* @return The current video window height
*/
int
getVideoHeight
();
int
getVideoHeight
()
throws
VLCException
;
/**
* @return The current video window width
*/
int
getVideoWidth
();
int
getVideoWidth
()
throws
VLCException
;
}
bindings/java/vlc-graphics-jni.cc
View file @
0e977f2f
...
...
@@ -26,10 +26,7 @@
#include <jawt.h>
#include <jawt_md.h>
#ifndef WIN32
#include <X11/Xlib.h> // for Xlibs graphics functions
#endif
#include <stdio.h> // for printf
/* JVLC internal imports, generated by gcjh */
...
...
@@ -44,16 +41,10 @@ JNIEXPORT void JNICALL Java_org_videolan_jvlc_JVLCCanvas_paint (JNIEnv *env, job
JAWT
awt
;
JAWT_DrawingSurface
*
ds
;
JAWT_DrawingSurfaceInfo
*
dsi
;
#ifdef WIN32
JAWT_Win32DrawingSurfaceInfo
*
dsi_win
;
#else
JAWT_X11DrawingSurfaceInfo
*
dsi_x11
;
GC
gc
;
#endif
jint
lock
;
GC
gc
;
vlc_value_t
value
;
...
...
bindings/java/vlc-libvlc-jni.cc
View file @
0e977f2f
This diff is collapsed.
Click to expand it.
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