Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
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