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
b24c7589
Commit
b24c7589
authored
Feb 03, 2010
by
Rémi Duraffort
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move C++ binding to a new repository vlc/bindings/libvlcpp.git
parent
7a25e2ba
Changes
24
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
0 additions
and
3233 deletions
+0
-3233
bindings/libvlcpp/.gitignore
bindings/libvlcpp/.gitignore
+0
-4
bindings/libvlcpp/AUTHORS
bindings/libvlcpp/AUTHORS
+0
-0
bindings/libvlcpp/COPYING
bindings/libvlcpp/COPYING
+0
-0
bindings/libvlcpp/ChangeLog
bindings/libvlcpp/ChangeLog
+0
-0
bindings/libvlcpp/Doxyfile.in
bindings/libvlcpp/Doxyfile.in
+0
-1551
bindings/libvlcpp/Makefile.am
bindings/libvlcpp/Makefile.am
+0
-8
bindings/libvlcpp/NEWS
bindings/libvlcpp/NEWS
+0
-0
bindings/libvlcpp/README
bindings/libvlcpp/README
+0
-0
bindings/libvlcpp/autogen.sh
bindings/libvlcpp/autogen.sh
+0
-37
bindings/libvlcpp/configure.ac
bindings/libvlcpp/configure.ac
+0
-28
bindings/libvlcpp/src/Makefile.am
bindings/libvlcpp/src/Makefile.am
+0
-23
bindings/libvlcpp/src/audio.cpp
bindings/libvlcpp/src/audio.cpp
+0
-82
bindings/libvlcpp/src/audio.hpp
bindings/libvlcpp/src/audio.hpp
+0
-128
bindings/libvlcpp/src/exception.cpp
bindings/libvlcpp/src/exception.cpp
+0
-38
bindings/libvlcpp/src/exception.hpp
bindings/libvlcpp/src/exception.hpp
+0
-50
bindings/libvlcpp/src/libvlc.cpp
bindings/libvlcpp/src/libvlc.cpp
+0
-53
bindings/libvlcpp/src/libvlc.hpp
bindings/libvlcpp/src/libvlc.hpp
+0
-80
bindings/libvlcpp/src/libvlcpp.pc.in
bindings/libvlcpp/src/libvlcpp.pc.in
+0
-11
bindings/libvlcpp/src/media.cpp
bindings/libvlcpp/src/media.cpp
+0
-100
bindings/libvlcpp/src/media.hpp
bindings/libvlcpp/src/media.hpp
+0
-149
bindings/libvlcpp/src/media_player.cpp
bindings/libvlcpp/src/media_player.cpp
+0
-259
bindings/libvlcpp/src/media_player.hpp
bindings/libvlcpp/src/media_player.hpp
+0
-335
bindings/libvlcpp/src/video.cpp
bindings/libvlcpp/src/video.cpp
+0
-117
bindings/libvlcpp/src/video.hpp
bindings/libvlcpp/src/video.hpp
+0
-180
No files found.
bindings/libvlcpp/.gitignore
deleted
100644 → 0
View file @
7a25e2ba
Doxyfile
admin/
m4/
INSTALL
bindings/libvlcpp/AUTHORS
deleted
100644 → 0
View file @
7a25e2ba
bindings/libvlcpp/COPYING
deleted
100644 → 0
View file @
7a25e2ba
bindings/libvlcpp/ChangeLog
deleted
100644 → 0
View file @
7a25e2ba
bindings/libvlcpp/Doxyfile.in
deleted
100644 → 0
View file @
7a25e2ba
This diff is collapsed.
Click to expand it.
bindings/libvlcpp/Makefile.am
deleted
100644 → 0
View file @
7a25e2ba
ACLOCAL_AMFLAGS
=
-I
m4
SUBDIRS
=
src
doc
:
Doxyfile
$(DOXYGEN)
.PHONY
:
doc
bindings/libvlcpp/NEWS
deleted
100644 → 0
View file @
7a25e2ba
bindings/libvlcpp/README
deleted
100644 → 0
View file @
7a25e2ba
bindings/libvlcpp/autogen.sh
deleted
100755 → 0
View file @
7a25e2ba
#!/bin/sh
# $Id$
#
# ***********************************************************************
# * Copyright © 2010 Rémi Duraffort. *
# * This program is free software; you can redistribute and/or modify *
# * it under the terms of the GNU General Public License as published *
# * by the Free Software Foundation; version 2 of the license. *
# * *
# * 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, you can get it from: *
# * http://www.gnu.org/copyleft/gpl.html *
# ***********************************************************************
set
-xe
cd
"
$(
dirname
"
$0
"
)
"
test
-f
src/libvlc.hpp
||
{
echo
"You must run this script from your libvlcpp directory."
>
&2
exit
1
}
mkdir
-p
admin m4
autoreconf
-sfi
set
+x
echo
""
echo
"Type
\`
./configure' to configure the package for your system"
echo
"(type
\`
./configure -- help' for help)."
echo
"Then you can use the usual
\`
make',
\`
make install', etc."
bindings/libvlcpp/configure.ac
deleted
100644 → 0
View file @
7a25e2ba
dnl configure.ac - Configure script for libvlcpp
AC_COPYRIGHT([Copyright (C) 2010 Rémi Duraffort])
AC_INIT(libvlcpp, 1.0.0, vlc-devel@no-spam@videolan.org)
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_AUX_DIR(admin)
AC_CONFIG_MACRO_DIR([m4])
dnl Checks for programs.
AC_PROG_CXX
AM_PROG_LIBTOOL
AC_ARG_VAR([CXXFLAGS], [C++ compiler flag])
dnl Checks for vlc library
PKG_CHECK_MODULES([libvlc], [libvlc >= 1.1.0])
AC_SUBST([libvlc_CFLAGS])
AC_SUBST([libvlc_LIBS])
AC_ARG_VAR([DOXYGEN], [Doxygen command])
AC_PATH_PROG([DOXYGEN], [doxygen], [false])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile src/Makefile src/libvlcpp.pc Doxyfile])
AC_OUTPUT
bindings/libvlcpp/src/Makefile.am
deleted
100644 → 0
View file @
7a25e2ba
lib_LTLIBRARIES
=
libvlcpp.la
libvlcpp_la_SOURCES
=
\
audio.cpp
\
audio.hpp
\
exception.cpp
\
exception.hpp
\
libvlc.cpp
\
libvlc.hpp
\
media.cpp
\
media.hpp
\
media_player.cpp
\
media_player.hpp
\
video.cpp
\
video.hpp
libvlcpp_la_CXXFLAGS
=
@libvlc_CFLAGS@
libvlcpp_la_LDFLAGS
=
@libvlc_LIBS@
-version-info
1:0:0
library_includedir
=
$(includedir)
/libvlcpp
library_include_HEADERS
=
exception.hpp libvlc.hpp media.hpp media_player.hpp video.hpp audio.hpp
pkgconfigdir
=
$(libdir)
/pkgconfig
pkgconfig_DATA
=
libvlcpp.pc
bindings/libvlcpp/src/audio.cpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* audio.cpp: audio part of the media player
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#include "audio.hpp"
using
namespace
libvlc
;
Audio
::
Audio
()
{
}
Audio
::~
Audio
()
{
libvlc_media_player_release
(
m_player
);
}
void
Audio
::
toggleMute
()
{
libvlc_audio_toggle_mute
(
m_player
);
}
int
Audio
::
mute
()
{
return
libvlc_audio_get_mute
(
m_player
);
}
void
Audio
::
setMute
(
int
mute
)
{
libvlc_audio_set_mute
(
m_player
,
mute
);
}
int
Audio
::
volume
()
{
return
libvlc_audio_get_volume
(
m_player
);
}
void
Audio
::
setVolume
(
int
volume
)
{
libvlc_audio_set_volume
(
m_player
,
volume
);
}
int
Audio
::
track
()
{
return
libvlc_audio_get_track
(
m_player
);
}
int
Audio
::
trackCount
()
{
return
libvlc_audio_get_track_count
(
m_player
);
}
void
Audio
::
setTrack
(
int
track
)
{
libvlc_audio_set_track
(
m_player
,
track
);
}
void
Audio
::
setMediaPlayer
(
libvlc_media_player_t
*
player
)
{
libvlc_media_player_retain
(
player
);
m_player
=
player
;
}
bindings/libvlcpp/src/audio.hpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* audio.hpp: audio part of the media player
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#ifndef LIBVLCPP_AUDIO_HPP
#define LIBVLCPP_AUDIO_HPP
#include <vlc/libvlc.h>
#include <vlc/libvlc_media.h>
#include <vlc/libvlc_media_player.h>
#include "libvlc.hpp"
namespace
libvlc
{
class
MediaPlayer
;
class
Audio
{
public:
/**
* Toggle mute status
*/
void
toggleMute
();
/**
* Get the mute status
* @return true if the sound is muted
*/
int
mute
();
/**
* Set the mute status
* @param mute: true to mute, otherwise unmute
*/
void
setMute
(
int
mute
);
/**
* Get the current volume
* @return the current volume
*/
int
volume
();
/**
* Set the volume
* @param volume: the new volume
*/
void
setVolume
(
int
volume
);
/**
* Get the current track
* @return the current audio track
*/
int
track
();
/**
* Get the number of audio tracks
* @return the number of audio tracks
*/
int
trackCount
();
/**
* Set the audio track
* @param track: the audio track
*/
void
setTrack
(
int
track
);
/**
* Get the current audio channel
* @return the current audio channel
*/
int
channel
();
/**
* Set the audio channel
* @param channel: the new audio channel
*/
void
setChannel
(
int
channel
);
/** trackDescription */
private:
/** The media player instance of libvlc */
libvlc_media_player_t
*
m_player
;
/**
* The constructor is private so only the MediaPlayer can create an instance of this class
*/
Audio
();
/** Destructor only used by the MediaPlayer associated with this class */
~
Audio
();
/**
* Set the media player. This function can only be used by the MediaPlayer class
* @param player: the media player
*/
void
setMediaPlayer
(
libvlc_media_player_t
*
player
);
/** Friend class */
friend
class
MediaPlayer
;
};
};
#endif // LIBVLCPP_AUDIO_HPP
bindings/libvlcpp/src/exception.cpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* exception.cpp: Handle exceptions
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#include "exception.hpp"
using
namespace
libvlc
;
Exception
::
Exception
()
{
libvlc_exception_init
(
&
ex
);
}
Exception
::~
Exception
()
{
if
(
libvlc_exception_raised
(
&
ex
)
)
throw
libvlc_errmsg
();
libvlc_exception_clear
(
&
ex
);
}
bindings/libvlcpp/src/exception.hpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* exception.hpp: handle exceptions
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#ifndef LIBVLCPP_EXCEPTION_HPP
#define LIBVLCPP_EXCEPTION_HPP
#include <vlc/libvlc.h>
#include "libvlc.hpp"
namespace
libvlc
{
class
Exception
{
public:
/** Create the exception */
Exception
();
/** Destroy te exception */
~
Exception
();
/** The exception */
libvlc_exception_t
ex
;
};
};
#endif // LIBVLCPP_EXCEPTION_HPP
bindings/libvlcpp/src/libvlc.cpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* libvlc.cpp: Main libvlc++ class
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#include "libvlc.hpp"
using
namespace
libvlc
;
libVLC
::
libVLC
(
int
i_argc
,
const
char
*
const
*
argv
)
{
m_instance
=
libvlc_new
(
i_argc
,
argv
);
if
(
!
m_instance
)
throw
libvlc_errmsg
();
}
libVLC
::~
libVLC
()
{
libvlc_release
(
m_instance
);
}
const
char
*
libVLC
::
version
()
{
return
libvlc_get_version
();
}
const
char
*
libVLC
::
compiler
()
{
return
libvlc_get_compiler
();
}
const
char
*
libVLC
::
chanset
()
{
return
libvlc_get_changeset
();
}
bindings/libvlcpp/src/libvlc.hpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* libvlc.hpp: Main libvlc++ class
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#ifndef LIBVLCPP_HPP
#define LIBVLCPP_HPP
#include <vlc/libvlc.h>
namespace
libvlc
{
class
Media
;
class
MediaPlayer
;
class
libVLC
{
public:
/**
* Contructor
* @param i_argc: the number of arguments
* @param argv: arguments given to libvlc
*/
libVLC
(
int
i_argc
,
const
char
*
const
*
argv
);
/* Destructor */
~
libVLC
();
/**
* Get the version of libVLC
* @return the version
*/
const
char
*
version
();
/**
* Get the compiler use for this binari
* @return the compiler used
*/
const
char
*
compiler
();
/**
* Get the chanset of libvlc
* @return thje changeset
*/
const
char
*
chanset
();
private:
/** The instance of libvlc */
libvlc_instance_t
*
m_instance
;
/**
* Some friends class to access the instance of libvlc
*/
friend
class
Media
;
friend
class
MediaPlayer
;
};
};
#endif // LIBVLCPP_HPP
bindings/libvlcpp/src/libvlcpp.pc.in
deleted
100644 → 0
View file @
7a25e2ba
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: libvlcpp
Description: C++ wrapper around libvlc
Requires: libvlc >= 1.1.0
Version: @VERSION@
Cflags: -I${includedir}
Libs: -L${libdir} -lvlcpp
bindings/libvlcpp/src/media.cpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* media.cpp: Represent a media
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#include "media.hpp"
#include "exception.hpp"
using
namespace
libvlc
;
Media
::
Media
(
libVLC
&
libvlcInstance
,
const
char
*
psz_mrl
)
{
m_media
=
libvlc_media_new
(
libvlcInstance
.
m_instance
,
psz_mrl
);
if
(
!
m_media
)
throw
libvlc_errmsg
();
}
Media
::
Media
(
const
Media
&
original
)
{
m_media
=
libvlc_media_duplicate
(
original
.
m_media
);
}
Media
::~
Media
()
{
libvlc_media_release
(
m_media
);
}
void
Media
::
addOption
(
const
char
*
ppsz_options
)
{
libvlc_media_add_option
(
m_media
,
ppsz_options
);
}
void
Media
::
addOption
(
const
char
*
ppsz_options
,
libvlc_media_option_t
flag
)
{
libvlc_media_add_option_flag
(
m_media
,
ppsz_options
,
flag
);
}
int64_t
Media
::
duration
()
{
return
libvlc_media_get_duration
(
m_media
);
}
int
Media
::
isPreparsed
()
{
return
libvlc_media_is_preparsed
(
m_media
);
}
char
*
Media
::
mrl
()
{
return
libvlc_media_get_mrl
(
m_media
);
}
char
*
Media
::
meta
(
libvlc_meta_t
e_meta
)
{
return
libvlc_media_get_meta
(
m_media
,
e_meta
);
}
void
Media
::
setMeta
(
libvlc_meta_t
e_meta
,
const
char
*
psz_value
)
{
libvlc_media_set_meta
(
m_media
,
e_meta
,
psz_value
);
}
int
Media
::
saveMeta
()
{
return
libvlc_media_save_meta
(
m_media
);
}
libvlc_state_t
Media
::
state
()
{
return
libvlc_media_get_state
(
m_media
);
}
void
Media
::
setUserData
(
void
*
p_user_data
)
{
libvlc_media_set_user_data
(
m_media
,
p_user_data
);
}
void
*
Media
::
userData
()
{
return
libvlc_media_get_user_data
(
m_media
);
}
bindings/libvlcpp/src/media.hpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* media.hpp: represent a media
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#ifndef LIBVLCPP_MEDIA_HPP
#define LIBVLCPP_MEDIA_HPP
#include <vlc/libvlc.h>
#include <vlc/libvlc_media.h>
#include "libvlc.hpp"
namespace
libvlc
{
class
MediaPlayer
;
class
Media
{
public:
/**
* Contructor
* @param libvlcInstance: instance of the libVLC class
* @param psz_mrl: MRL of the media
*/
Media
(
libVLC
&
libvlcInstance
,
const
char
*
psz_mrl
);
/**
* Copy contructor
* @param original: the instance to copy
*/
Media
(
const
Media
&
original
);
/** \todo: node contructor */
/** Destructor */
~
Media
();
/**
* Add an option to the media
* @param ppsz_options: the options as a string
*/
void
addOption
(
const
char
*
ppsz_options
);
/**
* Add an option to the media
* @param ppsz_options: the options as a string
* @param flag: the flag for the options
*/
void
addOption
(
const
char
*
ppsz_options
,
libvlc_media_option_t
flag
);
/**
* Get the duration of the media
* @return the duration
*/
int64_t
duration
();
/**
* Get preparsed status of the media
* @return true if the media has been preparsed, false otherwise
*/
int
isPreparsed
();
/**
* Get the MRL of the media
* @return the MRL of the media
*/
char
*
mrl
();
/**
* Get the requiered meta
* @param e_meta: type of the meta
* @return the requiered meta
*/
char
*
meta
(
libvlc_meta_t
e_meta
);
/**
* Set the given meta
* @param e_meta: type of the meta
* @param psz_value: value of the meta
*/
void
setMeta
(
libvlc_meta_t
e_meta
,
const
char
*
psz_value
);
/**
* Save the meta to the file
* @return true if the operation was successfull
*/
int
saveMeta
();
/**
* Get the state of the media
* @return the state of the media
*/
libvlc_state_t
state
();
/**
* Get some statistics about this media
* @return the statistics
*/
libvlc_media_stats_t
*
stats
();
/**\todo: subItems */
/**\todo: eventManager */
/**
* Set media descriptor's user data
* @param p_user_data: pointer to user data
*/
void
setUserData
(
void
*
p_user_data
);
/**
* Retrive user data specified by a call to setUserData
* @return the user data pointer
*/
void
*
userData
();
private:
/** The media */
libvlc_media_t
*
m_media
;
/** Friend class that can access the instance */
friend
class
MediaPlayer
;
};
};
#endif // LIBVLCPP_MEDIA_HPP
bindings/libvlcpp/src/media_player.cpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* media_player.cpp: Represent a media player
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#include "media_player.hpp"
using
namespace
libvlc
;
MediaPlayer
::
MediaPlayer
(
libVLC
&
libvlcInstance
)
{
m_player
=
libvlc_media_player_new
(
libvlcInstance
.
m_instance
);
if
(
!
m_player
)
throw
libvlc_errmsg
();
m_audio
.
setMediaPlayer
(
m_player
);
m_video
.
setMediaPlayer
(
m_player
);
}
MediaPlayer
::
MediaPlayer
(
Media
&
media
)
{
m_player
=
libvlc_media_player_new_from_media
(
media
.
m_media
);
if
(
!
m_player
)
throw
libvlc_errmsg
();
m_audio
.
setMediaPlayer
(
m_player
);
m_video
.
setMediaPlayer
(
m_player
);
}
MediaPlayer
::~
MediaPlayer
()
{
stop
();
libvlc_media_player_release
(
m_player
);
}
void
MediaPlayer
::
setMedia
(
Media
&
media
)
{
libvlc_media_player_set_media
(
m_player
,
media
.
m_media
);
}
int
MediaPlayer
::
isPlaying
()
{
return
libvlc_media_player_is_playing
(
m_player
);
}
void
MediaPlayer
::
play
()
{
libvlc_media_player_play
(
m_player
);
}
void
MediaPlayer
::
pause
()
{
libvlc_media_player_pause
(
m_player
);
}
void
MediaPlayer
::
stop
()
{
libvlc_media_player_stop
(
m_player
);
}
void
MediaPlayer
::
setNSObject
(
void
*
drawable
)
{
libvlc_media_player_set_nsobject
(
m_player
,
drawable
);
}
void
*
MediaPlayer
::
nsobject
()
{
return
libvlc_media_player_get_nsobject
(
m_player
);
}
void
MediaPlayer
::
setAgl
(
uint32_t
drawable
)
{
libvlc_media_player_set_agl
(
m_player
,
drawable
);
}
uint32_t
MediaPlayer
::
agl
()
{
return
libvlc_media_player_get_agl
(
m_player
);
}
void
MediaPlayer
::
setXWindow
(
uint32_t
drawable
)
{
libvlc_media_player_set_xwindow
(
m_player
,
drawable
);
}
uint32_t
MediaPlayer
::
xwindow
()
{
return
libvlc_media_player_get_xwindow
(
m_player
);
}
void
MediaPlayer
::
setHwnd
(
void
*
drawable
)
{
libvlc_media_player_set_hwnd
(
m_player
,
drawable
);
}
void
*
MediaPlayer
::
hwnd
()
{
return
libvlc_media_player_get_hwnd
(
m_player
);
}
int64_t
MediaPlayer
::
lenght
()
{
return
libvlc_media_player_get_length
(
m_player
);
}
int64_t
MediaPlayer
::
time
()
{
return
libvlc_media_player_get_time
(
m_player
);
}
void
MediaPlayer
::
setTime
(
int64_t
new_time
)
{
libvlc_media_player_set_time
(
m_player
,
new_time
);
}
float
MediaPlayer
::
position
()
{
return
libvlc_media_player_get_position
(
m_player
);
}
void
MediaPlayer
::
setPosition
(
float
position
)
{
libvlc_media_player_set_position
(
m_player
,
position
);
}
int
MediaPlayer
::
chapter
()
{
return
libvlc_media_player_get_chapter
(
m_player
);
}
int
MediaPlayer
::
chapterCount
()
{
return
libvlc_media_player_get_chapter_count
(
m_player
);
}
int
MediaPlayer
::
chapterCount
(
int
title
)
{
return
libvlc_media_player_get_chapter_count_for_title
(
m_player
,
title
);
}
void
MediaPlayer
::
setChapter
(
int
title
)
{
libvlc_media_player_set_chapter
(
m_player
,
title
);
}
int
MediaPlayer
::
willPlay
()
{
return
libvlc_media_player_will_play
(
m_player
);
}
int
MediaPlayer
::
title
()
{
return
libvlc_media_player_get_title
(
m_player
);
}
int
MediaPlayer
::
titleCount
()
{
return
libvlc_media_player_get_title_count
(
m_player
);
}
void
MediaPlayer
::
setTitle
(
int
title
)
{
libvlc_media_player_set_title
(
m_player
,
title
);
}
void
MediaPlayer
::
previousChapter
()
{
libvlc_media_player_previous_chapter
(
m_player
);
}
void
MediaPlayer
::
nextChapter
()
{
libvlc_media_player_next_chapter
(
m_player
);
}
float
MediaPlayer
::
rate
()
{
return
libvlc_media_player_get_rate
(
m_player
);
}
void
MediaPlayer
::
setRate
(
float
rate
)
{
libvlc_media_player_set_rate
(
m_player
,
rate
);
}
libvlc_state_t
MediaPlayer
::
state
()
{
return
libvlc_media_player_get_state
(
m_player
);
}
float
MediaPlayer
::
fps
()
{
return
libvlc_media_player_get_fps
(
m_player
);
}
int
MediaPlayer
::
hasVout
()
{
return
libvlc_media_player_has_vout
(
m_player
);
}
int
MediaPlayer
::
isSeekable
()
{
return
libvlc_media_player_is_seekable
(
m_player
);
}
int
MediaPlayer
::
canPause
()
{
return
libvlc_media_player_can_pause
(
m_player
);
}
void
MediaPlayer
::
nextFrame
()
{
libvlc_media_player_next_frame
(
m_player
);
}
void
MediaPlayer
::
toggleFullscreen
()
{
libvlc_toggle_fullscreen
(
m_player
);
}
void
MediaPlayer
::
enableFullscreen
()
{
libvlc_set_fullscreen
(
m_player
,
1
);
}
void
MediaPlayer
::
disableFullscreen
()
{
libvlc_set_fullscreen
(
m_player
,
0
);
}
int
MediaPlayer
::
fullscreen
()
{
return
libvlc_get_fullscreen
(
m_player
);
}
Audio
&
MediaPlayer
::
audio
()
{
return
m_audio
;
}
Video
&
MediaPlayer
::
video
()
{
return
m_video
;
}
bindings/libvlcpp/src/media_player.hpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* media_player.hpp: Media player
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#ifndef LIBVLCPP_MEDIA_PLAYER_HPP
#define LIBVLCPP_MEDIA_PLAYER_HPP
#include <vlc/libvlc.h>
#include <vlc/libvlc_media.h>
#include <vlc/libvlc_media_player.h>
#include "libvlc.hpp"
#include "media.hpp"
#include "audio.hpp"
#include "video.hpp"
namespace
libvlc
{
class
MediaPlayer
{
public:
/**
* Create a media player without a media associated
* @param libvlcInstance: instance of the libVLC class
*/
MediaPlayer
(
libVLC
&
libvlcInstance
);
/**
* Create a media player with a media associated
* @param media: the associated media (the media can be safely destroy afterward)
*/
MediaPlayer
(
Media
&
media
);
/**
* Destructor
*/
~
MediaPlayer
();
/**
* Set the media associated with the player
* @param media: the media to associated with the player
*/
void
setMedia
(
Media
&
media
);
/**
* Get the media associated with the player
* @return the media
*/
///@todo media();
/**
* Get the event manager associated to the media player
* @return the event manager
*/
///@todo eventManager()
/**
* Is the player playing
* @return true if the player is playing, false overwise
*/
int
isPlaying
();
/**
* Play
*/
void
play
();
/**
* Pause
*/
void
pause
();
/**
* Stop
*/
void
stop
();
/**
* Set the NSView handler where the media player shoud render the video
* @param drawable: the NSView handler
*/
void
setNSObject
(
void
*
drawable
);
/**
* Get the NSView handler associated with the media player
* @return the NSView handler
*/
void
*
nsobject
();
/**
* Set the agl handler where the media player shoud render the video
* @param drawable: the agl handler
*/
void
setAgl
(
uint32_t
drawable
);
/**
* Get the agl handler associated with the media player
* @return the agl handler
*/
uint32_t
agl
();
/**
* Set the X Window drawable where the media player shoud render the video
* @param drawable: the X Window drawable
*/
void
setXWindow
(
uint32_t
drawable
);
/**
* Get the X Window drawable associated with the media player
* @return the X Window drawable
*/
uint32_t
xwindow
();
/**
* Set the Win32/Win64 API window handle where the media player shoud
* render the video
* @param drawable: the windows handle
*/
void
setHwnd
(
void
*
drawable
);
/**
* Get the Win32/Win64 API window handle associated with the media player
* @return the windows handle
*/
void
*
hwnd
();
/**
* Get the movie lenght (in ms)
* @return the movie length
*/
int64_t
lenght
();
/**
* Get the current movie time (in ms)
* @return the current movie time
*/
int64_t
time
();
/**
* Set the movie time (in ms)
* @param new_time the movie time (in ms)
*/
void
setTime
(
int64_t
new_time
);
/**
* Get the movie position (in percent)
* @return the movie position
*/
float
position
();
/**
* Set the movie position (in percent)
* @param position the movie position
*/
void
setPosition
(
float
position
);
/**
* Get the current movie chapter
* @return the current chapter
*/
int
chapter
();
/**
* Get the movie chapter count
* @return the movie chapter count
*/
int
chapterCount
();
/**
* Get the number of chapter in the given title
* @param title: the title
* @return the number of chapter in title
*/
int
chapterCount
(
int
title
);
/**
* Set the movie chapter
* @param chapter: the chapter to play
*/
void
setChapter
(
int
chapter
);
/**
* Is the player going to play the media (not dead or dying)
* @return true if the player will play
*/
int
willPlay
();
/**
* Get the current title
* @return the title
*/
int
title
();
/**
* Get the title count
* @return the number of title
*/
int
titleCount
();
/**
* Set the title
* @param title: the title
*/
void
setTitle
(
int
title
);
/**
* Move to the previous chapter
*/
void
previousChapter
();
/**
* Move to the next chapter
*/
void
nextChapter
();
/**
* Get the movie play rate
* @return the play rate
*/
float
rate
();
/**
* Set the movie rate
* @param rate: the rate
*/
void
setRate
(
float
rate
);
/**
* Get the movie state
* @return the state
*/
libvlc_state_t
state
();
/**
* Get the movie fps
* @return the movie fps
*/
float
fps
();
/**
* Does the media player have a video output
* @return true if the media player has a video output
*/
int
hasVout
();
/**
* Is the media player able to seek ?
* @return true if the media player can seek
*/
int
isSeekable
();
/**
* Can this media player be paused ?
* @return true if the media player can pause
*/
int
canPause
();
/**
* Display the next frame
*/
void
nextFrame
();
/**
* Toggle fullscreen status on a non-embedded video output
*/
void
toggleFullscreen
();
/**
* Enable fullscreen on a non-embedded video output
*/
void
enableFullscreen
();
/**
* Disable fullscreen on a non-embedded video output
*/
void
disableFullscreen
();
/**
* Get the fullscreen status
* @return true if the fullscreen is enable, false overwise
*/
int
fullscreen
();
/**
* Get the class that handle the Audio
* @return the instance of Audio associated with this MediaPlayer
*/
Audio
&
audio
();
/**
* Get the class that handle the Video
* @return the instance of the Video associated with this MediaPlayer
*/
Video
&
video
();
private:
/** The media player instance of libvlc */
libvlc_media_player_t
*
m_player
;
/** The Audio part of the media player */
Audio
m_audio
;
/** The Video part of the media player */
Video
m_video
;
};
};
#endif // LIBVLCPP_MEDIA_PLAYER_HPP
bindings/libvlcpp/src/video.cpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* video.cpp: video part of the media player
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#include <cstdlib>
#include "video.hpp"
#include "exception.hpp"
using
namespace
libvlc
;
Video
::
Video
()
{
}
Video
::~
Video
()
{
libvlc_media_player_release
(
m_player
);
}
float
Video
::
scale
()
{
return
libvlc_video_get_scale
(
m_player
);
}
char
*
Video
::
aspectRatio
()
{
return
libvlc_video_get_aspect_ratio
(
m_player
);
}
void
Video
::
setAspectRatio
(
const
char
*
aspect_ratio
)
{
libvlc_video_set_aspect_ratio
(
m_player
,
aspect_ratio
);
}
int
Video
::
spu
()
{
return
libvlc_video_get_spu
(
m_player
);
}
int
Video
::
spuCount
()
{
return
libvlc_video_get_spu_count
(
m_player
);
}
void
Video
::
setSpu
(
int
spu
)
{
libvlc_video_set_spu
(
m_player
,
spu
);
}
void
Video
::
setSubtitleFile
(
const
char
*
subtitle_file
)
{
libvlc_video_set_subtitle_file
(
m_player
,
subtitle_file
);
}
char
*
Video
::
cropGeometry
()
{
return
libvlc_video_get_crop_geometry
(
m_player
);
}
void
Video
::
setCropGeometry
(
const
char
*
geometry
)
{
libvlc_video_set_crop_geometry
(
m_player
,
geometry
);
}
int
Video
::
track
()
{
return
libvlc_video_get_track
(
m_player
);
}
int
Video
::
trackCount
()
{
return
libvlc_video_get_track_count
(
m_player
);
}
void
Video
::
setTrack
(
int
track
)
{
libvlc_video_set_track
(
m_player
,
track
);
}
int
Video
::
snapshot
(
int
num
,
const
char
*
filepath
,
int
with
,
int
height
)
{
return
libvlc_video_take_snapshot
(
m_player
,
num
,
filepath
,
with
,
height
);
}
void
Video
::
deinterlace
(
int
enable
,
const
char
*
mode
)
{
if
(
enable
)
libvlc_video_set_deinterlace
(
m_player
,
mode
);
else
libvlc_video_set_deinterlace
(
m_player
,
NULL
);
}
void
Video
::
setMediaPlayer
(
libvlc_media_player_t
*
player
)
{
libvlc_media_player_retain
(
player
);
m_player
=
player
;
}
bindings/libvlcpp/src/video.hpp
deleted
100644 → 0
View file @
7a25e2ba
/*****************************************************************************
* video.hpp: video part of the media player
*****************************************************************************
* Copyright (C) 2010 the VideoLAN team
* $Id$
*
* Authors: Rémi Duraffort <ivoire@videolan.org>
*
* 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.
*****************************************************************************/
#ifndef LIBVLCPP_VIDEO_HPP
#define LIBVLCPP_VIDEO_HPP
#include <vlc/libvlc.h>
#include <vlc/libvlc_media.h>
#include <vlc/libvlc_media_player.h>
#include "libvlc.hpp"
namespace
libvlc
{
class
Video
{
public:
/**
* Get the height of the video
* @return the height of the video
*/
int
height
();
/**
* Get the width of the video
* @return the widht of the video
*/
int
width
();
/**
* Get the current scaling factor of the video
* @return the current scaling factor or 0 if the video is set to fit to the output
*/
float
scale
();
/**
* Set the scaling factor
* @param factor: the new scaling factor
*/
void
setScale
(
float
factor
);
/**
* Get the current video aspect ratio
* @return the aspect ratio
*/
char
*
aspectRatio
();
/**
* set the video aspect ratio
* @param aspect_ratio: the aspect ratio
*/
void
setAspectRatio
(
const
char
*
aspect_ratio
);
/**
* Get the current video subtitle
* @return the video subtitle
*/
int
spu
();
/**
* Get the number of available video subtitles
* @return the number of subtitle
*/
int
spuCount
();
/**
* Set the video subtitle index
* @param spu: the video subtitle
*/
void
setSpu
(
int
spu
);
/** Get informations about the current spu */
/**
* Set the subtitle file
* @param subtitle_file: the new subtitle file
*/
void
setSubtitleFile
(
const
char
*
subtitle_file
);
/** Get title description */
/** Get chapter description */
/**
* Get the current crop filter geometry
* @return the crop geonmetry
*/
char
*
cropGeometry
();
/**
* Set the crop geometry
* @param geometry: the new crop filter geometry
*/
void
setCropGeometry
(
const
char
*
geometry
);
/**
* Get the current video track
* @return the video track
*/
int
track
();
/**
* Get the number of video tracks
* @return the number of video tracks
*/
int
trackCount
();
/**
* Set the video track
* @param track: the video track
*/
void
setTrack
(
int
track
);
/** get track description */
/**
* Take a snapshot and save it to a file
* @param num: the video output id (0 for the first/only one)
* @param filepath: path where to save the file
* @param widht: widht of the snapshot
* @param height: height of the snapshot
* @return 0 on success, -1 if the video output was not found
*/
int
snapshot
(
int
num
,
const
char
*
filepath
,
int
widht
,
int
height
);
/**
* Enable or disable deinterlace filter and select the deinterlace filter to use
* @param enable: true to enable the deinterlace filter
* @param mode: the deinterlace filter to use
*/
void
deinterlace
(
int
enable
,
const
char
*
mode
);
private:
/** The media player instance of libvlc */
libvlc_media_player_t
*
m_player
;
/**
* The constructor is private so only the MediaPlayer can create an
* instance of this class
*/
Video
();
/** Destructor only used by the MediaPlayer associated with this class */
~
Video
();
/**
* Set the media player. This function can only be used by the MediaPlayer class
* @param player: the media player
*/
void
setMediaPlayer
(
libvlc_media_player_t
*
player
);
/** Friend class */
friend
class
MediaPlayer
;
};
};
#endif // LIBVLCPP_VIDEO_HPP
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