Skip to content

Commits on Source 12

0.3.0 (2018-09-09)
=====
* Add smarter buffer API to avoid copies.
* Add main loop API
* Cleanup C thread management.
* Cleanup gst_buf management.
* Record app{sink,src}->element dependency for proper GC cleanup.
0.2.3 (2017-04-11)
=====
* Added timeout to Bus.timed_pop_filtered.
* Added datetime tag support.
0.2.2 (2016-06-29)
=====
* Added Element.duration.
* Added App_src.push_buffer_data.
* Completed message types.
0.2.1 (2015-08-03)
=====
* Dummy github release.
0.2.0 (2013-02-19)
=====
* Complete rewrite to get rid of OCamlIDL, lots of modules added.
0.1.0 (2011-10-04)
=====
* Initial release.
ocaml-gstreamer
This package contains an O'Caml interface for
Multimedia framework,
otherwise known as gstreamer.
ocaml-gstreamer is an OCaml interface for the GStreamer Multimedia framework.
Please read the COPYING file before using this software.
Prerequisites:
==============
- ocaml >= 3.0.6 (haven't tried earlier versions)
- gstreamer >= 0.10.23 (haven't tried earlier versions)
- findlib >= 0.8.1 (haven't tried earlier versions)
- ocaml >= 3.12.0
- gstreamer >= 1.0.0
- findlib >= 0.8.1
Compilation:
============
......
#!/bin/sh
#!/bin/sh -e
if [ -d m4 ]; then
OPTIONS="-I m4"
......
This diff is collapsed.
This diff is collapsed.
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for ocaml-gstreamer 0.2.0.
# Generated by GNU Autoconf 2.69 for ocaml-gstreamer 0.3.0.
#
# Report bugs to <savonet-users@lists.sourceforge.net>.
#
......@@ -639,8 +639,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ocaml-gstreamer'
PACKAGE_TARNAME='ocaml-gstreamer'
PACKAGE_VERSION='0.2.0'
PACKAGE_STRING='ocaml-gstreamer 0.2.0'
PACKAGE_VERSION='0.3.0'
PACKAGE_STRING='ocaml-gstreamer 0.3.0'
PACKAGE_BUGREPORT='savonet-users@lists.sourceforge.net'
PACKAGE_URL=''
......@@ -656,6 +656,7 @@ PIC_FLAGS
OCAMLFLAGS
CAMLLIBPATH
OCAMLNCFLAGS
OCAML_STDLIB
OCAMLFIND
CAMLP4RF
CAMLP4R
......@@ -671,9 +672,11 @@ OCAMLLEXDOTOPT
OCAMLLEX
CAMLIDL
OCAMLBUILD
OCAMLDOCOPT
OCAMLDOC
OCAMLMKLIB
OCAMLMKTOP
OCAMLDEPOPT
OCAMLDEP
OCAML
OCAMLOPTDOTOPT
......@@ -691,6 +694,7 @@ INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
AUTOCONF_INSTALL_FILES
TARGET_TOOLCHAIN
host_os
host_vendor
host_cpu
......@@ -725,6 +729,7 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
......@@ -743,19 +748,22 @@ PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
SHELL
PKG_CONFIG_OPTIONS'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_ldconf
enable_camlp4
enable_debugging
with_ocaml_warnings
enable_profiling
enable_nativecode
enable_custom
enable_pic
'
ac_precious_vars='build_alias
ac_precious_vars='PKG_CONFIG_OPTIONS
build_alias
host_alias
target_alias
CC
......@@ -803,6 +811,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
......@@ -1055,6 +1064,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
......@@ -1192,7 +1210,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
......@@ -1305,7 +1323,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures ocaml-gstreamer 0.2.0 to adapt to many kinds of systems.
\`configure' configures ocaml-gstreamer 0.3.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1345,6 +1363,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
......@@ -1370,7 +1389,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of ocaml-gstreamer 0.2.0:";;
short | recursive ) echo "Configuration of ocaml-gstreamer 0.3.0:";;
esac
cat <<\_ACEOF
......@@ -1390,7 +1409,15 @@ Optional Features:
--disable-pic compile PIC objects [default=enabled for shared
builds on supported platforms]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-ocaml-warnings=WARNINGS
Enable specific list of ocaml compiler warnings.
Some influential environment variables:
PKG_CONFIG_OPTIONS
Additional options passed when invoking pkg-config
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
......@@ -1467,7 +1494,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
ocaml-gstreamer configure 0.2.0
ocaml-gstreamer configure 0.3.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -1553,7 +1580,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by ocaml-gstreamer $as_me 0.2.0, which was
It was created by ocaml-gstreamer $as_me 0.3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -2890,18 +2917,30 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that calling user is not root" >&5
$as_echo_n "checking that calling user is not root... " >&6; }
RUNNING_USER="$USER"
if test -z "$RUNNING_USER"; then
RUNNING_USER=`whoami`
fi
if test $RUNNING_USER = "root"; then
as_fn_error $? "configure script must not be run with root user!" "$LINENO" 5
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
$as_echo "ok" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target toolchain" >&5
$as_echo_n "checking target toolchain... " >&6; }
case "${host_os}" in
linux*)
TARGET_TOOLCHAIN="linux"
;;
mingw*)
TARGET_TOOLCHAIN="mingw"
;;
cygwin*)
TARGET_TOOLCHAIN="cygwin"
;;
darwin*)
TARGET_TOOLCHAIN="darwin"
;;
*)
TARGET_TOOLCHAIN="other"
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $TARGET_TOOLCHAIN" >&5
$as_echo "$TARGET_TOOLCHAIN" >&6; }
# AC_CANONICAL_HOST needs those files
......@@ -3944,6 +3983,48 @@ fi
if test "$OCAMLDEP" = "no"; then
as_fn_error $? "Cannot find ocamlmklib." "$LINENO" 5
else
# Extract the first word of "${ac_tool_prefix}ocamldep.opt", so it can be a program name with args.
set dummy ${ac_tool_prefix}ocamldep.opt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OCAMLDEPOPT+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OCAMLDEPOPT"; then
ac_cv_prog_OCAMLDEPOPT="$OCAMLDEPOPT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OCAMLDEPOPT="${ac_tool_prefix}ocamldep.opt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_OCAMLDEPOPT" && ac_cv_prog_OCAMLDEPOPT="no"
fi
fi
OCAMLDEPOPT=$ac_cv_prog_OCAMLDEPOPT
if test -n "$OCAMLDEPOPT"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDEPOPT" >&5
$as_echo "$OCAMLDEPOPT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "$OCAMLDEPOPT" != "no"; then
OCAMLDEP=$OCAMLDEPOPT
fi
fi
......@@ -4128,6 +4209,103 @@ else
OCAMLDOC="$ac_cv_prog_OCAMLDOC"
fi
if test "$OCAMLDOC" != "no"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ocamldoc.opt", so it can be a program name with args.
set dummy ${ac_tool_prefix}ocamldoc.opt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OCAMLDOCOPT+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OCAMLDOCOPT"; then
ac_cv_prog_OCAMLDOCOPT="$OCAMLDOCOPT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OCAMLDOCOPT="${ac_tool_prefix}ocamldoc.opt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
OCAMLDOCOPT=$ac_cv_prog_OCAMLDOCOPT
if test -n "$OCAMLDOCOPT"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDOCOPT" >&5
$as_echo "$OCAMLDOCOPT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_OCAMLDOCOPT"; then
ac_ct_OCAMLDOCOPT=$OCAMLDOCOPT
# Extract the first word of "ocamldoc.opt", so it can be a program name with args.
set dummy ocamldoc.opt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OCAMLDOCOPT+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OCAMLDOCOPT"; then
ac_cv_prog_ac_ct_OCAMLDOCOPT="$ac_ct_OCAMLDOCOPT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OCAMLDOCOPT="ocamldoc.opt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_OCAMLDOCOPT=$ac_cv_prog_ac_ct_OCAMLDOCOPT
if test -n "$ac_ct_OCAMLDOCOPT"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDOCOPT" >&5
$as_echo "$ac_ct_OCAMLDOCOPT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_OCAMLDOCOPT" = x; then
OCAMLDOCOPT="no"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OCAMLDOCOPT=$ac_ct_OCAMLDOCOPT
fi
else
OCAMLDOCOPT="$ac_cv_prog_OCAMLDOCOPT"
fi
if test "$OCAMLDOCOPT" != "no"; then
OCAMLDOC=$OCAMLDOCOPT
fi
fi
......@@ -4322,6 +4500,7 @@ fi
# checking for ocamllex
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ocamllex", so it can be a program name with args.
......@@ -5092,7 +5271,18 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ocaml standard library path" >&5
$as_echo_n "checking for ocaml standard library path... " >&6; }
OCAML_STDLIB=`$OCAMLFIND printconf stdlib`
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAML_STDLIB" >&5
$as_echo "$OCAML_STDLIB" >&6; }
# Check if caml/threads.h is present
old_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -I${OCAML_STDLIB}"
ac_fn_c_check_header_compile "$LINENO" "caml/threads.h" "ac_cv_header_caml_threads_h" "#include <caml/misc.h>
"
if test "x$ac_cv_header_caml_threads_h" = xyes; then :
......@@ -5100,6 +5290,7 @@ if test "x$ac_cv_header_caml_threads_h" = xyes; then :
fi
CFLAGS=${old_CFLAGS}
# Check whether --enable-debugging was given.
if test "${enable_debugging+set}" = set; then :
......@@ -5107,10 +5298,23 @@ if test "${enable_debugging+set}" = set; then :
fi
if test "x$enable_debugging" = "xyes" ; then
if test "$enable_debugging" \!= "no" ; then
OCAMLFLAGS="$OCAMLFLAGS -g"
fi
# Check whether --with-ocaml-warnings was given.
if test "${with_ocaml_warnings+set}" = set; then :
withval=$with_ocaml_warnings;
fi
if test -n "${with_ocaml_warnings}" ; then
OCAMLFLAGS="$OCAMLFLAGS -w +${with_ocaml_warnings}"
else
OCAMLFLAGS="$OCAMLFLAGS -w +A-4@5-7@8-9@11@12@20-35-44-45-50"
fi
# Check whether --enable-profiling was given.
if test "${enable_profiling+set}" = set; then :
enableval=$enable_profiling;
......@@ -5141,7 +5345,6 @@ CAMLLIBPATH=$OCAMLLIB
# Check whether --enable-pic was given.
if test "${enable_pic+set}" = set; then :
enableval=$enable_pic; enable_pic="$enableval"
......@@ -5361,12 +5564,12 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pkg-config knows about gstreamer-1.0${PKGCONFIG_CHECK_VERSION}" >&5
$as_echo_n "checking whether pkg-config knows about gstreamer-1.0${PKGCONFIG_CHECK_VERSION}... " >&6; }
if ! $PKG_CONFIG --exists gstreamer-1.0; then
if ! $PKG_CONFIG $PKG_CONFIG_OPTIONS --exists gstreamer-1.0; then
as_fn_error $? "gstreamer-1.0.pc not found.. Do you need to set PKG_CONFIG_PATH?" "$LINENO" 5
else
if test -n ""; then
if ! $PKG_CONFIG --atleast-version= gstreamer-1.0; then
gstreamer-1.0_VERSION="`pkg-config --modversion gstreamer-1.0`"
if ! $PKG_CONFIG $PKG_CONFIG_OPTIONS --atleast-version= gstreamer-1.0; then
gstreamer-1.0_VERSION="`$PKG_CONFIG $PKG_CONFIG_OPTIONS --modversion gstreamer-1.0`"
as_fn_error $? "requires version >= , found ${gstreamer-1.0_VERSION}" "$LINENO" 5
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
......@@ -5377,10 +5580,10 @@ $as_echo "ok" >&6; }
$as_echo "ok" >&6; }
fi
fi
CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gstreamer-1.0`"
CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags gstreamer-1.0`"
LIBS="$LIBS `$PKG_CONFIG --libs-only-l gstreamer-1.0`"
LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs-only-L gstreamer-1.0`"
CFLAGS="$CFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --cflags gstreamer-1.0`"
CPPFLAGS="$CPPFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --cflags gstreamer-1.0`"
LIBS="$LIBS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --libs-only-l gstreamer-1.0`"
LDFLAGS="$LDFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --libs-only-L gstreamer-1.0`"
if test -n ""; then
PKGCONFIG_CHECK_VERSION=" >= "
......@@ -5389,12 +5592,12 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pkg-config knows about gstreamer-app-1.0${PKGCONFIG_CHECK_VERSION}" >&5
$as_echo_n "checking whether pkg-config knows about gstreamer-app-1.0${PKGCONFIG_CHECK_VERSION}... " >&6; }
if ! $PKG_CONFIG --exists gstreamer-app-1.0; then
if ! $PKG_CONFIG $PKG_CONFIG_OPTIONS --exists gstreamer-app-1.0; then
as_fn_error $? "gstreamer-app-1.0.pc not found.. Do you need to set PKG_CONFIG_PATH?" "$LINENO" 5
else
if test -n ""; then
if ! $PKG_CONFIG --atleast-version= gstreamer-app-1.0; then
gstreamer-app-1.0_VERSION="`pkg-config --modversion gstreamer-app-1.0`"
if ! $PKG_CONFIG $PKG_CONFIG_OPTIONS --atleast-version= gstreamer-app-1.0; then
gstreamer-app-1.0_VERSION="`$PKG_CONFIG $PKG_CONFIG_OPTIONS --modversion gstreamer-app-1.0`"
as_fn_error $? "requires version >= , found ${gstreamer-app-1.0_VERSION}" "$LINENO" 5
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
......@@ -5405,10 +5608,10 @@ $as_echo "ok" >&6; }
$as_echo "ok" >&6; }
fi
fi
CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gstreamer-app-1.0`"
CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags gstreamer-app-1.0`"
LIBS="$LIBS `$PKG_CONFIG --libs-only-l gstreamer-app-1.0`"
LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs-only-L gstreamer-app-1.0`"
CFLAGS="$CFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --cflags gstreamer-app-1.0`"
CPPFLAGS="$CPPFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --cflags gstreamer-app-1.0`"
LIBS="$LIBS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --libs-only-l gstreamer-app-1.0`"
LDFLAGS="$LDFLAGS `$PKG_CONFIG $PKG_CONFIG_OPTIONS --libs-only-L gstreamer-app-1.0`"
# substitutions to perform
......@@ -5967,7 +6170,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by ocaml-gstreamer $as_me 0.2.0, which was
This file was extended by ocaml-gstreamer $as_me 0.3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -6020,7 +6223,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
ocaml-gstreamer config.status 0.2.0
ocaml-gstreamer config.status 0.3.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
AC_INIT([ocaml-gstreamer],[0.2.0],[savonet-users@lists.sourceforge.net])
AC_INIT([ocaml-gstreamer],[0.3.0],[savonet-users@lists.sourceforge.net])
VERSION=$PACKAGE_VERSION
AC_MSG_RESULT([configuring $PACKAGE_STRING])
......
ocaml-gstreamer (0.3.0-1) unstable; urgency=medium
* Update watch file
* New upstream version 0.3.0
* Convert copyright to DEP-5
* Update uploaders
* Bump compat to 11 (move to debhelper-compat)
* Update Vcs-* to use salsa
* Move package to dh
* Bump Standards-Version to 4.4.1 (move to dh, use debhelper-compat)
-- Kyle Robbertze <paddatrapper@debian.org> Fri, 08 Nov 2019 21:09:25 +0200
ocaml-gstreamer (0.2.0-2) unstable; urgency=low
* Upload to unstable.
......
......@@ -2,29 +2,27 @@ Source: ocaml-gstreamer
Section: ocaml
Priority: optional
Maintainer: Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
Uploaders: Samuel Mimram <smimram@debian.org>, Romain Beauxis <toots@rastageeks.org>
Build-Depends:
autotools-dev,
cdbs (>= 0.4.72~),
debhelper,
Uploaders: Kyle Robbertze <paddatrapper@debian.org>
Build-Depends: debhelper,
debhelper-compat (= 11),
dh-buildinfo,
ocaml-nox,
dh-ocaml (>= 0.9),
libgstreamer1.0-dev,
libgstreamer-plugins-base1.0-dev,
libgstreamer1.0-dev,
ocaml-findlib (>= 1.2.4),
ocaml-nox,
pkg-config
Standards-Version: 3.9.4
Homepage: http://savonet.sourceforge.net/
Vcs-Git: git://git.debian.org/git/pkg-ocaml-maint/packages/ocaml-gstreamer.git
Vcs-Browser: http://git.debian.org/?p=pkg-ocaml-maint/packages/ocaml-gstreamer.git
Standards-Version: 4.4.1
Homepage: https://www.liquidsoap.info/
Vcs-Git: https://salsa.debian.org/ocaml-team/ocaml-lo.git
Vcs-Browser: https://salsa.debian.org/ocaml-team/ocaml-lo
Package: libgstreamer-ocaml
Architecture: any
Depends: ${ocaml:Depends}, ${shlibs:Depends}, ${misc:Depends}
Depends: ${misc:Depends}, ${ocaml:Depends}, ${shlibs:Depends}
Provides: ${ocaml:Provides}
Description: OCaml interface to the gstreamer library -- runtime files
This package provides an interface to the gstreamer library for
Description: OCaml interface to the GStreamer library -- runtime files
This package provides an interface to the GStreamer library for
OCaml programmers.
.
GStreamer is a streaming media framework, based on graphs of filters
......@@ -36,13 +34,15 @@ Description: OCaml interface to the gstreamer library -- runtime files
Package: libgstreamer-ocaml-dev
Architecture: any
Depends: ${ocaml:Depends},
libgstreamer1.0-dev,
Depends: libgstreamer-ocaml (= ${binary:Version}),
libgstreamer-plugins-base1.0-dev,
libgstreamer-ocaml (= ${binary:Version}), ocaml-findlib, ${misc:Depends}
libgstreamer1.0-dev,
ocaml-findlib,
${misc:Depends},
${ocaml:Depends}
Provides: ${ocaml:Provides}
Description: OCaml interface to the gstreamer library -- development files
This package provides an interface to the gstreamer library for
Description: OCaml interface to the GStreamer library -- development files
This package provides an interface to the GStreamer library for
OCaml programmers.
.
GStreamer is a streaming media framework, based on graphs of filters
......
This package was debianized by Romain Beauxis <toots@rastageeks.org> on
Mon, 30 Mar 2009 16:16:32 +0200.
It was downloaded from <http://savonet.sourceforge.net/>
Upstream Author: The Savonet Team <savonet-users@lists.sourceforge.net>
Copyright © 2011 The Savonet Team.
License:
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://www.liquidsoap.info/
Upstream-Name: Savonet Team <savonet-users@lists.sourceforge.net>
Files: *
Copyright: 2003-2016 Savonet Team <savonet-users@lists.sourceforge.net>
License: LGPL-2.1+
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
.
This library 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
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GNU General
.
On Debian systems, the complete text of the GNU Lesser General
Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
The Debian packaging is © 2011, Romain Beauxis <toots@rastageeks.org> and
is licensed under the GPL, see `/usr/share/common-licenses/GPL-3'.
Files: debian/*
Copyright: 2011 Romain Beauxis <toots@rastageeks.org>
2019 Kyle Robbertze <paddatrapper@debian.org>
License: GPL-3
This project is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
(GPL) versio 3 as published by the Free Software Foundation.
.
The license text is contained in /usr/share/common-licenses/GPL-3.
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/ocaml/ocamlvars.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
include /usr/share/cdbs/1/rules/ocaml.mk
DESTDIR := $(CURDIR)/debian/tmp
export OCAMLFIND_DESTDIR=$(DESTDIR)$(OCAML_STDLIB_DIR)
export PKG_CONFIG_PATH=/usr/lib/$(DEB_BUILD_ARCH)/pkgconfig
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DEB_CONFIGURE_EXTRA_FLAGS := --enable-debugging
DEB_CONFIGURE_SCRIPT := ./configure
DESTDIR = $(CURDIR)/debian/tmp/$(OCAML_STDLIB_DIR)
# Do not compile dynlink files for now..
DEB_MAKE_BUILD_TARGET := OCAML_DYNLINK="" all
DEB_MAKE_INSTALL_TARGET := install OCAMLFIND_DESTDIR=$(DESTDIR) OCAMLFIND_LDCONF=ignore
%:
dh $@ --with ocaml
build/libgstreamer-ocaml-dev::
mkdir -p $(DESTDIR)
override_dh_autoreconf:
./bootstrap
clean::
override_dh_auto_build:
[ -f debian/autoreconf.before ] || dh_autoreconf ./bootstrap
$(MAKE) all doc
override_dh_auto_install:
mkdir -p $(DESTDIR)/$(OCAML_STDLIB_DIR)
$(MAKE) install DESTDIR=$(DESTDIR) \
prefix=$(DESTDIR)/usr sysconfdir=$(DESTDIR)/etc \
OCAMLFIND_LDCONF=ignore
dh_install
override_dh_auto_test:
true
override_dh_auto_clean:
dh_autoreconf_clean
rm -rf .pc config.h Makefile src/Makefile src/META doc config.log config.status
dh_clean
version=3
http://sf.net/savonet/ocaml-gstreamer-(.+)\.tar\.gz
version=4
https://github.com/savonet/ocaml-gstreamer/releases .*/ocaml-gstreamer-(.*)\.tar\.gz
......@@ -2,13 +2,42 @@ open Gstreamer
let () =
init ();
Printf.printf "%s\n%!" (version_string ());
let bin = Pipeline.parse_launch "audiotestsrc ! decodebin ! audio/x-raw,format=S16LE ! appsink name=sink sync=False" in
let sink = Bin.get_by_name bin "sink" in
ignore (Element.set_state bin Element.State_playing);
while true do
let _ = App_sink.pull_buffer_string (App_sink.of_element sink) in
()
Printf.printf "%s\n\n%!" (version_string ());
let uri = "http://radiopi.org:8080/hiphop" in
let read_pipeline = Printf.sprintf "uridecodebin uri=\"%s\" ! decodebin ! audioconvert ! audioresample ! appsink max-buffers=10 drop=false sync=false name=\"sink\" caps=\"audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=44100\"" uri in
Printf.printf "read_pipeline:\n %s\n\n%!" read_pipeline;
let read_bin = Pipeline.parse_launch read_pipeline in
let sink = Bin.get_by_name read_bin "sink" in
let sink = App_sink.of_element sink in
let play_pipeline = "appsrc name=\"src\" block=true caps=\"audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=44100\" format=time ! autoaudiosink" in
Printf.printf "play_pipeline:\n %s\n\n%!" play_pipeline;
let play_bin = Pipeline.parse_launch play_pipeline in
let src = Bin.get_by_name play_bin "src" in
let src = App_src.of_element src in
ignore (Element.set_state play_bin Element.State_playing);
ignore (Element.set_state read_bin Element.State_playing);
Printf.printf "from App_sink.pull_buffer_data to App_src.push_buffer\n%!";
for i = 0 to 100 do
let buf = App_sink.pull_buffer_data sink in
let buf = Buffer.of_data buf 0 (Bigarray.Array1.dim buf) in
App_src.push_buffer src buf
done;
Printf.printf "from App_sink.pull_buffer_string to App_src.push_buffer\n%!";
for i = 0 to 100 do
let buf = App_sink.pull_buffer_string sink in
let buf = Buffer.of_string buf 0 (String.length buf) in
App_src.push_buffer src buf
done;
ignore (Element.set_state bin Element.State_null);
Printf.printf "from App_sink.pull_buffer_data to App_src.push_buffer_data\n%!";
for i = 0 to 100 do
let buf = App_sink.pull_buffer_data sink in
App_src.push_buffer_data src buf
done;
ignore (Element.set_state read_bin Element.State_null);
ignore (Element.set_state play_bin Element.State_null);
Gstreamer.deinit ();
Gc.full_major ()
SOURCES = duration.ml
RESULT = duration
LIBS = bigarray gstreamer
INCDIRS = ../../src
THREADS = yes
all: dnc
test: all
./duration test.mp3
include OCamlMakefile
This diff is collapsed.
open Gstreamer
let timeToString nsd =
let msd = Int64.(to_int(div nsd (of_int 1_000_000))) in
let h = msd / 3_600_000 in
let m = (msd - (h * 3_600_000)) / 60_000 in
let s = (msd - (h * 3_600_000) - (m * 60_000)) / 1000 in
let h = if h = 0 then "" else Printf.sprintf "%d:" h in
Printf.sprintf "%s%d:%d" h m s
let printProgression bin =
let duration = Element.duration bin Format.Time |> timeToString in
let rec loop() =
let position = Element.position bin Format.Time |> timeToString in
Printf.printf "Time : %s / %s \r%!" position duration;
(* Refreshing the position every seconds (in nanoseconds) *)
let timeout = Int64.of_int 1_000_000_000 in
let filter = Message.[End_of_stream; Error] in
match Bus.timed_pop_filtered (Bus.of_element bin) ~timeout filter with
| exception Timeout -> loop()
| _ -> Printf.printf "\n"
in
loop()
let () =
Gstreamer.init ();
let formatPipeline = Printf.sprintf "filesrc location=\"%s\" ! decodebin ! audioconvert ! audioresample ! autoaudiosink" in
let bin = formatPipeline Sys.argv.(1) |> Pipeline.parse_launch in
Element.set_state bin Element.State_playing |> ignore;
(* Wait for the state to complete. *)
Element.get_state bin |> ignore;
printProgression bin;
Element.set_state bin Element.State_null |> ignore;
Gstreamer.deinit ();
Gc.full_major ()
SOURCES = playlist.ml
RESULT = playlist
LIBS = bigarray gstreamer
INCDIRS = ../../src
THREADS = yes
all: dnc
test: all
./playlist test.mp3 test.mp3 test.mp3
include OCamlMakefile
This diff is collapsed.