diff --git a/README.md b/README.md index 587b303a..9c17d533 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,9 @@ To cross-compile for linux and windows in addition to Mac OS X, run: ## Linux Build Notes -You need to make sure the Chef recipes that are in `./Vagrantfile` get installed on your Linux box. I've only tested on Ubuntu 12.04 LTS, so that's all that suppored to build on. +You need to make sure the Chef recipes that are in `./Vagrantfile` get installed on your Linux box. Those recipes are in the humble-video-chef project. + +I've only tested on Ubuntu 12.04 LTS, so that's all that supported to build on, and it's a work in progress so hang tight.. To build, once the chef recipes have run on a clean box, just run: diff --git a/Vagrantfile b/Vagrantfile index 67d9b543..eb01fe73 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -4,6 +4,8 @@ # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" +Vagrant.require_version ">= 1.6.3" + Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, @@ -19,7 +21,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. - config.vm.network :forwarded_port, guest: 80, host: 9080 + config.vm.network "forwarded_port", guest: 80, host: 9080 + # Create a private network, which allows host-only access to the machine # using a specific IP. @@ -44,13 +47,13 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # - # config.vm.provider :virtualbox do |vb| + config.vm.provider :virtualbox do |vb| # # Don't boot with headless mode # vb.gui = true # # # Use VBoxManage to customize the VM. For example to change memory: # vb.customize ["modifyvm", :id, "--memory", "1024"] - # end + end # # View the documentation for the provider you're using for more # information on available options. @@ -90,7 +93,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| chef.add_recipe "build-essential" chef.add_recipe "git" chef.add_recipe "ohai" - chef.add_recipe "iptables" +# chef.add_recipe "iptables" chef.add_recipe "apache2" chef.add_recipe "nginx" chef.add_recipe "yum" diff --git a/humble-video-captive/src/main/gnu/cross-configure.sh b/humble-video-captive/src/main/gnu/cross-configure.sh index e477d28c..a51960e3 100755 --- a/humble-video-captive/src/main/gnu/cross-configure.sh +++ b/humble-video-captive/src/main/gnu/cross-configure.sh @@ -6,13 +6,22 @@ HOST=$( ${DIR}/mk/config.guess ) humble_configure() { - PREFIX="$1/humble-video-arch-$2/target/native" BUILD=$2 + PREFIX_DEBUG="$1/humble-video-arch-$2-debug/target/native" + if [ ! -e ./${cross_os}-debug/Makefile ]; then + echo "Building ${DIR}/configure in ${PREFIX_DEBUG}" + mkdir -p ./${cross_os}-debug + mkdir -p "${PREFIX_DEBUG}" + (cd ./${cross_os}-debug && (${DIR}/configure --enable-optimizations=no --prefix="${PREFIX_DEBUG}" --host="${BUILD}" ${HUMBLE_CONFIGURE} | tee configure.log)) + else + echo "Makefile appears to be up-to-date in ${cross_os}-debug" + fi + PREFIX="$1/humble-video-arch-$2/target/native" if [ ! -e ./${cross_os}/Makefile ]; then echo "Building ${DIR}/configure in ${PREFIX}" mkdir -p ./$cross_os mkdir -p "${PREFIX}" - (cd ./${cross_os} && (${DIR}/configure --prefix="${PREFIX}" --host="${BUILD}" ${HUMBLE_CONFIGURE} | tee configure.log)) + (cd ./${cross_os} && (${DIR}/configure --enable-optimizations=yes --prefix="${PREFIX}" --host="${BUILD}" ${HUMBLE_CONFIGURE} | tee configure.log)) else echo "Makefile appears to be up-to-date in ${cross_os}" fi diff --git a/humble-video-captive/src/main/gnu/libtheora/incarcerate.in b/humble-video-captive/src/main/gnu/libtheora/incarcerate.in index b71d5f22..815f89e2 100755 --- a/humble-video-captive/src/main/gnu/libtheora/incarcerate.in +++ b/humble-video-captive/src/main/gnu/libtheora/incarcerate.in @@ -18,16 +18,18 @@ else fi DISABLE_ASM= +VS_CFLAGS="@CFLAGS@" case $HOST_OS in *darwin*) DISABLE_ASM="--disable-asm" + VS_CFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future @CFLAGS@" ;; *) ;; esac CC="@CC@" \ -CFLAGS="-I@includedir@ @CFLAGS@" \ +CFLAGS="-I@includedir@ ${VS_CFLAGS}" \ LD="@LD@" \ LDFLAGS="-L@libdir@ @LDFLAGS@" \ CPP="@CPP@" \ diff --git a/humble-video-captive/src/main/gnu/libx264/csrc/configure b/humble-video-captive/src/main/gnu/libx264/csrc/configure index 1df3f0f7..7fedf48c 100755 --- a/humble-video-captive/src/main/gnu/libx264/csrc/configure +++ b/humble-video-captive/src/main/gnu/libx264/csrc/configure @@ -464,7 +464,8 @@ case $host_os in ;; darwin*) SYS="MACOSX" - CFLAGS="$CFLAGS -falign-loops=16" +# From http://stackoverflow.com/questions/22678938/error-compiling-x264-on-mac-os-x + CFLAGS="$CFLAGS" libm="-lm" if [ "$pic" = "no" ]; then cc_check "" -mdynamic-no-pic && CFLAGS="$CFLAGS -mdynamic-no-pic" diff --git a/humble-video-chef/cookbooks/humble-ubuntu-development/recipes/default.rb b/humble-video-chef/cookbooks/humble-ubuntu-development/recipes/default.rb index d7d4d320..8a7786e8 100644 --- a/humble-video-chef/cookbooks/humble-ubuntu-development/recipes/default.rb +++ b/humble-video-chef/cookbooks/humble-ubuntu-development/recipes/default.rb @@ -2,39 +2,58 @@ # Cookbook Name:: humble_development # Recipe:: default # -# Copyright 2013, Humble Software +# Copyright 2014, Humble Software # # All rights reserved - Do Not Redistribute # +# +apt_repository "saucy" do + uri "http://ubuntu.mirror.cambrium.nl/ubuntu/" + distribution "saucy" + components ["main"] +end package "autoconf" do + version "2.69-1.1" action :upgrade end -package "automake" do +package "automake" do + version "1:1.13.3-1.1ubuntu2" action :upgrade end +apt_repository "saucy" do + action :remove +end package "libtool" do + version "2.4.2-1ubuntu1" action :upgrade end package "pkg-config" do + version "0.26-1ubuntu1" action :upgrade end package "gcc-multilib" do + version "4:4.6.3-1ubuntu5" action :upgrade end package "g++-multilib" do + version "4:4.6.3-1ubuntu5" action :upgrade end package "mingw-w64" do + version "2.0.1-1" action :upgrade end package "g++-mingw-w64" do + version "4.6.3-1ubuntu5+5ubuntu1" action :upgrade end package "gcc-mingw-w64" do + version "4.6.3-1ubuntu5+5ubuntu1" action :upgrade end package "binutils-mingw-w64" do + version "2.22-2ubuntu1+1" action :upgrade end # There is a bug in virtualbox that cause 'strip' of a '.dll' file @@ -70,17 +89,22 @@ not_if {File.exists?("/usr/bin/i686-w64-mingw32-strip")} end package "doxygen" do + version "1.7.6.1-2ubuntu1" action :upgrade end package "valgrind" do + version "1.3.7.0-0" action :upgrade end package "graphviz" do + version "2.26.3-10" action :upgrade end package "maven" do + version "3.0.4-2" action :upgrade end package "libpcre3-dev" do + version "8.12-4" action :upgrade end diff --git a/humble-video-native/src/main/gnu/Makefile.am b/humble-video-native/src/main/gnu/Makefile.am index 96fc3efd..0bfc384c 100644 --- a/humble-video-native/src/main/gnu/Makefile.am +++ b/humble-video-native/src/main/gnu/Makefile.am @@ -167,9 +167,9 @@ EXTRA_DIST= \ mk/lib install-exec-hook: - @$(MKDIR_P) $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${host} - @cp -f pom-@host@.xml $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${host}/pom.xml - @(cd $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${host} && mvn install) + @$(MKDIR_P) $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${VS_MVN_HOST} + @cp -f pom.xml $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${VS_MVN_HOST}/pom.xml + @(cd $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${VS_MVN_HOST} && mvn install) doc: doxygen-doc diff --git a/humble-video-native/src/main/gnu/Makefile.in b/humble-video-native/src/main/gnu/Makefile.in index a11b4ff2..ab0a72ae 100644 --- a/humble-video-native/src/main/gnu/Makefile.in +++ b/humble-video-native/src/main/gnu/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -84,11 +84,12 @@ DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ $(top_srcdir)/mk/Makefile.global.in \ $(top_srcdir)/mk/Makefile.dependencies.in \ $(top_srcdir)/mk/memcheck.in $(top_srcdir)/mk/pom.xml.in \ - COPYING mk/README mk/ar-lib mk/config.guess mk/config.sub \ - mk/depcomp mk/install-sh mk/missing mk/ltmain.sh \ - $(top_srcdir)/mk/ar-lib $(top_srcdir)/mk/config.guess \ - $(top_srcdir)/mk/config.sub $(top_srcdir)/mk/install-sh \ - $(top_srcdir)/mk/ltmain.sh $(top_srcdir)/mk/missing + COPYING mk/README mk/ar-lib mk/compile mk/config.guess \ + mk/config.sub mk/depcomp mk/install-sh mk/missing mk/ltmain.sh \ + $(top_srcdir)/mk/ar-lib $(top_srcdir)/mk/compile \ + $(top_srcdir)/mk/config.guess $(top_srcdir)/mk/config.sub \ + $(top_srcdir)/mk/install-sh $(top_srcdir)/mk/ltmain.sh \ + $(top_srcdir)/mk/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compiler_vendor.m4 \ $(top_srcdir)/m4/ax_prog_doxygen.m4 \ @@ -103,7 +104,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/src/io/humble/ferry/config.h CONFIG_CLEAN_FILES = mk/Makefile.global mk/Makefile.dependencies \ - mk/memcheck pom-${host}.xml + mk/memcheck pom.xml CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -323,6 +324,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ @@ -455,7 +457,7 @@ mk/Makefile.dependencies: $(top_builddir)/config.status $(top_srcdir)/mk/Makefil cd $(top_builddir) && $(SHELL) ./config.status $@ mk/memcheck: $(top_builddir)/config.status $(top_srcdir)/mk/memcheck.in cd $(top_builddir) && $(SHELL) ./config.status $@ -pom-${host}.xml: $(top_builddir)/config.status $(top_srcdir)/mk/pom.xml.in +pom.xml: $(top_builddir)/config.status $(top_srcdir)/mk/pom.xml.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: @@ -657,10 +659,16 @@ dist-xz: distdir $(am__post_remove_distdir) dist-tarZ: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) @@ -702,9 +710,10 @@ distcheck: dist && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + && ../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ @@ -932,9 +941,9 @@ include $(abs_top_builddir)/mk/Makefile.global @DX_COND_doc_TRUE@ $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG) install-exec-hook: - @$(MKDIR_P) $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${host} - @cp -f pom-@host@.xml $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${host}/pom.xml - @(cd $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${host} && mvn install) + @$(MKDIR_P) $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${VS_MVN_HOST} + @cp -f pom.xml $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${VS_MVN_HOST}/pom.xml + @(cd $(abs_top_srcdir)/../../../../humble-video-stage/humble-video-arch-${VS_MVN_HOST} && mvn install) doc: doxygen-doc diff --git a/humble-video-native/src/main/gnu/aclocal.m4 b/humble-video-native/src/main/gnu/aclocal.m4 index f7fc830c..5378d0e8 100644 --- a/humble-video-native/src/main/gnu/aclocal.m4 +++ b/humble-video-native/src/main/gnu/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.13.2 -*- Autoconf -*- +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. @@ -247,10 +247,10 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.13' +[am__api_version='1.14' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.13.2], [], +m4_if([$1], [1.14.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -266,7 +266,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.13.2])dnl +[AM_AUTOMAKE_VERSION([1.14.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -291,7 +291,8 @@ AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], - [am_cv_ar_interface=ar + [AC_LANG_PUSH([C]) + am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) @@ -308,7 +309,7 @@ AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], fi rm -f conftest.lib libconftest.a ]) - ]) + AC_LANG_POP([C])]) case $am_cv_ar_interface in ar) @@ -692,6 +693,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -800,7 +807,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further @@ -808,7 +856,6 @@ dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -1026,6 +1073,53 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation diff --git a/humble-video-native/src/main/gnu/configure b/humble-video-native/src/main/gnu/configure index 57955dcb..edcf8ab4 100755 --- a/humble-video-native/src/main/gnu/configure +++ b/humble-video-native/src/main/gnu/configure @@ -700,6 +700,7 @@ SWIG PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG +VS_MVN_HOST VS_DEBUG VS_DEBUG_FALSE VS_DEBUG_TRUE @@ -2839,7 +2840,7 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -am__api_version='1.13' +am__api_version='1.14' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -3461,6 +3462,47 @@ $as_echo "$am_cv_prog_tar_pax" >&6; } +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } @@ -4376,6 +4418,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 @@ -4612,7 +4713,13 @@ $as_echo_n "checking the archiver ($AR) interface... " >&6; } if ${am_cv_ar_interface+:} false; then : $as_echo_n "(cached) " >&6 else - am_cv_ar_interface=ar + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + am_cv_ar_interface=ar cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int some_variable = 0; @@ -4643,6 +4750,11 @@ if ac_fn_c_try_compile "$LINENO"; then : fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 @@ -13122,6 +13234,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 @@ -16975,6 +17146,8 @@ $as_echo_n "checking whether to enable compiler optimizations... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_optimizations" >&5 $as_echo "$enable_optimizations" >&6; } +# default name we use for the Maven bundle +VS_MVN_HOST=$host if test "$x$enable_optimizations" = xno ; then VS_DEBUG_TRUE= VS_DEBUG_FALSE='#' @@ -16986,7 +17159,11 @@ fi if test "x$enable_optimizations" = xno; then VS_DEBUG=1 + # If debug, we have a separate MVN name + VS_MVN_HOST="$host-debug" fi +# This will be used to build our MVN pom file. + @@ -20567,6 +20744,14 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +# For Xcode 5.1.1 don't attempt to do static linking with gcc with exception handling +case $host in + *darwin*) + VS_LIBGCC= + VS_LIBGCC_EH= + ;; +esac + @@ -20574,7 +20759,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_config_headers="$ac_config_headers src/io/humble/ferry/config.h:config.h.in" -ac_config_files="$ac_config_files Makefile mk/Makefile.global mk/Makefile.dependencies mk/memcheck src/Makefile src/io/Makefile src/io/humble/Makefile src/io/humble/ferry/Makefile src/io/humble/ferry/Ferry.i src/io/humble/video/Makefile src/io/humble/video/customio/Makefile test/Makefile test/io/Makefile test/io/humble/Makefile test/io/humble/testutils/Makefile test/io/humble/ferry/Makefile test/io/humble/video/Makefile test/io/humble/video/customio/Makefile pom-${host}.xml:mk/pom.xml.in" +ac_config_files="$ac_config_files Makefile mk/Makefile.global mk/Makefile.dependencies mk/memcheck src/Makefile src/io/Makefile src/io/humble/Makefile src/io/humble/ferry/Makefile src/io/humble/ferry/Ferry.i src/io/humble/video/Makefile src/io/humble/video/customio/Makefile test/Makefile test/io/Makefile test/io/humble/Makefile test/io/humble/testutils/Makefile test/io/humble/ferry/Makefile test/io/humble/video/Makefile test/io/humble/video/customio/Makefile pom.xml:mk/pom.xml.in" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -21803,7 +21988,7 @@ do "test/io/humble/ferry/Makefile") CONFIG_FILES="$CONFIG_FILES test/io/humble/ferry/Makefile" ;; "test/io/humble/video/Makefile") CONFIG_FILES="$CONFIG_FILES test/io/humble/video/Makefile" ;; "test/io/humble/video/customio/Makefile") CONFIG_FILES="$CONFIG_FILES test/io/humble/video/customio/Makefile" ;; - "pom-${host}.xml") CONFIG_FILES="$CONFIG_FILES pom-${host}.xml:mk/pom.xml.in" ;; + "pom.xml") CONFIG_FILES="$CONFIG_FILES pom.xml:mk/pom.xml.in" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff --git a/humble-video-native/src/main/gnu/configure.ac b/humble-video-native/src/main/gnu/configure.ac index f31627ca..94f7fc36 100644 --- a/humble-video-native/src/main/gnu/configure.ac +++ b/humble-video-native/src/main/gnu/configure.ac @@ -116,11 +116,17 @@ AC_ARG_ENABLE([optimizations], AC_MSG_CHECKING([whether to enable compiler optimizations]) AC_MSG_RESULT([$enable_optimizations]) +# default name we use for the Maven bundle +VS_MVN_HOST=$host AM_CONDITIONAL([VS_DEBUG], [ test "$x$enable_optimizations" = xno ]) if test "x$enable_optimizations" = xno; then VS_DEBUG=1 AC_SUBST([VS_DEBUG]) + # If debug, we have a separate MVN name + VS_MVN_HOST="$host-debug" fi +# This will be used to build our MVN pom file. +AC_SUBST(VS_MVN_HOST) PKG_PROG_PKG_CONFIG AC_PATH_PROG([SWIG],[swig]) @@ -355,6 +361,14 @@ VS_FIND_STATIC_LIB([stdc++], [VS_LIBSTDCXX="-XCClinker ${VS_LIB}"], [VS_LIBSTDCX VS_FIND_STATIC_LIB([gcc], [VS_LIBGCC="-XCClinker ${VS_LIB}"], [VS_LIBGCC="-XCClinker -lgcc"]) VS_FIND_STATIC_LIB([gcc_eh], [VS_LIBGCC_EH="-XCClinker ${VS_LIB}"], [VS_LIBGCC_EH="-XCClinker -lgcc_eh"]) +# For Xcode 5.1.1 don't attempt to do static linking with gcc with exception handling +case $host in + *darwin*) + VS_LIBGCC= + VS_LIBGCC_EH= + ;; +esac + AC_SUBST([VS_LIBSTDCXX]) AC_SUBST([VS_LIBGCC]) AC_SUBST([VS_LIBGCC_EH]) @@ -380,6 +394,6 @@ AC_CONFIG_FILES([Makefile test/io/humble/ferry/Makefile test/io/humble/video/Makefile test/io/humble/video/customio/Makefile - pom-${host}.xml:mk/pom.xml.in + pom.xml:mk/pom.xml.in ]) AC_OUTPUT diff --git a/humble-video-native/src/main/gnu/cross-configure.sh b/humble-video-native/src/main/gnu/cross-configure.sh index e477d28c..ecbf6c31 100755 --- a/humble-video-native/src/main/gnu/cross-configure.sh +++ b/humble-video-native/src/main/gnu/cross-configure.sh @@ -1,3 +1,21 @@ +#******************************************************************************* +# Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. +# +# This file is part of Humble-Video. +# +# Humble-Video is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Humble-Video 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Humble-Video. If not, see . +#******************************************************************************* #!/bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -6,8 +24,17 @@ HOST=$( ${DIR}/mk/config.guess ) humble_configure() { - PREFIX="$1/humble-video-arch-$2/target/native" BUILD=$2 + PREFIX_DEBUG="$1/humble-video-arch-$2-debug/target/native" + if [ ! -e ./${cross_os}-debug/Makefile ]; then + echo "Building ${DIR}/configure in ${PREFIX_DEBUG}" + mkdir -p ./${cross_os}-debug + mkdir -p "${PREFIX_DEBUG}" + (cd ./${cross_os}-debug && (${DIR}/configure --enable-optimizations=no --prefix="${PREFIX_DEBUG}" --host="${BUILD}" ${HUMBLE_CONFIGURE} | tee configure.log)) + else + echo "Makefile appears to be up-to-date in ${cross_os}-debug" + fi + PREFIX="$1/humble-video-arch-$2/target/native" if [ ! -e ./${cross_os}/Makefile ]; then echo "Building ${DIR}/configure in ${PREFIX}" mkdir -p ./$cross_os diff --git a/humble-video-native/src/main/gnu/cross-make.sh b/humble-video-native/src/main/gnu/cross-make.sh index 3c41035d..6ef49af3 100644 --- a/humble-video-native/src/main/gnu/cross-make.sh +++ b/humble-video-native/src/main/gnu/cross-make.sh @@ -1,3 +1,21 @@ +#******************************************************************************* +# Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. +# +# This file is part of Humble-Video. +# +# Humble-Video is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Humble-Video 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Humble-Video. If not, see . +#******************************************************************************* #!/bin/sh DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/humble-video-native/src/main/gnu/mk/Valgrind.suppressions b/humble-video-native/src/main/gnu/mk/Valgrind.suppressions index f81a05bb..3c8abf90 100644 --- a/humble-video-native/src/main/gnu/mk/Valgrind.suppressions +++ b/humble-video-native/src/main/gnu/mk/Valgrind.suppressions @@ -12992,3 +12992,129 @@ fun:av_strtod fun:parse_primary } +{ + + Memcheck:Leak + ... + fun:__dtoa + fun:__vfprintf +} +{ + + Memcheck:Leak + fun:malloc + fun:__smakebuf + fun:__swsetup + fun:__sfvwrite + fun:fwrite + fun:_ZNSt3__111__stdoutbufIcE8overflowEi + fun:_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl + fun:_ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_ + fun:_ZNSt3__1lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc + fun:_ZN7CxxTest12ErrorPrinter7AdapterlsEPKc + fun:_ZN7CxxTest14ErrorFormatter10enterWorldERKNS_16WorldDescriptionE + fun:_ZN7CxxTest11TeeListener10enterWorldERKNS_16WorldDescriptionE + fun:_ZN7CxxTest11TestTracker10enterWorldERKNS_16WorldDescriptionE + fun:_ZN7CxxTest10TestRunner8runWorldEv + fun:_ZN7CxxTest10TestRunner11runAllTestsERNS_12TestListenerE + fun:_ZN7CxxTest12XUnitPrinter3runEv + fun:_ZN7CxxTest4MainINS_12XUnitPrinterEEEiRT_iPPc + fun:_Z11VS_TestMainiPPc + fun:main +} +{ + + Memcheck:Addr4 + fun:create_scalable_zone + fun:_malloc_initialize + fun:posix_memalign +} +{ + + Memcheck:Addr8 + fun:create_scalable_zone + fun:_malloc_initialize + fun:posix_memalign +} +{ + + Memcheck:Leak + fun:malloc + fun:_ZL29getPerThreadBufferFor_dlerrorj + fun:_ZL10dlerrorSetPKc + fun:dlopen + fun:dlopen + fun:_ZNSt13runtime_errorD2Ev +} +{ + + Memcheck:Leak + fun:malloc + fun:_Znwm + fun:_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm + fun:_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc + fun:_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi + fun:_ZN7CxxTest16TeeOutputStreams9teebuffer8overflowEi + fun:_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl + fun:_ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_ + fun:_ZNSt3__1lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc + fun:_ZN2io6humble5ferry6Logger11doNativeLogENS2_5LevelEPKc + fun:_ZN2io6humble5ferry6Logger5doLogENS2_5LevelEPKc + fun:_ZN2io6humble5ferry6Logger5errorEPKciS4_z + fun:_ZN2io6humble5video5Muxer12addNewStreamEPNS1_5CoderE + fun:_ZN11EncoderTest27testEncodeInvalidParametersEv + fun:_ZN61TestDescription_suite_EncoderTest_testEncodeInvalidParameters7runTestEv + fun:_ZN7CxxTest19RealTestDescription3runEv + fun:_ZN7CxxTest10TestRunner7runTestERNS_15TestDescriptionE + fun:_ZN7CxxTest10TestRunner8runSuiteERNS_16SuiteDescriptionE + fun:_ZN7CxxTest10TestRunner8runWorldEv + fun:_ZN7CxxTest10TestRunner11runAllTestsERNS_12TestListenerE + fun:_ZN7CxxTest12XUnitPrinter3runEv + fun:_ZN7CxxTest4MainINS_12XUnitPrinterEEEiRT_iPPc + fun:_Z11VS_TestMainiPPc + fun:main +} +{ + + Memcheck:Leak + fun:malloc + fun:_Znwm + fun:_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm + fun:_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc + fun:_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi + fun:_ZN7CxxTest16TeeOutputStreams9teebuffer8overflowEi + fun:_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl + fun:_ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_ + fun:_ZNSt3__1lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc + fun:_ZN7CxxTest12ErrorPrinter7AdapterlsEPKc + fun:_ZN7CxxTest14ErrorFormatter10failedTestEPKciS2_ + fun:_ZN7CxxTest11TeeListener10failedTestEPKciS2_ + fun:_ZN7CxxTest11TestTracker10failedTestEPKciS2_ + fun:_ZN7CxxTest19RealTestDescription3runEv + fun:_ZN7CxxTest10TestRunner7runTestERNS_15TestDescriptionE + fun:_ZN7CxxTest10TestRunner8runSuiteERNS_16SuiteDescriptionE + fun:_ZN7CxxTest10TestRunner8runWorldEv + fun:_ZN7CxxTest10TestRunner11runAllTestsERNS_12TestListenerE + fun:_ZN7CxxTest12XUnitPrinter3runEv + fun:_ZN7CxxTest4MainINS_12XUnitPrinterEEEiRT_iPPc + fun:_Z11VS_TestMainiPPc + fun:main +} +{ + + Memcheck:Leak + fun:malloc + fun:_Znwm + fun:_ZN7CxxTest12XmlFormatter9enterTestERKNS_15TestDescriptionE + fun:_ZN7CxxTest11TeeListener9enterTestERKNS_15TestDescriptionE + fun:_ZN7CxxTest11TestTracker9enterTestERKNS_15TestDescriptionE + fun:_ZN7CxxTest10TestRunner7runTestERNS_15TestDescriptionE + fun:_ZN7CxxTest10TestRunner8runSuiteERNS_16SuiteDescriptionE + fun:_ZN7CxxTest10TestRunner8runWorldEv + fun:_ZN7CxxTest10TestRunner11runAllTestsERNS_12TestListenerE + fun:_ZN7CxxTest12XUnitPrinter3runEv + fun:_ZN7CxxTest4MainINS_12XUnitPrinterEEEiRT_iPPc + fun:_Z11VS_TestMainiPPc + fun:main +} + diff --git a/humble-video-native/src/main/gnu/mk/compile b/humble-video-native/src/main/gnu/mk/compile new file mode 120000 index 00000000..497c039c --- /dev/null +++ b/humble-video-native/src/main/gnu/mk/compile @@ -0,0 +1 @@ +/usr/local/Cellar/automake/1.14.1/share/automake-1.14/compile \ No newline at end of file diff --git a/humble-video-native/src/main/gnu/mk/find_archives.sh b/humble-video-native/src/main/gnu/mk/find_archives.sh index 8b493d6d..2d86a867 100755 --- a/humble-video-native/src/main/gnu/mk/find_archives.sh +++ b/humble-video-native/src/main/gnu/mk/find_archives.sh @@ -1,7 +1,27 @@ +#******************************************************************************* +# Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. +# +# This file is part of Humble-Video. +# +# Humble-Video is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Humble-Video 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Humble-Video. If not, see . +#******************************************************************************* #!/bin/bash # take AR from env, or if not, a sensible default AR=${AR:-ar} +# take pkg-config from env, or if not a sensible default. +PKG_CONFIG=${PKG_CONFIG:-pkg-config} LIBDIR="$1" shift; export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${LIBDIR}/pkgconfig" @@ -9,20 +29,21 @@ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${LIBDIR}/pkgconfig" # first get all the libraries LIBS=$( ${PKG_CONFIG} --libs-only-l $@ ) +OUTPUT= for l in ${LIBS}; do # strip the -l f=$( echo $l | sed -e 's/-l//' ) # check if this archive exists a="${LIBDIR}/lib${f}.a" # make whatever we print skip libtool - echo -n "-XCClinker " + OUTPUT+="-XCClinker " if [ -f "${a}" ]; then # link DIRECTLY against the archive if it exists (to short-circuit the shared lib) - echo -n "\"${a}\" " + OUTPUT+="\"${a}\" " else # just link the library - echo -n "${l} " + OUTPUT+="${l} " fi done -echo +echo "${OUTPUT}" diff --git a/humble-video-native/src/main/gnu/mk/pom.xml.in b/humble-video-native/src/main/gnu/mk/pom.xml.in index 64e203b0..fd5cec5d 100644 --- a/humble-video-native/src/main/gnu/mk/pom.xml.in +++ b/humble-video-native/src/main/gnu/mk/pom.xml.in @@ -3,11 +3,11 @@ 4.0.0 io.humble - @VS_PROJECT_NAME@-arch-@host@ + @VS_PROJECT_NAME@-arch-@VS_MVN_HOST@ @LIB_MAJOR_VERSION@.@LIB_MINOR_VERSION@-SNAPSHOT jar - @VS_PROJECT_NAME@-arch-@host@ + @VS_PROJECT_NAME@-arch-@VS_MVN_HOST@ http://www.humble.io @@ -34,7 +34,7 @@ @VS_PROJECT_NAME@ . . - @host@ + @VS_MVN_HOST@ diff --git a/humble-video-native/src/main/gnu/src/Makefile.in b/humble-video-native/src/main/gnu/src/Makefile.in index 45badb6f..566e50e6 100644 --- a/humble-video-native/src/main/gnu/src/Makefile.in +++ b/humble-video-native/src/main/gnu/src/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -292,6 +292,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/src/io/Makefile.in b/humble-video-native/src/main/gnu/src/io/Makefile.in index bdaf814a..e92b9b6f 100644 --- a/humble-video-native/src/main/gnu/src/io/Makefile.in +++ b/humble-video-native/src/main/gnu/src/io/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -292,6 +292,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/src/io/humble/Humble.h b/humble-video-native/src/main/gnu/src/io/humble/Humble.h index fd689190..10660b40 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/Humble.h +++ b/humble-video-native/src/main/gnu/src/io/humble/Humble.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #ifndef HUMBLE_H_ @@ -59,4 +59,13 @@ namespace humble {} #undef JNICALL #define JNICALL VS_API_CALL #endif + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus +#define __STDC_FORMAT_MACROS +#include +#ifdef __cplusplus +} +#endif // __cplusplus #endif // HUMBLE_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/HumbleVideo.c b/humble-video-native/src/main/gnu/src/io/humble/HumbleVideo.c index 75c5e533..77a624f0 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/HumbleVideo.c +++ b/humble-video-native/src/main/gnu/src/io/humble/HumbleVideo.c @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "Humble.h" /** Something to build **/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/Makefile.am b/humble-video-native/src/main/gnu/src/io/humble/Makefile.am index c7bfb606..e56bd13a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/Makefile.am +++ b/humble-video-native/src/main/gnu/src/io/humble/Makefile.am @@ -62,7 +62,8 @@ if VS_OS_LINUX libhumblevideo_la_LDFLAGS+= \ -nostdlib -static-libtool-libs -XCClinker -static-libgcc else +# Should be Mac OS X libhumblevideo_la_LDFLAGS+= \ - -nostdlib -static-libtool-libs -XCClinker -static-libgcc + -nostdlib -static-libtool-libs endif endif diff --git a/humble-video-native/src/main/gnu/src/io/humble/Makefile.in b/humble-video-native/src/main/gnu/src/io/humble/Makefile.in index 6d63f4c8..62a623fe 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/Makefile.in +++ b/humble-video-native/src/main/gnu/src/io/humble/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -106,8 +106,9 @@ host_triplet = @host@ @VS_OS_LINUX_TRUE@@VS_OS_WINDOWS_FALSE@am__append_2 = \ @VS_OS_LINUX_TRUE@@VS_OS_WINDOWS_FALSE@ -nostdlib -static-libtool-libs -XCClinker -static-libgcc +# Should be Mac OS X @VS_OS_LINUX_FALSE@@VS_OS_WINDOWS_FALSE@am__append_3 = \ -@VS_OS_LINUX_FALSE@@VS_OS_WINDOWS_FALSE@ -nostdlib -static-libtool-libs -XCClinker -static-libgcc +@VS_OS_LINUX_FALSE@@VS_OS_WINDOWS_FALSE@ -nostdlib -static-libtool-libs subdir = src/io/humble DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ @@ -390,6 +391,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ @@ -556,14 +558,14 @@ distclean-compile: @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.cpp index 3477e294..151e52a8 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.h index 414e562d..97268e86 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/AtomicInteger.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.cpp index 1f820363..36ceab86 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.h index 98fdf32b..54f3089a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.swg b/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.swg index 7754c523..37c83928 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Buffer.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.cpp index 5c7492e4..968b74ae 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -25,7 +25,7 @@ #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Buffer); namespace io { namespace humble { namespace ferry { diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.h index c8d8504b..fa1dd801 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/BufferImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.h index 691a7d3f..94217c05 100755 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #ifndef __FERRY_H__ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.i.in b/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.i.in index 82902a78..aa017549 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.i.in +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Ferry.i.in @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ %module Ferry diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.cpp index e097834a..bb44c84e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.h index a89541ab..d1e02a1f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/HumbleException.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -33,6 +33,7 @@ #define HUMBLEEXCEPTION_H_ #include +#include #include namespace io { diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.cpp index 9ecbcc8c..2535dd16 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.h index 9778df42..2a4339fa 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -21,7 +21,6 @@ #define JNIHELPER_H_ #include -#include #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.swg b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.swg index 86114bfd..219b811f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIHelper.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.cpp index 370ec2e8..529f369b 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #include "JNIMemoryManager.h" diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.h index 2a24244b..4d8d6819 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/JNIMemoryManager.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #ifndef JNIMEMORYMANAGER_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.cpp index 994fd52b..9405bca1 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -62,7 +62,8 @@ static const char* vs_strrstr(const char* s1, const char* s2) { namespace io { namespace humble { namespace ferry { bool Logger :: mInitialized = false; - bool Logger :: mGlobalIsLogging[5] = { true, true, true, true, true }; + // Default to TRACE not being logged, but it can be programatically turned on. + bool Logger :: mGlobalIsLogging[5] = { true, true, true, true, false }; jclass Logger :: mClass = 0; jmethodID Logger :: mGetLoggerMethod = 0; jmethodID Logger :: mLogMethod = 0; @@ -231,6 +232,7 @@ namespace io { namespace humble { namespace ferry { // can JNIHelper::sRegisterTerminationCallback(Logger::shutdownJavaBindings, logger); + logger->setPrintStackTrace(true); } return logger; } @@ -294,7 +296,7 @@ namespace io { namespace humble { namespace ferry { break; case LEVEL_TRACE: levelStr = "TRACE "; - didLog = false; + didLog = true; break; } if (didLog && msg && *msg) diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.h index 2e5d88bc..51194733 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Logger.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -224,7 +224,7 @@ namespace io { namespace humble { namespace ferry { int __humble_num_frames = __humble_trace.getNumFrames(); \ if (vs_logger_static_context->isPrintStackTrace()) { for(int __humble_i = 0; __humble_i < __humble_num_frames; __humble_i++) { \ const char* __humble_frame = __humble_trace.getFrameDescription(__humble_i); \ - VS_LOG_ERROR("Stack frame [%d]: %s", __humble_i, __humble_frame); \ + VS_LOG_DEBUG("Stack frame [%d]: %s", __humble_i, __humble_frame); \ } } \ __humble_trace.raise(); \ } while (0) diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.cpp index fd33aa25..c087ada3 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.h index c752059b..50dea29e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/LoggerStack.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Main.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/Main.cpp index 29eac7cc..4db0327a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Main.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Main.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Makefile.in b/humble-video-native/src/main/gnu/src/io/humble/ferry/Makefile.in index 1f91952c..8d74bb3f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Makefile.in +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -327,6 +327,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ @@ -473,8 +474,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(top_srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.cpp index cd020791..dab20d6e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.h index 6ebe3659..134d4ffd 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/Mutex.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.cpp index 8607e4c1..246bdf3d 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.h index ab0ef587..89aee4f8 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -23,9 +23,6 @@ // For size_t #include -// For int32_t -#include - // for std::bad_alloc #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.swg b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.swg index a96f8d13..8552493d 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCounted.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.cpp b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.cpp index fffb2644..8cd5bba0 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.h index 5f1a2baf..5754514a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefCountedTester.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefPointer.h b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefPointer.h index a1180d64..f89bfecf 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/ferry/RefPointer.h +++ b/humble-video-native/src/main/gnu/src/io/humble/ferry/RefPointer.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.cpp index 47b4355e..e8f9c3dd 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.h b/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.h index de8ba71e..9582064e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/AVBufferSupport.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Codec.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Codec.cpp index 6d7d8ad1..25d1005b 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Codec.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Codec.cpp @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include @@ -24,7 +24,7 @@ #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Codec); namespace io { namespace humble { @@ -32,11 +32,12 @@ namespace video { using namespace io::humble::ferry; Codec::Codec() { - VS_LOG_TRACE("Starting"); + VS_LOG_TRACE("Created: %p", this); mCodec = 0; } Codec::~Codec() { + VS_LOG_TRACE("Destroyed: %p", this); // no memory freeing required. mCodec = 0; } diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Codec.h b/humble-video-native/src/main/gnu/src/io/humble/video/Codec.h index 8171fb0e..d8ca8295 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Codec.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Codec.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * Codec.h * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef CODEC_H_ #define CODEC_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Codec.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Codec.swg index 59c5374c..6fd2dcc8 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Codec.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Codec.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Coder.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Coder.cpp index ac1395aa..e820a68e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Coder.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Coder.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -30,7 +30,7 @@ #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Coder); namespace io { namespace humble { @@ -47,6 +47,7 @@ Coder::Coder(Codec* codec, AVCodecContext* src, bool copySrc) { mCtx = avcodec_alloc_context3(codec->getCtx()); if (!mCtx) throw HumbleRuntimeError("could not allocate coder context"); + mCtx->codec = codec->getCtx(); } else if (copySrc) { // create again for the copy mCtx = avcodec_alloc_context3(0); @@ -67,11 +68,12 @@ Coder::Coder(Codec* codec, AVCodecContext* src, bool copySrc) { mState = STATE_INITED; - VS_LOG_TRACE("Created coder"); + VS_LOG_TRACE("Created: %p", this); } Coder::~Coder() { + VS_LOG_TRACE("Destroyed: %p", this); (void) avcodec_close(mCtx); if (mCtx->extradata) av_freep(&mCtx->extradata); @@ -90,14 +92,17 @@ Coder::open(KeyValueBag* inputOptions, KeyValueBag* aUnsetOptions) { av_dict_copy(&tmp, options->getDictionary(), 0); } + // first we're going to set options (and we'll set them again later) + retval = av_opt_set_dict(mCtx, &tmp); + FfmpegException::check(retval, "could not set options on coder"); + + // we check that the options passed in our valid + checkOptionsBeforeOpen(); + RefPointer codec = getCodec(); + // we pass in the options again because codec-specific options can be set. retval = avcodec_open2(mCtx, codec->getCtx(), &tmp); - - if (retval < 0) - { - mState = STATE_ERROR; - throw HumbleRuntimeError("could not open codec"); - } + FfmpegException::check(retval, "could not open codec"); mState = STATE_OPENED; if (aUnsetOptions) @@ -105,14 +110,14 @@ Coder::open(KeyValueBag* inputOptions, KeyValueBag* aUnsetOptions) { KeyValueBagImpl* unsetOptions = dynamic_cast(aUnsetOptions); unsetOptions->copy(tmp); } - } catch (std::exception & e) { if (tmp) av_dict_free(&tmp); - tmp = 0; - throw e; + } catch (...) { + mState = STATE_ERROR; + if (tmp) + av_dict_free(&tmp); + throw; } - if (tmp) - av_dict_free(&tmp); } @@ -194,9 +199,76 @@ Coder::ensureAudioParamsMatch(MediaAudio* audio) VS_THROW(HumbleInvalidArgument("audio sample rate does not match what coder expects")); if (getSampleFormat() != audio->getFormat()) - VS_THROW(HumbleInvalidArgument("audio sample format does not match what coder expects")); + VS_THROW(HumbleInvalidArgument::make("audio sample format does not match what coder expects: %d vs %d", + getSampleFormat(), audio->getFormat())); + +} + +int32_t +Coder::getFlags() +{ + return mCtx->flags; +} +int32_t +Coder::getFlag(Flag flag) { + return mCtx->flags & flag; +} +int32_t +Coder::getFlags2() +{ + return mCtx->flags2; +} +int32_t +Coder::getFlag2(Flag2 flag) { + return mCtx->flags2 & flag; +} +void +Coder::setFlags(int32_t val) +{ + if (getState() != STATE_INITED) + VS_THROW(HumbleInvalidArgument("Cannot set flags after coder is opened")); + mCtx->flags = val; } +void +Coder::setFlag(Flag flag, bool value) +{ + if (getState() != STATE_INITED) + VS_THROW(HumbleInvalidArgument("Cannot set flags after coder is opened")); + + if (value) + { + mCtx->flags |= flag; + } + else + { + mCtx->flags &= (~flag); + } +} +void +Coder::setFlags2(int32_t val) +{ + if (getState() != STATE_INITED) + VS_THROW(HumbleInvalidArgument("Cannot set flags after coder is opened")); + + mCtx->flags2 = val; +} +void +Coder::setFlag2(Flag2 flag, bool value) +{ + if (getState() != STATE_INITED) + VS_THROW(HumbleInvalidArgument("Cannot set flags after coder is opened")); + + if (value) + { + mCtx->flags2 |= flag; + } + else + { + mCtx->flags2 &= (~flag); + } +} + } /* namespace video */ } /* namespace humble */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Coder.h b/humble-video-native/src/main/gnu/src/io/humble/video/Coder.h index aa0aa928..8f501245 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Coder.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Coder.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -214,7 +214,7 @@ class VS_API_HUMBLEVIDEO Coder : public io::humble::video::Configurable * * @param pixelFmt Pixel format to use. */ - virtual void setPixelType(PixelFormat::Type pixelFmt) { mCtx->pix_fmt = (enum AVPixelFormat)pixelFmt; } + virtual void setPixelFormat(PixelFormat::Type pixelFmt) { mCtx->pix_fmt = (enum AVPixelFormat)pixelFmt; } /** * Get the sample rate we use for this coder. @@ -314,6 +314,38 @@ class VS_API_HUMBLEVIDEO Coder : public io::humble::video::Configurable */ virtual int32_t getFrameSize(); + /** + * Get the 32-bit compliment of all flags. + */ + virtual int32_t getFlags(); + /** + * Check if a given flag is set. + */ + virtual int32_t getFlag(Flag flag); + /** + * Get the 32-bit compliment of all flags 2 flags + */ + virtual int32_t getFlags2(); + /** + * Check if a given flag2 flag is set. + */ + virtual int32_t getFlag2(Flag2 flag); + /** + * Set a new bitmask of all Flag values (bit xored together). + */ + virtual void setFlags(int32_t newVal); + /** + * Set a flag to true or false. + */ + virtual void setFlag(Flag flag, bool value); + /** + * Set a new bitmask of all Flag2 values (bit xored together). + */ + virtual void setFlags2(int32_t newVal); + /** + * Set a flag2 to true or false. + */ + virtual void setFlag2(Flag2 flag, bool value); #ifndef SWIG virtual void* getCtx() { return getCodecCtx(); } @@ -332,10 +364,16 @@ class VS_API_HUMBLEVIDEO Coder : public io::humble::video::Configurable virtual ~Coder(); /** - * Make sure the audio passed in has parameters that match this decoder. + * Make sure the audio passed in has parameters that match this coder. */ void ensureAudioParamsMatch(MediaAudio* audio); void ensurePictureParamsMatch(MediaPicture* audio); + + // This gets called after options are set on a Codec but before + // open. Subclasses should override to check or prepare any + // other contexts they need before open. Throw an exception + // if not ready to proceed. + virtual void checkOptionsBeforeOpen() {}; private: AVCodecContext *mCtx; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Coder.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Coder.swg index 9671508f..bebbce3c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Coder.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Coder.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.cpp index c22275aa..ea40ec9f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.h b/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.h index 9291bc2e..2dd79ad3 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.swg index 202798f9..dd7749ae 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Configurable.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Container.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Container.cpp index ade6b757..9ef0a4ce 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Container.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Container.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * Container.cpp * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "Container.h" #include "PropertyImpl.h" @@ -30,7 +25,7 @@ #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Container); using namespace io::humble::video::customio; using namespace io::humble::ferry; @@ -40,6 +35,7 @@ namespace humble { namespace video { Container::Container() { + VS_LOG_TRACE("Created: %p"); } Container::~Container() { @@ -47,12 +43,12 @@ Container::~Container() { while(mStreams.size() > 0) { Stream* stream=mStreams.back(); + mStreams.pop_back(); if (stream) { delete stream; } - mStreams.pop_back(); } - + VS_LOG_TRACE("Destroyed: %p"); } int @@ -105,35 +101,19 @@ Container::Stream::Stream(Container* container, int32_t index) { } Container::Stream::~Stream() { - } Coder* Container::Stream::getCoder() { - if (!mCoder) { - // we need to know the stream direction... - AVFormatContext* ctx = mContainer->getFormatCtx(); - AVStream* stream = getCtx(); - - if (!ctx || !stream) { - VS_THROW(HumbleRuntimeError("could not get container context to find coder")); - } - if (!stream->codec) { - VS_THROW(HumbleRuntimeError("No codec set for stream")); - } - RefPointer codec; + // we need to know the stream direction... + AVFormatContext* ctx = mContainer->getFormatCtx(); + AVStream* stream = getCtx(); - if (ctx->iformat) { - // make a copy of the decoder so we decouple it from the container - // completely - codec = Codec::findDecodingCodec((Codec::ID)stream->codec->codec_id); - if (!codec) { - VS_THROW(HumbleRuntimeError("could not find decoding codec")); - } - mCoder = Decoder::make(codec.value(), stream->codec, true); - } else { + if (!ctx || !stream) { + VS_THROW(HumbleRuntimeError("could not get container context to find coder")); + } + if (!mCoder && ctx->oformat) { VS_THROW(HumbleRuntimeError("Got null encoder on MuxerStream which should not be possible")); - } } return mCoder.get(); } @@ -168,13 +148,50 @@ Container::doSetupStreams() { // for audio, 1/sample-rate is a good timebase. avStream->time_base.num = 1; avStream->time_base.den = avStream->codec->sample_rate; + VS_LOG_DEBUG("No timebase set on audio stream %ld. Setting to 1/sample-rate (1/%ld)", + (int32_t)i, + (int32_t)avStream->time_base.den + ); } else if(goodTimebase) { + VS_LOG_DEBUG("No timebase set on stream %ld. Setting to (%ld/%ld)", + (int32_t)i, + (int32_t)goodTimebase->num, + (int32_t)goodTimebase->den + ); avStream->time_base = *goodTimebase; + } else { + VS_LOG_WARN("No timebase set on stream %ld. And no good guess for what to set", + (int32_t)i); } } // now let's initialize our stream object. Stream* stream = new Stream(this, i); mStreams.push_back(stream); + if (ctx->iformat) { + // if a input format, we try to set up the decoder objects here. Some streams + // will have no decoder objects available. + RefPointer codec = Codec::findDecodingCodec((Codec::ID)avStream->codec->codec_id); + RefPointer coder; + if (codec) { + // make a copy of the decoder so we decouple it from the container + // completely + coder = Decoder::make(codec.value(), avStream->codec, true); + stream->setCoder(coder.value()); + } else { + VS_LOG_DEBUG("noDecoderAvailable Container@%p[i=%"PRId32";codec_id:%"PRId32"];", + this, + avStream->index, + avStream->codec->codec_id); + } +#ifdef VS_DEBUG + VS_LOG_TRACE("newStreamFound Container@%p[i=%"PRId32";c=%p;tb=%"PRId32"/%"PRId32";]", + this, + (int32_t)avStream->index, + coder.value(), + (int32_t)avStream->time_base.num, + (int32_t)avStream->time_base.den); +#endif + } } } diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Container.h b/humble-video-native/src/main/gnu/src/io/humble/video/Container.h index 06e458d7..7112f799 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Container.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Container.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * Container.h * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef CONTAINER_H_ #define CONTAINER_H_ @@ -156,6 +151,7 @@ class VS_API_HUMBLEVIDEO Container : public ::io::humble::video::Configurable void popCoder() { AVStream* ctx = getCtx(); ctx->codec = mCachedCtx; + mCachedCtx = 0; } void pushCoder() { AVStream* ctx = getCtx(); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Container.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Container.swg index fe320136..47f91664 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Container.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Container.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.cpp index 657e77c1..909b07b0 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * ContainerFormat.cpp * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "ContainerFormat.h" diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.h b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.h index 7bab1dc3..92e08969 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * ContainerFormat.h * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef CONTAINERFORMAT_H_ #define CONTAINERFORMAT_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.swg b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.swg index 4f2d3b90..8883553d 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerFormat.swg @@ -16,8 +16,6 @@ * You should have received a copy of the GNU Affero General Public License * along with Humble Video. If not, see . * - * ContainerFormat.h - * * Created on: Jun 28, 2013 * Author: aclarke */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.cpp index 3457b7fb..08f87df5 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.cpp @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "ContainerStream.h" @@ -32,7 +32,7 @@ #include "FfmpegIncludes.h" -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.ContainerStream); using namespace io::humble::ferry; @@ -41,7 +41,7 @@ namespace humble { namespace video { ContainerStream::ContainerStream(Container *container, int32_t index) { - if (!index < 0) { + if (index < 0) { VS_THROW(HumbleInvalidArgument("no stream")); } if (!container) { @@ -49,10 +49,12 @@ ContainerStream::ContainerStream(Container *container, int32_t index) { } mIndex = index; mContainer.reset(container, true); // acquire it so that this object lives. + VS_LOG_TRACE("Created: %p", this); } ContainerStream::~ContainerStream() { // nothing should be required. + VS_LOG_TRACE("Destroyed: %p", this); } Container* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.h b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.h index 53d65852..2a9ca862 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.h @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef STREAM_H_ #define STREAM_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.swg b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.swg index 832f0210..0cde43b5 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/ContainerStream.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.cpp index 8d5eef1e..9a8a5ef2 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -29,12 +29,12 @@ #include #include #include -#include +#include #include #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Decoder); using namespace io::humble::ferry; @@ -52,12 +52,12 @@ Decoder::Decoder(Codec* codec, AVCodecContext* src, bool copy) : Coder(codec, sr mSamplesSinceLastTimeStampDiscontinuity = 0; mAudioDiscontinuityStartingTimeStamp = Global::NO_PTS; - VS_LOG_TRACE("Created decoder"); + VS_LOG_TRACE("Created: %p", this); } Decoder::~Decoder() { - + VS_LOG_TRACE("Destroyed: %p", this); } void @@ -74,7 +74,7 @@ Decoder::prepareFrame(AVFrame* frame, int flags) { switch (getCodecType()) { case MediaDescriptor::MEDIA_AUDIO: { - MediaAudioImpl* audio = dynamic_cast(mCachedMedia.value()); + MediaAudio* audio = dynamic_cast(mCachedMedia.value()); if (!audio || audio->getSampleRate() != frame->sample_rate || audio->getChannelLayout() != frame->channel_layout || @@ -115,9 +115,8 @@ Decoder::rebase(int64_t ts, MediaPacket* packet) { return dstTs->rescale(ts, srcTs.value()); } int32_t -Decoder::decodeAudio(MediaAudio* aOutput, MediaPacket* aPacket, +Decoder::decodeAudio(MediaAudio* output, MediaPacket* aPacket, int32_t byteOffset) { - MediaAudioImpl* output = dynamic_cast(aOutput); MediaPacketImpl* packet = dynamic_cast(aPacket); if (getCodecType() != MediaDescriptor::MEDIA_AUDIO) @@ -129,11 +128,11 @@ Decoder::decodeAudio(MediaAudio* aOutput, MediaPacket* aPacket, if (STATE_OPENED != getState()) VS_THROW(HumbleRuntimeError("Attempt to decodeAudio, but Decoder is not opened")); - if (!aOutput) + if (!output) VS_THROW(HumbleInvalidArgument("null audio passed to coder")); // let's check the audio parameters. - ensureAudioParamsMatch(aOutput); + ensureAudioParamsMatch(output); if (packet) { if (!packet->isComplete()) { @@ -217,14 +216,14 @@ Decoder::decodeAudio(MediaAudio* aOutput, MediaPacket* aPacket, // convert our calculated timestamp to the packet base and compare int64_t rebasedTs = packetBase ? packetBase->rescale(newPts, coderBase.value()) : newPts; int64_t delta = rebasedTs - packetTs; - VS_LOG_TRACE("packet: %lld; calculated: %lld; delta: %lld; tb (%d/%d); nextPts: %lld; samples: %lld", - packetTs, - rebasedTs, - delta, - packetBase->getNumerator(), - packetBase->getDenominator(), - newPts, - mSamplesSinceLastTimeStampDiscontinuity); +// VS_LOG_TRACE("packet: %lld; calculated: %lld; delta: %lld; tb (%d/%d); nextPts: %lld; samples: %lld", +// packetTs, +// rebasedTs, +// delta, +// packetBase->getNumerator(), +// packetBase->getDenominator(), +// newPts, +// mSamplesSinceLastTimeStampDiscontinuity); if (delta <= 1 && delta >= -1) { // within one tick; keep the original measure of discontinuity start } else { @@ -262,6 +261,20 @@ Decoder::decodeAudio(MediaAudio* aOutput, MediaPacket* aPacket, mCachedMedia = 0; av_frame_unref(frame); av_freep(&frame); + +#ifdef VS_DEBUG + char outDescr[256]; *outDescr = 0; + char inDescr[256]; *inDescr = 0; + if (aPacket) aPacket->logMetadata(inDescr, sizeof(inDescr)); + if (output) output->logMetadata(outDescr, sizeof(outDescr)); + VS_LOG_TRACE("decodeAudio Decoder@%p[out:%s;in:%s;offset:%lld;decoded:%" PRIi64, + this, + outDescr, + inDescr, + (int64_t)byteOffset, + (int64_t)retval); +#endif + /** END DO NOT THROW EXCEPTIONS **/ FfmpegException::check(retval, "Error while decoding "); return retval; @@ -354,11 +367,47 @@ Decoder::decodeVideo(MediaPicture* aOutput, MediaPacket* aPacket, mCachedMedia = 0; av_frame_unref(frame); av_freep(&frame); + +#ifdef VS_DEBUG + char outDescr[256]; *outDescr = 0; + char inDescr[256]; *inDescr = 0; + if (aPacket) aPacket->logMetadata(inDescr, sizeof(inDescr)); + if (aOutput) aOutput->logMetadata(outDescr, sizeof(outDescr)); + VS_LOG_TRACE("decodeVideo Decoder@%p[out:%s;in:%s;offset:%lld;decoded:%" PRIi64, + this, + outDescr, + inDescr, + (int64_t)byteOffset, + (int64_t)retval); +#endif /** END DO NOT THROW EXCEPTIONS **/ FfmpegException::check(retval, "Error while decoding "); return retval; } +int32_t +Decoder::decode(MediaSampled* output, MediaPacket* packet, int32_t offset) { + MediaDescriptor::Type type = getCodecType(); + switch(type) { + case MediaDescriptor::MEDIA_AUDIO: { + MediaAudio* audio = dynamic_cast(output); + if (!audio && output) + VS_THROW(HumbleInvalidArgument("passed non-audio Media to an audio decoder")); + return decodeAudio(audio, packet, offset); + } + break; + case MediaDescriptor::MEDIA_VIDEO: { + MediaPicture* picture = dynamic_cast(output); + if (!picture && output) + VS_THROW(HumbleInvalidArgument("passed non-video Media to an video decoder")); + return decodeVideo(picture, packet, offset); + } + break; + default: + VS_THROW(HumbleInvalidArgument("passed a media type that is not compatible with this decoder")); + } + return -1; +} Decoder* Decoder::make(Codec* codec) { @@ -385,7 +434,7 @@ Decoder::make(Coder* src) VS_THROW(HumbleRuntimeError("coder has no codec")); } if (!c->canDecode()) { - // this codec cannot encode, so we try to find a new codec that can + // this codec cannot decode, so we try to find a new codec that can // of the same type. Codec::ID id = c->getID(); c = Codec::findDecodingCodec(id); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.h b/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.h index 18384171..55d2bf0e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -111,6 +111,29 @@ class VS_API_HUMBLEVIDEO Decoder : public io::humble::video::Coder virtual int32_t decodeVideo(MediaPicture * output, MediaPacket *packet, int32_t byteOffset); + /** + * Decode this packet into output. It will + * try to fill up the media object, starting + * from the byteOffset inside this packet. + *

+ * The caller is responsible for allocating the + * correct underlying Media object. This function will overwrite + * any data in the samples object. + *

+ * @param output The Media we decode to. Caller must check if it is complete on return. + * @param packet The packet we're attempting to decode from. + * @param byteOffset Where in the packet payload to start decoding + * + * @return number of bytes actually processed from the packet, or negative for error + * + * @throws InvalidArgument if the media type is not compatible with this decoder. + * @see decodeVideo + * @see decodeAudio + */ + virtual int32_t decode(MediaSampled * output, + MediaPacket *packet, int32_t byteOffset); + + /** * Decode this packet into output. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.swg index 96adf991..e836c5d9 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Decoder.swg @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. + * Copyright (c) 2014, Art Clarke. All rights reserved. * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.cpp index 6139829f..4cccae80 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.h b/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.h index f9d09d18..d2ebb528 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -121,13 +121,6 @@ class VS_API_HUMBLEVIDEO Demuxer : public io::humble::video::Container *

The caller must call #close() when done, but if not, the * Demuxer will eventually close * them later but warn to the logging system. - *

If the current thread is interrupted while this blocking method - * is running the method will return with a negative value. - * To check if the method exited because of an interruption - * pass the return value to Error#make(int) and then - * check Error#getType() to see if it is - * Error.Type#ERROR_INTERRUPTED. - *

* * @param url The resource to open; The format of this string is any * url that FFMPEG supports (including additional protocols if added @@ -159,13 +152,6 @@ class VS_API_HUMBLEVIDEO Demuxer : public io::humble::video::Container /** * Close the container. open() must have been called first, or * else an error is returned. - *

If the current thread is interrupted while this blocking method - * is running the method will return with a negative value. - * To check if the method exited because of an interruption - * pass the return value to Error#make(int) and then - * check Error#getType() to see if it is - * Error.Type#ERROR_INTERRUPTED. - *

*

* If this method exits because of an interruption, * all resources will be closed anyway. @@ -188,17 +174,17 @@ class VS_API_HUMBLEVIDEO Demuxer : public io::humble::video::Container * Reads the next packet in the Demuxer into the Packet. This method will * release any buffers currently held by this packet and allocate * new ones. - *

If the current thread is interrupted while this blocking method - * is running the method will return with a negative value. - * To check if the method exited because of an interruption - * pass the return value to Error#make(int) and then - * check Error#getType() to see if it is - * Error.Type#ERROR_INTERRUPTED. + *

+ * For non-blocking IO data sources, it is possible for this method + * to return as successful but with no complete packet. In that case + * the caller should retry again later (think EAGAIN) semantics. *

* * @param packet [In/Out] The packet the Demuxer will read into. * * @return 0 if successful, or <0 if not. + * @throws RuntimeException if an error occurs except for EOF (in which case <0 returned) + * or EAGAIN (in which case 0 returned with an incomplete packet). */ virtual int32_t read(MediaPacket *packet)=0; @@ -211,13 +197,7 @@ class VS_API_HUMBLEVIDEO Demuxer : public io::humble::video::Container * read packets, but this method can be non-blocking potentially until end of container * to get all meta data. Take care when you call it. *

After this method is called, other meta data methods like #getDuration() should - * work.

If the current thread is interrupted while this blocking method - * is running the method will return with a negative value. - * To check if the method exited because of an interruption - * pass the return value to Error#make(int) and then - * check Error#getType() to see if it is - * Error.Type#ERROR_INTERRUPTED. - *

+ * work.

* */ virtual void diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.swg index 6b93cea0..345448aa 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Demuxer.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.cpp index 8828e44f..03e50892 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * DemuxerFormat.cpp - * - * Created on: Jun 29, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "DemuxerFormat.h" #include "Global.h" diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.h b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.h index 83802522..bcc22f37 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * DemuxerFormat.h * - * Created on: Jun 29, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef DEMUXERFORMAT_H_ #define DEMUXERFORMAT_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.swg b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.swg index d89d454b..bc70532d 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerFormat.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * @@ -16,8 +16,6 @@ * You should have received a copy of the GNU Affero General Public License * along with Humble Video. If not, see . * - * DemuxerFormat.swg - * * Created on: Jun 29, 2013 * Author: aclarke */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.cpp index 3f145ce1..91f7e7ab 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -31,7 +31,7 @@ #include "KeyValueBagImpl.h" #include "VideoExceptions.h" -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Demuxer); using namespace io::humble::video::customio; using namespace io::humble::ferry; @@ -53,6 +53,7 @@ DemuxerImpl::DemuxerImpl() { mCtx->interrupt_callback.callback = Global::avioInterruptCB; mCtx->interrupt_callback.opaque = this; mState = STATE_INITED; + VS_LOG_TRACE("Created: %p"); } DemuxerImpl::~DemuxerImpl() { @@ -65,6 +66,7 @@ DemuxerImpl::~DemuxerImpl() { } if (mCtx) avformat_free_context(mCtx); + VS_LOG_TRACE("Destroyed: %p"); } AVFormatContext* @@ -169,6 +171,9 @@ DemuxerImpl::open(const char *url, DemuxerFormat* format, mState = STATE_ERROR; FfmpegException::check(retval, "Error opening url: %s; ", url); } + VS_LOG_TRACE("open Demuxer@%p[url:%s;]", + this, + this->getURL()); if (queryMetaData) queryStreamMetaData(); return; @@ -274,35 +279,44 @@ DemuxerImpl::read(MediaPacket* ipkt) { while (retval == AVERROR(EAGAIN) && (mReadRetryMax < 0 || numReads <= mReadRetryMax)); - // and dump it's contents - VS_LOG_TRACE("read: %lld, %lld, %d, %d, %d, %lld, %lld: %p", - pkt->getDts(), - pkt->getPts(), - pkt->getFlags(), - pkt->getStreamIndex(), - pkt->getSize(), - pkt->getDuration(), - pkt->getPosition(), - packet->data); - // and let's try to set the packet time base if known if (retval >= 0) { if (pkt->getStreamIndex() >= 0) { - RefPointer stream = this->getStream(pkt->getStreamIndex()); + // Get a Container Stream rather than a DemuxerStream; this avoids unnecessarily + // recreating all the demuxer streams, decoders and codecs. + Container::Stream* stream = ((Container*)this)->getStream(pkt->getStreamIndex()); if (stream) { - RefPointer streamBase = stream->getTimeBase(); + // let's set the packet coder. + RefPointer coder = stream->getCoder(); + pkt->setCoder(coder.value()); + AVStream* avStream = stream->getCtx(); + RefPointer streamBase = Rational::make(avStream->time_base.num, + avStream->time_base.den); if (streamBase) { pkt->setTimeBase(streamBase.value()); } } } - pkt->setComplete(true, pkt->getSize()); + + pkt->setComplete(pkt->getSize()>0, pkt->getSize()); } + char descr[256]; + pkt->logMetadata(descr, sizeof(descr)); + VS_LOG_TRACE("read Demuxer@%p[p:%s;e:%" PRIi64 "]", + this, + descr, + (int64_t)retval); } VS_CHECK_INTERRUPT(true); + // If we do not have enoughd ata, set retval to 0 and return. The caller + // should know to call again given that 0 bytes returned with incomplete + // packet. + if (retval == AVERROR(EAGAIN)) + retval = 0; + if (retval < 0 && retval != AVERROR_EOF) // throw exception in this case FfmpegException::check(retval, "exception on read of: %s; ", getURL()); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.h index 7ca4116e..8b55c06c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.cpp index eb2aef2c..c91fb939 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -31,7 +31,7 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.DemuxerStream); namespace io { namespace humble { @@ -39,10 +39,11 @@ namespace video { DemuxerStream::DemuxerStream(Container* container, int32_t index) : ContainerStream(container, index) { - + VS_LOG_TRACE("Created: %p", this); } DemuxerStream::~DemuxerStream() { + VS_LOG_TRACE("Destroyed: %p", this); } DemuxerStream* @@ -64,11 +65,13 @@ DemuxerStream::getDecoder() { if (stream->codec) { // make a copy of the decoder so we decouple it from the container // completely - RefPointer codec = Codec::findDecodingCodec((Codec::ID)stream->codec->codec_id); - if (!codec) { - VS_THROW(HumbleRuntimeError("could not find decoding codec")); + if (stream->codec->codec_id != AV_CODEC_ID_NONE) { + RefPointer codec = Codec::findDecodingCodec((Codec::ID)stream->codec->codec_id); + if (!codec) { + VS_THROW(HumbleRuntimeError("could not find decoding codec")); + } + mDecoder = Decoder::make(codec.value(), stream->codec, true); } - mDecoder = Decoder::make(codec.value(), stream->codec, true); } } return mDecoder.get(); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.h b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.h index 9d60825d..0c9cb357 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.swg b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.swg index 7b13d5f8..5b10188a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/DemuxerStream.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.cpp index 0761ddca..ce63cde2 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -30,11 +30,27 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Encoder); namespace io { namespace humble { -namespace video { +namespace +video { + +#if 0 +int32_t +Encoder::acquire() +{ + VS_LOG_DEBUG("encoder acquire: %p", this); + return RefCounted::acquire(); +} +int32_t +Encoder::release() +{ + VS_LOG_DEBUG("encoder release: %p", this); + return RefCounted::release(); +} +#endif // 0 Encoder::Encoder(Codec* codec, AVCodecContext* src, bool copySrc) : Coder(codec, src, copySrc) { if (!codec) @@ -42,11 +58,15 @@ Encoder::Encoder(Codec* codec, AVCodecContext* src, bool copySrc) : Coder(codec, if (!codec->canEncode()) throw HumbleInvalidArgument("passed in codec cannot encode"); - VS_LOG_TRACE("Created encoder"); + mNumDroppedFrames = 0; + mLastPtsEncoded = Global::NO_PTS; + + VS_LOG_TRACE("Created: %p", this); } Encoder::~Encoder() { + VS_LOG_TRACE("Destroyed: %p", this); } Encoder* @@ -106,27 +126,127 @@ Encoder::make(Codec* codec, AVCodecContext* src) { } void -Encoder::open(KeyValueBag * inputOptions, KeyValueBag* unsetOptions) { - Coder::open(inputOptions, unsetOptions); +Encoder::checkOptionsBeforeOpen() { // now check to see if we require an audio resampler. RefPointer codec = getCodec(); - if (codec->getType() == MediaDescriptor::MEDIA_AUDIO && - !(codec->getCapabilities() & Codec::CAP_VARIABLE_FRAME_SIZE)) { - // yes, we do. Let's create one. This looks odd, as it's converting - // the same params into the same params, but it's really just being - // used as an audio buffer for us. - mAResampler = MediaAudioResampler::make( - getChannelLayout(), - getSampleRate(), - getSampleFormat(), - getChannelLayout(), - getSampleRate(), - getSampleFormat() - ); + switch (codec->getType()) { + case MediaDescriptor::MEDIA_AUDIO: { + int32_t sampleRate = getSampleRate(); + AudioChannel::Layout channelLayout = getChannelLayout(); + AudioFormat::Type format = getSampleFormat(); + + // Only do this check if the codec reports more than 0 supported rates or formats. + int n = codec->getNumSupportedAudioSampleRates(); + int i = 0; + + for(i = 0; i < n; ++i) { + int32_t s = codec->getSupportedAudioSampleRate(i); + if (s == sampleRate) + break; + } + if (n > 0 && i == n) { + VS_THROW(HumbleInvalidArgument::make("Sample rate %ld not supported by encoder.", + (int32_t)sampleRate + )); + } + + n = codec->getNumSupportedAudioChannelLayouts(); + for(i = 0; i < n; ++i) { + AudioChannel::Layout c = codec->getSupportedAudioChannelLayout(i); + if (c == channelLayout) + break; + } + if (n > 0 && i == n) { + VS_THROW(HumbleInvalidArgument::make("Channel layout %ld not supported by encoder.", + (int32_t)channelLayout + )); + } + + n = codec->getNumSupportedAudioFormats(); + for(i = 0; i < n; i++) { + AudioFormat::Type f = codec->getSupportedAudioFormat(i); + if (f == format) + break; + } + if (n > 0 && i == n) { + VS_THROW(HumbleInvalidArgument::make("Audio format %ld not supported by encoder.", + (int32_t)format + )); + } + } + break; + case MediaDescriptor::MEDIA_VIDEO: { +// PixelFormat::Type format = getPixelFormat(); +// RefPointer tb = getTimeBase(); + + } + break; + default: + break; } } void -Encoder::encodeVideo(MediaPacket* aOutput, MediaPicture* frame) { +Encoder::open(KeyValueBag * inputOptions, KeyValueBag* unsetOptions) { + RefPointer codec = getCodec(); + + Coder::open(inputOptions, unsetOptions); + switch(codec->getType()) { + case MediaDescriptor::MEDIA_AUDIO: { + if (!(codec->getCapabilities() & Codec::CAP_VARIABLE_FRAME_SIZE)) { + int32_t frameSize = getFrameSize(); + if (frameSize <= 0) { + setState(STATE_ERROR); + VS_THROW(HumbleRuntimeError("Codec requires fixed frame size, but does not specify frame size")); + } + /* + * This codec requires a fixed frame size, and we cannot guarantee our callers + * will always send in the right audio. So we're going to set up a filter chain + * whose sole purpose is to get us audio from the input format into right format + * for this codec + * + * For future features, this imposes a overhead for users who are smart enough + * to align frame-sizes, and we should provide an option to make this optional. But + * a learning from the past is to assume the callers don't actually know to make + * correctly aligned frames. + */ + mAudioGraph = FilterGraph::make(); + mAudioSource = mAudioGraph->addAudioSource("in", + getSampleRate(), + getChannelLayout(), + getSampleFormat(), + 0); + mAudioSink = mAudioGraph->addAudioSink("out", + getSampleRate(), + getChannelLayout(), + getSampleFormat()); + // a graph that passes through the audio unmodified. + mAudioGraph->open("[in]anull[out]"); + // now, fix the output frame size. + mAudioSink->setFrameSize(frameSize); + } + VS_LOG_TRACE("open Encoder@%p[t=AUDIO;sr=%"PRId32";c:%"PRId32";cl:%"PRId32";f=%"PRId32";]", + this, + (int32_t)getSampleRate(), + (int32_t)getChannels(), + (int32_t)getChannelLayout(), + (int32_t)getSampleFormat()); + + } + break; + case MediaDescriptor::MEDIA_VIDEO: { + VS_LOG_TRACE("open Encoder@%p[t=VIDEO;d=%"PRId32"x%"PRId32";f:%"PRId32";]", + this, + (int32_t)getWidth(), + (int32_t)getHeight(), + (int32_t)getPixelFormat()); + } + break; + default: + break; + } +} +void +Encoder::encodeVideo(MediaPacket* aOutput, MediaPicture* aFrame) { MediaPacketImpl* output = dynamic_cast(aOutput); if (getState() != STATE_OPENED) { @@ -138,26 +258,116 @@ Encoder::encodeVideo(MediaPacket* aOutput, MediaPicture* frame) { if (!output) { VS_THROW(HumbleInvalidArgument("output cannot be null")); } + // now reset the packet so we allocate new memory (because encoders sometimes change packet sizes). + output->reset(0); + + + RefPointer coderTb = this->getTimeBase(); + // let's check the picture parameters. - ensurePictureParamsMatch(frame); + bool dropFrame = false; - if (frame && !frame->isComplete()) { - VS_THROW(HumbleInvalidArgument("Can only pass complete media to encode")); + // copy the frame so we can modify meta-data + RefPointer frame = aFrame ? MediaPicture::make(aFrame, false) : 0; + + if (frame) { + + if (!frame->isComplete()) { + VS_THROW(HumbleInvalidArgument("Can only pass complete media to encode")); + } + + if (frame->getPts() == Global::NO_PTS) { + VS_THROW(HumbleInvalidArgument("Passed in media must have a valid time stamp")); + } + + ensurePictureParamsMatch(frame.value()); + + RefPointer frameTb = frame->getTimeBase(); + /** + * check time stamps and drop frames when needed if the time + * base of the input frame cannot be converted to the encoder + * time base without rounding. + * + */ + int64_t inTs = coderTb->rescale(frame->getTimeStamp(), frameTb.value(), Rational::ROUND_DOWN); + if (mLastPtsEncoded != Global::NO_PTS) { + if (inTs <= mLastPtsEncoded) { + VS_LOG_DEBUG( + "Encoder@%p: Dropping frame with timestamp %lld (if coder supports higher time-base use that instead)", + this, + frame->getPts()); + dropFrame = true; + } + } + if (!dropFrame) { + mLastPtsEncoded = inTs; + frame->setTimeBase(coderTb.value()); + // set the timestamp after the timbase as setTimeBase does a conversion. + frame->setTimeStamp(inTs); + } } + AVFrame* in = frame ? frame->getCtx() : 0; AVPacket* out = output->getCtx(); - int got_frame = 0; - int e = avcodec_encode_video2(getCodecCtx(), out, in, &got_frame); + + // set the packet to be the max size if can be + output->setComplete(false, 0); + if (out->buf && out->data) + out->size = out->buf->size; + else + out->size = 0; + + int oldStreamIndex = output->getStreamIndex(); + int e = 0; + if (!dropFrame) + e = avcodec_encode_video2(getCodecCtx(), out, in, &got_frame); + // some codec erroneously set stream_index, but our encoders are always + // muxer independent. we fix that here. + output->setStreamIndex(oldStreamIndex); if (got_frame) { - output->setComplete(true, out->size); - } else { - output->setComplete(false, 0); + output->setCoder(this); + output->setTimeBase(coderTb.value()); + output->setComplete(out->size > 0, out->size); } +#ifdef VS_DEBUG + char outDescr[256]; *outDescr = 0; + char inDescr[256]; *inDescr = 0; + if (aFrame) aFrame->logMetadata(inDescr, sizeof(inDescr)); + if (aOutput) aOutput->logMetadata(outDescr, sizeof(outDescr)); + VS_LOG_TRACE("encodeVideo Encoder@%p[out:%s;in:%s;encoded:%" PRIi64, + this, + outDescr, + inDescr, + (int64_t)e); +#endif + FfmpegException::check(e, "could not encode video "); } +void +Encoder::encode(MediaPacket* output, MediaSampled* media) { + MediaDescriptor::Type type = getCodecType(); + switch(type) { + case MediaDescriptor::MEDIA_AUDIO: { + MediaAudio* audio = dynamic_cast(media); + if (!audio && media) + VS_THROW(HumbleInvalidArgument("passed non-audio Media to an audio encoder")); + encodeAudio(output, audio); + } + break; + case MediaDescriptor::MEDIA_VIDEO: { + MediaPicture* picture = dynamic_cast(media); + if (!picture && media) + VS_THROW(HumbleInvalidArgument("passed non-video Media to an video encoder")); + encodeVideo(output, picture); + } + break; + default: + VS_THROW(HumbleInvalidArgument("passed a media type that is not compatible with this encoder")); + } +} void Encoder::encodeAudio(MediaPacket* aOutput, MediaAudio* samples) { MediaPacketImpl* output = dynamic_cast(aOutput); @@ -171,6 +381,9 @@ Encoder::encodeAudio(MediaPacket* aOutput, MediaAudio* samples) { if (!output) { VS_THROW(HumbleInvalidArgument("output cannot be null")); } + // now reset the packet so we allocate new memory (because encoders sometimes change packet sizes). + output->reset(0); + // let's check the audio parameters. ensureAudioParamsMatch(samples); @@ -180,35 +393,136 @@ Encoder::encodeAudio(MediaPacket* aOutput, MediaAudio* samples) { RefPointer codec = getCodec(); RefPointer inputAudio; + RefPointer coderTb = this->getTimeBase(); + + bool dropFrame = false; - inputAudio.reset(samples, true); + if (samples) { + // make copy so we can modify meta-data + inputAudio = MediaAudio::make(samples, false); + } if (!(codec->getCapabilities() & Codec::CAP_VARIABLE_FRAME_SIZE)) { // this codec requires that the right number of audio samples // gets passed in each call. - if (!mResampledAudio) { + if (!mFilteredAudio) { if (samples) - mResampledAudio = MediaAudio::make(getFrameSize(), + mFilteredAudio = MediaAudio::make(getFrameSize(), samples->getSampleRate(), samples->getChannels(), samples->getChannelLayout(), samples->getFormat()); } - if (mResampledAudio) { - mAResampler->resample(mResampledAudio.value(), samples); - inputAudio = mResampledAudio.get(); + if (mFilteredAudio) { + // add the samples, or null if empty. + mAudioSource->addAudio(samples); + // pull the sink. + mAudioSink->getAudio(mFilteredAudio.value()); + +#ifdef VS_DEBUG + { + char outDescr[256]; *outDescr = 0; + char inDescr[256]; *inDescr = 0; + if (inputAudio) inputAudio->logMetadata(inDescr, sizeof(inDescr)); + if (mFilteredAudio) mFilteredAudio->logMetadata(outDescr, sizeof(outDescr)); + VS_LOG_TRACE("encodeAudio filterAudio Encoder@%p[out:%s;in:%s];", + this, + mFilteredAudio ? outDescr : "(null)", + inputAudio ? inDescr : "(null)"); + } +#endif + + if (mFilteredAudio->isComplete()) { + inputAudio = mFilteredAudio.get(); + } else + inputAudio = 0; + } + if (inputAudio) { + RefPointer inputAudioTb = inputAudio->getTimeBase(); + /** + * check time stamps and drop frames when needed if the time + * base of the input frame cannot be converted to the encoder + * time base without rounding. + * + */ + int64_t inTs = coderTb->rescale(inputAudio->getTimeStamp(), inputAudioTb.value(), Rational::ROUND_DOWN); + if (mLastPtsEncoded != Global::NO_PTS) { + if (inTs <= mLastPtsEncoded) { + VS_LOG_DEBUG( + "Encoder@%p Dropping frame with timestamp %lld (if coder supports higher time-base use that instead)", + this, + inputAudio->getPts()); + dropFrame = true; + } + } + if (!dropFrame) { + mLastPtsEncoded = inTs; + inputAudio->setTimeBase(coderTb.value()); + // set the timestamp after the timbase as setTimeBase does a conversion. + inputAudio->setTimeStamp(inTs); + } + } + // now a sanity check + if (!(!samples || !inputAudio || inputAudio->getNumSamples() == getFrameSize())) { + VS_THROW(HumbleRuntimeError::make("not flushing, but samples returned (%ld) are less than frame size (%ld)", + inputAudio->getNumSamples(), + getFrameSize() + + )); } } - AVFrame* in = inputAudio ? inputAudio->getCtx() : 0; - AVPacket* out = output->getCtx(); + // only encode if (a) we've been asked to flush or (b) we have complete + // audio, even if we had to filter it to get a minimum frame. + if (!samples || (inputAudio && inputAudio->isComplete())){ + AVFrame* in = inputAudio ? inputAudio->getCtx() : 0; + AVPacket* out = output->getCtx(); - int got_frame = 0; - int e = avcodec_encode_audio2(getCodecCtx(), out, in, &got_frame); - if (got_frame) { - output->setComplete(true, out->size); + int got_frame = 0; + int oldStreamIndex = output->getStreamIndex(); + int e = 0; + if (!dropFrame) + avcodec_encode_audio2(getCodecCtx(), out, in, &got_frame); + // some codec erroneously set stream_index, but our encoders are always + // muxer independent. we fix that here. + output->setStreamIndex(oldStreamIndex); + if (got_frame) { + output->setCoder(this); + output->setTimeBase(coderTb.value()); + output->setComplete(true, out->size); + } else { + output->setComplete(false, 0); + } + +#ifdef VS_DEBUG + { + char outDescr[256]; *outDescr = 0; + char inDescr[256]; *inDescr = 0; + if (inputAudio) inputAudio->logMetadata(inDescr, sizeof(inDescr)); + if (aOutput) aOutput->logMetadata(outDescr, sizeof(outDescr)); + VS_LOG_TRACE("encodeAudio Encoder@%p[out:%s;in:%s;encoded:%" PRIi64 "]", + this, + aOutput ? outDescr : "(null)", + inputAudio ? inDescr : "(null)", + (int64_t)e); + } +#endif + + + FfmpegException::check(e, "could not encode audio "); } else { - output->setComplete(false, 0); - } +#ifdef VS_DEBUG + { + char outDescr[256]; *outDescr = 0; + char inDescr[256]; *inDescr = 0; + if (inputAudio) inputAudio->logMetadata(inDescr, sizeof(inDescr)); + if (aOutput) aOutput->logMetadata(outDescr, sizeof(outDescr)); + VS_LOG_TRACE("encodeAudio Encoder@%p[out:%s;in:%s;message:not enough audio staged yet]", + this, + aOutput ? outDescr : "(null)", + inputAudio ? inDescr : "(null)"); + } +#endif - FfmpegException::check(e, "could not encode audio "); + + } } } /* namespace video */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.h b/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.h index 611ab061..f3cbc7df 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -31,7 +31,9 @@ #include #include #include -#include +#include +#include +#include namespace io { namespace humble { @@ -43,6 +45,15 @@ namespace video { class VS_API_HUMBLEVIDEO Encoder : public io::humble::video::Coder { public: + + /** + * the number of media object the encoder had to drop (i.e. skip + * encoding) in order to ensure that time stamp values are + * monotonically increasing. See https://code.google.com/p/xuggle/issues/detail?id=180 + * for details on why this is. + */ + virtual int64_t getNumDroppedFrames() { return mNumDroppedFrames; } + /** * Create a Encoder that will use the given Codec. * @@ -82,14 +93,24 @@ class VS_API_HUMBLEVIDEO Encoder : public io::humble::video::Coder * this method passing in 0 (null) for frame to tell the encoder * to flush any data it was keeping a hold of. * - * @param output [out] The packet to encode into. It will point - * to a buffer allocated in the frame. Caller should check MediaPacket.isComplete() - * after call to find out if we had enough information to encode a full packet. - * @param frame [in/out] The frame to encode + * @param output [out] The packet to encode into. Caller should check + * MediaPacket.isComplete() after call to find out if we had enough + * information to encode a full packet. + * @param picture [in] The picture to encode * + * Note: caller must ensure that output has sufficient space to + * contain a full packet. Alas, there is currently no way to + * query an encoder to find out the maximum packet size that + * can be output (bummer, I know). That leaves the caller two + * options. (1) You can call Packet.make() before each encode + * call, and then the encoder will automagically create the correct + * sized buffer for that call (but if you reuse the packet, it + * may be too small for the next caller). Or (2) you can call + * Packet.make(int) with a value that will be larger than your + * max packet size (in which case you can reuse the packet). */ virtual void encodeVideo(MediaPacket * output, - MediaPicture * frame); + MediaPicture * picture); /** * Encode the given MediaAudio using this encoder. @@ -101,24 +122,81 @@ class VS_API_HUMBLEVIDEO Encoder : public io::humble::video::Coder * this method passing in 0 (null) for samples to tell the encoder * to flush any data it was keeping a hold of. * - * @param output [out] The packet to encode into. It will point - * to a buffer allocated in the frame. Caller should check MediaPacket.isComplete() - * after call to find out if we had enough information to encode a full packet. + * @param output [out] The packet to encode into. Caller should check + * MediaPacket.isComplete() after call to find out if we had enough + * information to encode a full packet. * @param samples [in] The samples to consume * + * Note: caller must ensure that output has sufficient space to + * contain a full packet. Alas, there is currently no way to + * query an encoder to find out the maximum packet size that + * can be output (bummer, I know). That leaves the caller two + * options. (1) You can call Packet.make() before each encode + * call, and then the encoder will automagically create the correct + * sized buffer for that call (but if you reuse the packet, it + * may be too small for the next caller). Or (2) you can call + * Packet.make(int) with a value that will be larger than your + * max packet size (in which case you can reuse the packet). + * */ virtual void encodeAudio(MediaPacket * output, MediaAudio* samples); + /** + * Encode the given Media using this encoder. + * + * Callers should call this repeatedly on a media object ntil + * we consume all the media. + * + * Also, when done in order to flush the encoder, caller should call + * this method passing in 0 (null) for media to tell the encoder + * to flush any data it was keeping a hold of. + * + * @param output [out] The packet to encode into. Caller should check + * MediaPacket.isComplete() after call to find out if we had enough + * information to encode a full packet. + * @param samples [in] The media to consume + * + * Note: caller must ensure that output has sufficient space to + * contain a full packet. Alas, there is currently no way to + * query an encoder to find out the maximum packet size that + * can be output (bummer, I know). That leaves the caller two + * options. (1) You can call Packet.make() before each encode + * call, and then the encoder will automagically create the correct + * sized buffer for that call (but if you reuse the packet, it + * may be too small for the next caller). Or (2) you can call + * Packet.make(int) with a value that will be larger than your + * max packet size (in which case you can reuse the packet). + * + * @throws throws an exception if getCodecType() and the underlying + * media object do not align (e.g. if you pass in a MediaPicture but the + * CodecType is audio data). + * + */ + virtual void encode(MediaPacket * output, + MediaSampled* media); +#if 0 +#ifndef SWIG + virtual int32_t acquire(); + virtual int32_t release(); +#endif // ! SWIG +#endif // 0 + protected: + virtual void checkOptionsBeforeOpen(); Encoder(Codec*, AVCodecContext* src, bool copySrc); virtual ~Encoder(); private: // Used to ensure we have the right frame-size for codecs that // require fixed frame sizes on audio. - io::humble::ferry::RefPointer mAResampler; - io::humble::ferry::RefPointer mResampledAudio; + io::humble::ferry::RefPointer mAudioGraph; + io::humble::ferry::RefPointer mAudioSource; + io::humble::ferry::RefPointer mAudioSink; + io::humble::ferry::RefPointer mFilteredAudio; + + int64_t mLastPtsEncoded; + int64_t mNumDroppedFrames; }; } /* namespace video */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.swg index 9c9f8e73..f844d2b6 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Encoder.swg @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. + * Copyright (c) 2014, Art Clarke. All rights reserved. * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FfmpegIncludes.h b/humble-video-native/src/main/gnu/src/io/humble/video/FfmpegIncludes.h index dfdc742e..4474699c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FfmpegIncludes.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FfmpegIncludes.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Filter.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Filter.cpp index 6c5661ff..82dac71f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Filter.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Filter.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -28,7 +28,7 @@ #include "Filter.h" #include "FilterLink.h" -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Filter); using namespace io::humble::ferry; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Filter.h b/humble-video-native/src/main/gnu/src/io/humble/video/Filter.h index 19a8c971..b502ff75 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Filter.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Filter.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Filter.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Filter.swg index 80aec3a1..8abba4f5 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Filter.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Filter.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.cpp index 2e957045..44b76953 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.h index 5cba6310..1851f0ab 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.swg index 7bd1a56a..34d435ba 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSink.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.cpp index 1eaa9251..ac93e34b 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -28,7 +28,6 @@ #include #include #include -#include using namespace io::humble::ferry; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.h index 9993495f..79fca495 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.swg index fa9241e6..75498266 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterAudioSource.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.cpp index f09dd826..98084415 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.h index fcc843b1..b7c2f5b3 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.swg index e01e45b0..287980ad 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterEndPoint.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.cpp index 9a8353c4..9b536e96 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -23,10 +23,6 @@ * Author: aclarke */ -extern "C" { -#define __STDC_FORMAT_MACROS -#include -} #include "FilterGraph.h" #include #include @@ -38,7 +34,7 @@ extern "C" { using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.FilterGraph); #define VS_FILTER_AUDIO_SINK "abuffersink" #define VS_FILTER_AUDIO_SOURCE "abuffer" diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.h index 47debf4c..bf36e932 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.swg index 6ab0c4c5..d550794b 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterGraph.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.cpp index 66e9a497..08835880 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -29,7 +29,7 @@ #include "FilterGraph.h" #include "FilterLink.h" -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.FilterLink); using namespace io::humble::ferry; namespace io { diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.h index 3d248b56..648cf228 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.swg index a46c407b..e895a720 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterLink.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.cpp index 604d2f45..47dfb471 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -31,7 +31,7 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.FilterPictureSink); using namespace io::humble::ferry; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.h index 66a01d11..a2767a3c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.swg index 1452da55..2e9b2193 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSink.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.cpp index efafd3a2..cb45d0ae 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.h index f01c672a..9dcb964c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.swg index 03f1ac55..f4925970 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterPictureSource.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.cpp index 3f5c08fa..a8bcf229 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -31,7 +31,7 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.FilterSink); namespace io { namespace humble { @@ -44,6 +44,25 @@ FilterSink::FilterSink(FilterGraph* graph, AVFilterContext* ctx) : FilterSink::~FilterSink() { } +void +FilterSink::setFrameSize(int32_t size) { + AVFilterContext* ctx = getFilterCtx(); + if (!ctx->inputs[0]) + VS_THROW(HumbleInvalidArgument("Cannot setFrameSize until graph this is added to is opened")); + + av_buffersink_set_frame_size(ctx, size); +} + +int32_t +FilterSink::getFrameSize() { + AVFilterContext* ctx = getFilterCtx(); + + // NOTE: This is peaking into the structure, and should + // be replaced if when a av_buffersink_get_frame_size method is + // implemented. + return ctx->inputs[0] ? ctx->inputs[0]->min_samples : 0; +} + int32_t FilterSink::get(MediaRaw* media) { @@ -73,6 +92,10 @@ FilterSink::get(MediaRaw* media) // if we get here, we're complete media->setComplete(true); } + if (e == AVERROR(EAGAIN)) + // set to 0 as the media incomplete status signals to caller they should retry. + e = 0; + // and free the frame we made av_frame_unref(frame); av_frame_free(&frame); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.h index 81fc628d..9ecba10f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -38,6 +38,18 @@ namespace video { */ class VS_API_HUMBLEVIDEO FilterSink : public FilterEndPoint { +public: + /** + * Set the frame size of this sink. If set to non-zero then #getAudio(MediaAudio) + * will only every return exactly that number of samples. + */ + virtual void setFrameSize(int32_t); + + /** + * Get the frame size. + */ + virtual int32_t getFrameSize(); + protected: int32_t get(MediaRaw*); FilterSink(FilterGraph* graph, AVFilterContext* ctx); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.swg index ddb5c6d1..78551641 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSink.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.cpp index d070f543..727ae457 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -31,7 +31,7 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.FilterSource); namespace io { namespace humble { @@ -46,15 +46,15 @@ FilterSource::~FilterSource() { void FilterSource::add(MediaRaw* media) { - if (!media) { - VS_THROW(HumbleInvalidArgument("no media passed in")); - } - if (!media->isComplete()) { - VS_THROW(HumbleInvalidArgument("incomplete media passed in")); - } // ok, let's get to work AVFilterContext* ctx = getFilterCtx(); - AVFrame* frame = media->getCtx(); + AVFrame* frame = 0; + if (media) { + if (!media->isComplete()) { + VS_THROW(HumbleInvalidArgument("incomplete media passed in")); + } + frame = media->getCtx(); + } int e = av_buffersrc_write_frame(ctx, frame); FfmpegException::check(e, "could not add frame to filter source: "); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.h index 5153f5f2..21e6fb87 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.swg index afebc848..c5e6ba48 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterSource.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.cpp index 71d4a99f..f2381db1 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -32,7 +32,7 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.FilterType); namespace io { namespace humble { diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.h b/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.h index 51c04222..07bd8c7e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.swg b/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.swg index a60d2075..9a86dfcc 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/FilterType.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Global.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Global.cpp index 15e7d4f0..c8ef457f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Global.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Global.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Global.h b/humble-video-native/src/main/gnu/src/io/humble/video/Global.h index d25fca61..904b4e90 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Global.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Global.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Global.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Global.swg index a6be3fe6..1f7b23c7 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Global.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Global.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.cpp index 2ffcee24..c77fca07 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.cpp @@ -226,6 +226,7 @@ static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionC #include #include #include +#include #include #include #include @@ -2022,7 +2023,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1getFormat(JNI if (!arg1) return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2061,7 +2062,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1getFormatN (void)jcls; arg1 = (io::humble::video::PixelFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2099,7 +2100,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1getDescripto (void)jcls; arg1 = (io::humble::video::PixelFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2135,7 +2136,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1getNumInstall (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2173,7 +2174,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1getInstalled (void)jcls; arg1 = (int32_t)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2211,7 +2212,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1getNumPlanes( (void)jcls; arg1 = (io::humble::video::PixelFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2249,7 +2250,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1swapEndiannes (void)jcls; arg1 = (io::humble::video::PixelFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2291,7 +2292,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormat_1getBufferSize arg2 = (int32_t)jarg2; arg3 = (io::humble::video::PixelFormat::Type)jarg3; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2337,7 +2338,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelComponentDescriptor_1 } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2383,7 +2384,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelComponentDescriptor_1 } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2429,7 +2430,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelComponentDescriptor_1 } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2475,7 +2476,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelComponentDescriptor_1 } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2521,7 +2522,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelComponentDescriptor_1 } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2663,7 +2664,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1 } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2709,7 +2710,7 @@ SWIGEXPORT jshort JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1g } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2755,7 +2756,7 @@ SWIGEXPORT jshort JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1g } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2801,7 +2802,7 @@ SWIGEXPORT jshort JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1g } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2847,7 +2848,7 @@ SWIGEXPORT jshort JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1g } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2895,7 +2896,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2941,7 +2942,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -2987,7 +2988,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3035,7 +3036,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3081,7 +3082,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_PixelFormatDescriptor_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3199,7 +3200,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Rational_1getNumerator(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3245,7 +3246,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Rational_1getDenominator(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3291,7 +3292,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1copy(JNIEnv *je } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3340,7 +3341,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Rational_1compareTo(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3382,7 +3383,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Rational_1sCompareTo(JNIEn arg1 = *(io::humble::video::Rational **)&jarg1; arg2 = *(io::humble::video::Rational **)&jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3428,7 +3429,7 @@ SWIGEXPORT jdouble JNICALL Java_io_humble_video_VideoJNI_Rational_1getDouble(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3480,7 +3481,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Rational_1reduce(JNIEnv *j } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3525,7 +3526,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Rational_1sReduce(JNIEnv * arg3 = (int64_t)jarg3; arg4 = (int64_t)jarg4; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3574,7 +3575,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1multiply(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3616,7 +3617,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1sMultiply(JNIEn arg1 = *(io::humble::video::Rational **)&jarg1; arg2 = *(io::humble::video::Rational **)&jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3665,7 +3666,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1divide(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3707,7 +3708,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1sDivide(JNIEnv arg1 = *(io::humble::video::Rational **)&jarg1; arg2 = *(io::humble::video::Rational **)&jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3756,7 +3757,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1subtract(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3798,7 +3799,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1sSubtract(JNIEn arg1 = *(io::humble::video::Rational **)&jarg1; arg2 = *(io::humble::video::Rational **)&jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3847,7 +3848,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1add(JNIEnv *jen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3889,7 +3890,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1sAdd(JNIEnv *je arg1 = *(io::humble::video::Rational **)&jarg1; arg2 = *(io::humble::video::Rational **)&jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3940,7 +3941,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1rescale_1_1SWIG } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -3984,7 +3985,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1sRescale_1_1SWI arg2 = *(io::humble::video::Rational **)&jarg2; arg3 = *(io::humble::video::Rational **)&jarg3; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4020,7 +4021,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1make_1_1SWIG_10 (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4058,7 +4059,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1make_1_1SWIG_11 (void)jcls; arg1 = (double)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4097,7 +4098,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1make_1_1SWIG_12 (void)jarg1_; arg1 = *(io::humble::video::Rational **)&jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4137,7 +4138,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1make_1_1SWIG_13 arg1 = (int32_t)jarg1; arg2 = (int32_t)jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4190,7 +4191,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1rescale_1_1SWIG } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4236,7 +4237,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1sRescale_1_1SWI arg3 = *(io::humble::video::Rational **)&jarg3; arg4 = (io::humble::video::Rational::Rounding)jarg4; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4284,7 +4285,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Rational_1rescale_1_1SWIG arg5 = (int32_t)jarg5; arg6 = (io::humble::video::Rational::Rounding)jarg6; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4330,7 +4331,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Rational_1setNumerator(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4374,7 +4375,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Rational_1setDenominator(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4418,7 +4419,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Rational_1setValue(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4462,7 +4463,7 @@ SWIGEXPORT jdouble JNICALL Java_io_humble_video_VideoJNI_Rational_1getValue(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4508,7 +4509,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Rational_1isFinalized( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4552,7 +4553,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Rational_1init(JNIEnv *jen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4610,7 +4611,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Global_1getDefaultTimeBas (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4646,7 +4647,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Global_1getVersionMajor(JN (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4682,7 +4683,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Global_1getVersionMinor(JN (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4718,7 +4719,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Global_1getVersionStr(J (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4754,7 +4755,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Global_1getAVFormatVersion (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4790,7 +4791,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Global_1getAVFormatVers (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4826,7 +4827,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Global_1getAVCodecVersion( (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4862,7 +4863,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Global_1getAVCodecVersi (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4895,7 +4896,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Global_1init(JNIEnv *jenv, (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -4929,7 +4930,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Global_1setFFmpegLoggingLe (void)jcls; arg1 = (int32_t)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5021,7 +5022,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_KeyValueBag_1getNumKeys(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5069,7 +5070,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_KeyValueBag_1getKey(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5123,7 +5124,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_KeyValueBag_1getValue(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5182,7 +5183,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_KeyValueBag_1setValue_1_1S } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5220,7 +5221,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_KeyValueBag_1make(JNIEnv (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5280,7 +5281,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_KeyValueBag_1setValue_1_1S } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5496,7 +5497,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Property_1getName(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5542,7 +5543,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Property_1getHelp(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5588,7 +5589,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Property_1getUnit(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5634,7 +5635,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Property_1getType(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5680,7 +5681,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Property_1getFlags(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5726,7 +5727,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Property_1getDefault(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5772,7 +5773,7 @@ SWIGEXPORT jdouble JNICALL Java_io_humble_video_VideoJNI_Property_1getDefaultAsD } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5818,7 +5819,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Property_1getNumFlagSettin } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5866,7 +5867,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Property_1getFlagConstant } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5918,7 +5919,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Property_1getFlagConstant } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -5965,7 +5966,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Media_1getTimeStamp(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6011,7 +6012,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Media_1setTimeStamp(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6055,7 +6056,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Media_1getTimeBase(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6101,7 +6102,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Media_1isKey(JNIEnv *j } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6147,7 +6148,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Media_1isComplete(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6194,7 +6195,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaEncoded_1setTimeBase( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6238,7 +6239,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getTimeStamp(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6284,7 +6285,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setTimeStamp(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6328,7 +6329,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getTimeBase(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6374,7 +6375,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1isKey(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6420,7 +6421,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getPts(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6466,7 +6467,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getMetaData(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6512,7 +6513,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getPacketPts(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6558,7 +6559,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getPacketDts(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6604,7 +6605,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getPacketSize(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6650,7 +6651,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getPacketDurati } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6696,7 +6697,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1getBestEffortTi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6742,7 +6743,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setComplete(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6769,7 +6770,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setComplete(JNIE } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setTimeBase_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { io::humble::video::MediaRaw *arg1 = (io::humble::video::MediaRaw *) 0 ; io::humble::video::Rational *arg2 = (io::humble::video::Rational *) 0 ; @@ -6787,7 +6788,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setTimeBase_1_1S } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -6814,53 +6815,6 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setTimeBase_1_1S } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaRaw_1setTimeBase_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jint jarg3) { - io::humble::video::MediaRaw *arg1 = (io::humble::video::MediaRaw *) 0 ; - io::humble::video::Rational *arg2 = (io::humble::video::Rational *) 0 ; - io::humble::video::Rational::Rounding arg3 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - (void)jarg2_; - arg1 = *(io::humble::video::MediaRaw **)&jarg1; - arg2 = *(io::humble::video::Rational **)&jarg2; - arg3 = (io::humble::video::Rational::Rounding)jarg3; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return ; - } - - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ - // HumbleVideo.i: Start generated code - // >>>>>>>>>>>>>>>>>>>>>>>>>>> - try - { - (arg1)->setTimeBase(arg2,arg3); - } - catch(std::exception & e) - { - io::humble::video::Global::catchException(e); - return ; - } - catch(...) - { - std::runtime_error e("Unhandled and unknown native exception"); - io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; - } - - // <<<<<<<<<<<<<<<<<<<<<<<<<<< - // HumbleVideo.i: End generated code - - /*@SWIG@*/ - } -} - - SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSampled_1getNumSamples(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; io::humble::video::MediaSampled *arg1 = (io::humble::video::MediaSampled *) 0 ; @@ -6878,7 +6832,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSampled_1getNumSample } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7580,7 +7534,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getChannelB if (!arg1) return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7621,7 +7575,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getChanne arg1 = (int32_t)jarg1; arg2 = (int64_t)jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7659,7 +7613,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getNumChanne (void)jcls; arg1 = (io::humble::video::AudioChannel::Layout)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7697,7 +7651,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getDefaultLa (void)jcls; arg1 = (int)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7737,7 +7691,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getIndexOfCh arg1 = (io::humble::video::AudioChannel::Layout)jarg1; arg2 = (io::humble::video::AudioChannel::Type)jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7777,7 +7731,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getChannelFr arg1 = (io::humble::video::AudioChannel::Layout)jarg1; arg2 = (int32_t)jarg2; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7815,7 +7769,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getChanne (void)jcls; arg1 = (io::humble::video::AudioChannel::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7853,7 +7807,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getChanne (void)jcls; arg1 = (io::humble::video::AudioChannel::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -7891,7 +7845,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_AudioChannel_1getLayout (void)jcls; arg1 = (io::humble::video::AudioChannel::Layout)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8061,7 +8015,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getName(JN (void)jcls; arg1 = (io::humble::video::AudioFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8103,7 +8057,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getFormat(JNI if (!arg1) return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8144,7 +8098,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getAlternateS arg1 = (io::humble::video::AudioFormat::Type)jarg1; arg2 = jarg2 ? true : false; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8182,7 +8136,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getPackedSamp (void)jcls; arg1 = (io::humble::video::AudioFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8220,7 +8174,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getPlanarSamp (void)jcls; arg1 = (io::humble::video::AudioFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8258,7 +8212,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getBytesPerSa (void)jcls; arg1 = (io::humble::video::AudioFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8296,7 +8250,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1isPlanar( (void)jcls; arg1 = (io::humble::video::AudioFormat::Type)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8338,7 +8292,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getBufferSize arg2 = (int32_t)jarg2; arg3 = (io::humble::video::AudioFormat::Type)jarg3; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8380,7 +8334,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_AudioFormat_1getDataPlaneS arg2 = (int32_t)jarg2; arg3 = (io::humble::video::AudioFormat::Type)jarg3; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8426,7 +8380,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1make_1_1SWIG_ arg4 = (io::humble::video::AudioChannel::Layout)jarg4; arg5 = (io::humble::video::AudioFormat::Type)jarg5; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8475,7 +8429,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1make_1_1SWIG_ arg5 = (io::humble::video::AudioChannel::Layout)jarg5; arg6 = (io::humble::video::AudioFormat::Type)jarg6; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8516,7 +8470,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1make_1_1SWIG_ arg1 = *(io::humble::video::MediaAudio **)&jarg1; arg2 = jarg2 ? true : false; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8564,7 +8518,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getData(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8612,7 +8566,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getDataPlaneSi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8658,7 +8612,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getNumDataPlan } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8704,7 +8658,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getMaxNumSampl } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8750,7 +8704,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getNumSamples( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8796,7 +8750,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1setNumSamples( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8840,7 +8794,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getBytesPerSam } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8886,7 +8840,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1setComplete(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8930,7 +8884,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getSampleRate( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -8976,7 +8930,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getChannels(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9022,7 +8976,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getFormat(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9068,7 +9022,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1isComplete } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9114,7 +9068,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1isKey(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9160,7 +9114,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1isPlanar(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9206,7 +9160,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudio_1getChannelLayo } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9344,7 +9298,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1make_1_1SWI arg2 = (int32_t)jarg2; arg3 = (io::humble::video::PixelFormat::Type)jarg3; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9389,7 +9343,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1make_1_1SWI arg3 = (int32_t)jarg3; arg4 = (io::humble::video::PixelFormat::Type)jarg4; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9430,7 +9384,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1make_1_1SWI arg1 = *(io::humble::video::MediaPicture **)&jarg1; arg2 = jarg2 ? true : false; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9478,7 +9432,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getData(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9526,7 +9480,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getDataPlane } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9572,7 +9526,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getNumDataPl } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9620,7 +9574,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getLineSize( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9666,7 +9620,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setComplete( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9710,7 +9664,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1isComple } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9756,7 +9710,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getWidth(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9802,7 +9756,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getHeight(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9848,7 +9802,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getFormat(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9894,7 +9848,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getCodedPict } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9940,7 +9894,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setCodedPict } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -9984,7 +9938,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getDisplayPi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10030,7 +9984,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setDisplayPi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10074,7 +10028,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getQuality(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10120,7 +10074,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setQuality(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10166,7 +10120,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getError(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10212,7 +10166,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getRepeatPic } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10258,7 +10212,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setRepeatPic } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10302,7 +10256,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1isInterl } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10348,7 +10302,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setInterlace } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10392,7 +10346,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1isTopFie } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10438,7 +10392,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setTopFieldF } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10482,7 +10436,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1isPalett } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10528,7 +10482,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setPaletteCh } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10572,7 +10526,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1getType(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10618,7 +10572,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPicture_1setType(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10662,7 +10616,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getFormat(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10708,7 +10662,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getStartDi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10754,7 +10708,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getEndDisp } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10800,7 +10754,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getNumRecta } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10846,7 +10800,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getTimeSta } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10894,7 +10848,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getRectang } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10940,7 +10894,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1setTimeStam } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -10984,7 +10938,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1isKey(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11030,7 +10984,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getPts(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11076,7 +11030,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getPacketP } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11122,7 +11076,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getPacketD } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11168,7 +11122,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getPacketSi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11214,7 +11168,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getPacketD } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11260,7 +11214,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1getBestEff } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11306,7 +11260,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1isCompl } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11354,7 +11308,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1setComplete } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11398,7 +11352,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaSubtitle_1setComplete } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11454,7 +11408,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11500,7 +11454,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11546,7 +11500,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11592,7 +11546,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11638,7 +11592,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11684,7 +11638,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11730,7 +11684,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11776,7 +11730,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11822,7 +11776,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11870,7 +11824,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1ge } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -11918,7 +11872,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaSubtitleRectangle_1g } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12098,7 +12052,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1make_1_1SWIG (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12137,7 +12091,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1make_1_1SWIG (void)jarg1_; arg1 = *(io::humble::ferry::Buffer **)&jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12178,7 +12132,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1make_1_1SWIG arg1 = *(io::humble::video::MediaPacket **)&jarg1; arg2 = jarg2 ? true : false; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12216,7 +12170,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1make_1_1SWIG (void)jcls; arg1 = (int32_t)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12262,7 +12216,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getData(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12308,7 +12262,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getNumSideDat } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12356,7 +12310,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getSideData( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12404,7 +12358,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getSideDataTy } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12450,7 +12404,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getPts(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12496,7 +12450,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setPts(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12540,7 +12494,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getDts(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12586,7 +12540,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setDts(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12630,7 +12584,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getSize(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12676,7 +12630,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getMaxSize(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12722,7 +12676,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getStreamInde } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12768,7 +12722,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getFlags(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12814,7 +12768,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1isKeyPack } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12860,7 +12814,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getDuration( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12906,7 +12860,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getPosition( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12952,7 +12906,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setKeyPacket( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -12996,7 +12950,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setFlags(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13040,7 +12994,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setStreamInde } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13084,7 +13038,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setDuration(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13128,7 +13082,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setPosition(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13172,7 +13126,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1getConvergen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13218,7 +13172,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setConvergenc } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13245,11 +13199,9 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1setConvergenc } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jint jresult = 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { io::humble::video::MediaPacket *arg1 = (io::humble::video::MediaPacket *) 0 ; int32_t arg2 ; - int32_t result; (void)jenv; (void)jcls; @@ -13260,27 +13212,27 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1reset(JNIEnv if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->reset(arg2); + (arg1)->reset(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -13288,8 +13240,6 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPacket_1reset(JNIEnv /*@SWIG@*/ } - jresult = (jint)result; - return jresult; } @@ -13310,7 +13260,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Configurable_1getNumProper } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13358,7 +13308,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Configurable_1getProperty } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13410,7 +13360,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Configurable_1getProperty } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13467,7 +13417,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Configurable_1setProperty_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13519,7 +13469,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Configurable_1setProperty_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13570,7 +13520,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Configurable_1setProperty_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13621,7 +13571,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Configurable_1setProperty_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13673,7 +13623,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Configurable_1setProperty_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13724,7 +13674,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Configurable_1getProper } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13778,7 +13728,7 @@ SWIGEXPORT jdouble JNICALL Java_io_humble_video_VideoJNI_Configurable_1getProper } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13831,7 +13781,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Configurable_1getProperty } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13884,7 +13834,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Configurable_1getPropertyA } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13937,7 +13887,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Configurable_1getProperty } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -13990,7 +13940,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Configurable_1getPrope } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -14041,7 +13991,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Configurable_1setProperty_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -14068,6 +14018,104 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Configurable_1setProperty_ } +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaResampler_1getState(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::MediaResampler *arg1 = (io::humble::video::MediaResampler *) 0 ; + io::humble::video::MediaResampler::State result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::MediaResampler **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::MediaResampler::State)(arg1)->getState(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaResampler_1resample(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { + jint jresult = 0 ; + io::humble::video::MediaResampler *arg1 = (io::humble::video::MediaResampler *) 0 ; + io::humble::video::MediaSampled *arg2 = (io::humble::video::MediaSampled *) 0 ; + io::humble::video::MediaSampled *arg3 = (io::humble::video::MediaSampled *) 0 ; + int32_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + (void)jarg3_; + arg1 = *(io::humble::video::MediaResampler **)&jarg1; + arg2 = *(io::humble::video::MediaSampled **)&jarg2; + arg3 = *(io::humble::video::MediaSampled **)&jarg3; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (int32_t)(arg1)->resample(arg2,arg3); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1FLAG_1FAST_1BILINEAR_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; io::humble::video::MediaPictureResampler::Flag result; @@ -14308,10 +14356,10 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1FLA } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getState(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getInputWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; - io::humble::video::MediaPictureResampler::State result; + int32_t result; (void)jenv; (void)jcls; @@ -14325,12 +14373,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::MediaPictureResampler::State)(arg1)->getState(); + result = (int32_t)(arg1)->getInputWidth(); } catch(std::exception & e) { @@ -14354,7 +14402,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getInputWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getInputHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; int32_t result; @@ -14371,12 +14419,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getInputWidth(); + result = (int32_t)(arg1)->getInputHeight(); } catch(std::exception & e) { @@ -14400,10 +14448,10 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getInputHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getInputFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; - int32_t result; + io::humble::video::PixelFormat::Type result; (void)jenv; (void)jcls; @@ -14417,12 +14465,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getInputHeight(); + result = (io::humble::video::PixelFormat::Type)(arg1)->getInputFormat(); } catch(std::exception & e) { @@ -14446,10 +14494,10 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getInputFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getOutputWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; - io::humble::video::PixelFormat::Type result; + int32_t result; (void)jenv; (void)jcls; @@ -14463,12 +14511,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::PixelFormat::Type)(arg1)->getInputFormat(); + result = (int32_t)(arg1)->getOutputWidth(); } catch(std::exception & e) { @@ -14492,7 +14540,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getOutputWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getOutputHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; int32_t result; @@ -14509,12 +14557,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getOutputWidth(); + result = (int32_t)(arg1)->getOutputHeight(); } catch(std::exception & e) { @@ -14538,15 +14586,109 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getOutputHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getOutputFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; + io::humble::video::PixelFormat::Type result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::MediaPictureResampler **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::PixelFormat::Type)(arg1)->getOutputFormat(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1open(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::MediaPictureResampler **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return ; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + (arg1)->open(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return ; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return ; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1resample(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { jint jresult = 0 ; io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; + io::humble::video::MediaSampled *arg2 = (io::humble::video::MediaSampled *) 0 ; + io::humble::video::MediaSampled *arg3 = (io::humble::video::MediaSampled *) 0 ; int32_t result; (void)jenv; (void)jcls; (void)jarg1_; + (void)jarg2_; + (void)jarg3_; arg1 = *(io::humble::video::MediaPictureResampler **)&jarg1; + arg2 = *(io::humble::video::MediaSampled **)&jarg2; + arg3 = *(io::humble::video::MediaSampled **)&jarg3; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -14555,12 +14697,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getOutputHeight(); + result = (int32_t)(arg1)->resample(arg2,arg3); } catch(std::exception & e) { @@ -14584,15 +14726,21 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1getOutputFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1resamplePicture(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { jint jresult = 0 ; io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; - io::humble::video::PixelFormat::Type result; + io::humble::video::MediaPicture *arg2 = (io::humble::video::MediaPicture *) 0 ; + io::humble::video::MediaPicture *arg3 = (io::humble::video::MediaPicture *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; + (void)jarg2_; + (void)jarg3_; arg1 = *(io::humble::video::MediaPictureResampler **)&jarg1; + arg2 = *(io::humble::video::MediaPicture **)&jarg2; + arg3 = *(io::humble::video::MediaPicture **)&jarg3; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -14601,12 +14749,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::PixelFormat::Type)(arg1)->getOutputFormat(); + result = (int32_t)(arg1)->resamplePicture(arg2,arg3); } catch(std::exception & e) { @@ -14630,96 +14778,6 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1get } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1open(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::MediaPictureResampler **)&jarg1; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return ; - } - - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ - // HumbleVideo.i: Start generated code - // >>>>>>>>>>>>>>>>>>>>>>>>>>> - try - { - (arg1)->open(); - } - catch(std::exception & e) - { - io::humble::video::Global::catchException(e); - return ; - } - catch(...) - { - std::runtime_error e("Unhandled and unknown native exception"); - io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; - } - - // <<<<<<<<<<<<<<<<<<<<<<<<<<< - // HumbleVideo.i: End generated code - - /*@SWIG@*/ - } -} - - -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1resample(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { - io::humble::video::MediaPictureResampler *arg1 = (io::humble::video::MediaPictureResampler *) 0 ; - io::humble::video::MediaPicture *arg2 = (io::humble::video::MediaPicture *) 0 ; - io::humble::video::MediaPicture *arg3 = (io::humble::video::MediaPicture *) 0 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - (void)jarg2_; - (void)jarg3_; - arg1 = *(io::humble::video::MediaPictureResampler **)&jarg1; - arg2 = *(io::humble::video::MediaPicture **)&jarg2; - arg3 = *(io::humble::video::MediaPicture **)&jarg3; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return ; - } - - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ - // HumbleVideo.i: Start generated code - // >>>>>>>>>>>>>>>>>>>>>>>>>>> - try - { - (arg1)->resample(arg2,arg3); - } - catch(std::exception & e) - { - io::humble::video::Global::catchException(e); - return ; - } - catch(...) - { - std::runtime_error e("Unhandled and unknown native exception"); - io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; - } - - // <<<<<<<<<<<<<<<<<<<<<<<<<<< - // HumbleVideo.i: End generated code - - /*@SWIG@*/ - } -} - - SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1make(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2, jint jarg3, jint jarg4, jint jarg5, jint jarg6, jint jarg7) { jlong jresult = 0 ; int32_t arg1 ; @@ -14741,7 +14799,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1ma arg6 = (io::humble::video::PixelFormat::Type)jarg6; arg7 = (int32_t)jarg7; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -14789,7 +14847,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1make arg5 = (int32_t)jarg5; arg6 = (io::humble::video::AudioFormat::Type)jarg6; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -14835,7 +14893,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getOu } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -14881,7 +14939,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getIn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -14927,7 +14985,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getOu } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -14973,7 +15031,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getIn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -15019,7 +15077,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getOu } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -15065,7 +15123,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getIn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -15111,7 +15169,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getIn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -15157,7 +15215,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getOu } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -15201,7 +15259,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1open( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -15231,8 +15289,8 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1open( SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1resample(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { jint jresult = 0 ; io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; - io::humble::video::MediaAudio *arg2 = (io::humble::video::MediaAudio *) 0 ; - io::humble::video::MediaAudio *arg3 = (io::humble::video::MediaAudio *) 0 ; + io::humble::video::MediaSampled *arg2 = (io::humble::video::MediaSampled *) 0 ; + io::humble::video::MediaSampled *arg3 = (io::humble::video::MediaSampled *) 0 ; int32_t result; (void)jenv; @@ -15241,8 +15299,8 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1resam (void)jarg2_; (void)jarg3_; arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; - arg2 = *(io::humble::video::MediaAudio **)&jarg2; - arg3 = *(io::humble::video::MediaAudio **)&jarg3; + arg2 = *(io::humble::video::MediaSampled **)&jarg2; + arg3 = *(io::humble::video::MediaSampled **)&jarg3; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -15251,7 +15309,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1resam } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -15280,17 +15338,21 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1resam } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getNextPts(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { - jlong jresult = 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1resampleAudio(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { + jint jresult = 0 ; io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; - int64_t arg2 ; - int64_t result; + io::humble::video::MediaAudio *arg2 = (io::humble::video::MediaAudio *) 0 ; + io::humble::video::MediaAudio *arg3 = (io::humble::video::MediaAudio *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; + (void)jarg2_; + (void)jarg3_; arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; - arg2 = (int64_t)jarg2; + arg2 = *(io::humble::video::MediaAudio **)&jarg2; + arg3 = *(io::humble::video::MediaAudio **)&jarg3; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -15299,12 +15361,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int64_t)(arg1)->getNextPts(arg2); + result = (int32_t)(arg1)->resampleAudio(arg2,arg3); } catch(std::exception & e) { @@ -15323,47 +15385,47 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getN /*@SWIG@*/ } - jresult = (jlong)result; + jresult = (jint)result; return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1setCompensation(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3) { +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getNextPts(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jlong jresult = 0 ; io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; - int32_t arg2 ; - int32_t arg3 ; + int64_t arg2 ; + int64_t result; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; - arg2 = (int32_t)jarg2; - arg3 = (int32_t)jarg3; + arg2 = (int64_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return ; + return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setCompensation(arg2,arg3); + result = (int64_t)(arg1)->getNextPts(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -15371,45 +15433,47 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1setCo /*@SWIG@*/ } + jresult = (jlong)result; + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1dropOutput(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jint jresult = 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1setCompensation(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3) { io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; int32_t arg2 ; - int32_t result; + int32_t arg3 ; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; arg2 = (int32_t)jarg2; + arg3 = (int32_t)jarg3; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->dropOutput(arg2); + (arg1)->setCompensation(arg2,arg3); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -15417,12 +15481,10 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1dropO /*@SWIG@*/ } - jresult = (jint)result; - return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1injectSilence(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1dropOutput(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { jint jresult = 0 ; io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; int32_t arg2 ; @@ -15441,12 +15503,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1injec } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->injectSilence(arg2); + result = (int32_t)(arg1)->dropOutput(arg2); } catch(std::exception & e) { @@ -15470,55 +15532,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1injec } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getDelay(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { - jlong jresult = 0 ; - io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; - int64_t arg2 ; - int64_t result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; - arg2 = (int64_t)jarg2; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return 0; - } - - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ - // HumbleVideo.i: Start generated code - // >>>>>>>>>>>>>>>>>>>>>>>>>>> - try - { - result = (int64_t)(arg1)->getDelay(arg2); - } - catch(std::exception & e) - { - io::humble::video::Global::catchException(e); - return 0; - } - catch(...) - { - std::runtime_error e("Unhandled and unknown native exception"); - io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; - } - - // <<<<<<<<<<<<<<<<<<<<<<<<<<< - // HumbleVideo.i: End generated code - - /*@SWIG@*/ - } - jresult = (jlong)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getNumResampledSamples(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1injectSilence(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { jint jresult = 0 ; io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; int32_t arg2 ; @@ -15537,12 +15551,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getNu } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getNumResampledSamples(arg2); + result = (int32_t)(arg1)->injectSilence(arg2); } catch(std::exception & e) { @@ -15566,15 +15580,17 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getNu } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getDelay(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { jlong jresult = 0 ; io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; - io::humble::video::Rational *result = 0 ; + int64_t arg2 ; + int64_t result; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; + arg2 = (int64_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -15583,12 +15599,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getT } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Rational *)(arg1)->getTimeBase(); + result = (int64_t)(arg1)->getDelay(arg2); } catch(std::exception & e) { @@ -15607,65 +15623,22 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getT /*@SWIG@*/ } - *(io::humble::video::Rational **)&jresult = result; + jresult = (jlong)result; return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1setTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { - io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; - io::humble::video::Rational *arg2 = (io::humble::video::Rational *) 0 ; - - (void)jenv; - (void)jcls; - (void)jarg1_; - (void)jarg2_; - arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; - arg2 = *(io::humble::video::Rational **)&jarg2; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return ; - } - - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ - // HumbleVideo.i: Start generated code - // >>>>>>>>>>>>>>>>>>>>>>>>>>> - try - { - (arg1)->setTimeBase(arg2); - } - catch(std::exception & e) - { - io::humble::video::Global::catchException(e); - return ; - } - catch(...) - { - std::runtime_error e("Unhandled and unknown native exception"); - io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; - } - - // <<<<<<<<<<<<<<<<<<<<<<<<<<< - // HumbleVideo.i: End generated code - - /*@SWIG@*/ - } -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getState(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getNumResampledSamples(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { jint jresult = 0 ; io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; - io::humble::video::MediaAudioResampler::State result; + int32_t arg2 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -15674,12 +15647,149 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getSt } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::MediaAudioResampler::State)(arg1)->getState(); + result = (int32_t)(arg1)->getNumResampledSamples(arg2); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; + io::humble::video::Rational *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::Rational *)(arg1)->getTimeBase(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + *(io::humble::video::Rational **)&jresult = result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1setTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { + io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; + io::humble::video::Rational *arg2 = (io::humble::video::Rational *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; + arg2 = *(io::humble::video::Rational **)&jarg2; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return ; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + (arg1)->setTimeBase(arg2); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return ; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return ; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1getState(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::MediaAudioResampler *arg1 = (io::humble::video::MediaAudioResampler *) 0 ; + io::humble::video::MediaResampler::State result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::MediaAudioResampler **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::MediaResampler::State)(arg1)->getState(); } catch(std::exception & e) { @@ -16464,7 +16574,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_CodecProfile_1getProfile(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -16510,7 +16620,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_CodecProfile_1getName(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21382,7 +21492,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Codec_1hasCapability(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21428,7 +21538,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getCapabilities(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21474,7 +21584,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Codec_1getName(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21520,7 +21630,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getIDAsInt(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21566,7 +21676,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getID(JNIEnv *jenv, } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21612,7 +21722,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getType(JNIEnv *jen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21658,7 +21768,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Codec_1canDecode(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21704,7 +21814,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Codec_1canEncode(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21742,7 +21852,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1findEncodingCodec( (void)jcls; arg1 = (io::humble::video::Codec::ID)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21780,7 +21890,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1findEncodingCodecB (void)jcls; arg1 = (int)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21822,7 +21932,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1findEncodingCodecB if (!arg1) return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21861,7 +21971,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1findDecodingCodec( (void)jcls; arg1 = (io::humble::video::Codec::ID)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21899,7 +22009,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1findDecodingCodecB (void)jcls; arg1 = (int)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -21941,7 +22051,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1findDecodingCodecB if (!arg1) return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22001,7 +22111,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1guessEncodingCodec } arg5 = (io::humble::video::MediaDescriptor::Type)jarg5; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22050,7 +22160,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Codec_1getLongName(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22086,7 +22196,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getNumInstalledCode (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22124,7 +22234,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1getInstalledCodec( (void)jcls; arg1 = (int32_t)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22170,7 +22280,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getNumSupportedVide } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22218,7 +22328,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1getSupportedVideoF } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22264,7 +22374,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getNumSupportedVide } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22312,7 +22422,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getSupportedVideoPi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22358,7 +22468,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getNumSupportedAudi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22406,7 +22516,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getSupportedAudioSa } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22452,7 +22562,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getNumSupportedAudi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22500,7 +22610,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getSupportedAudioFo } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22546,7 +22656,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getNumSupportedAudi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22594,7 +22704,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getSupportedAudioCh } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22640,7 +22750,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Codec_1getNumSupportedProf } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22688,7 +22798,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Codec_1getSupportedProfil } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22784,7 +22894,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1hasPr } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22830,7 +22940,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1getNam } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22876,7 +22986,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1getLon } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22922,7 +23032,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1getProper } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -22968,7 +23078,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1getId(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -23014,7 +23124,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1getType(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -23052,7 +23162,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1make(JNI (void)jcls; arg1 = (io::humble::video::Codec::ID)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -23081,256 +23191,392 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1make(JNI } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1INVALID_1FLAG_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1UNALIGNED_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::INVALID_FLAG; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_UNALIGNED; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1FILE_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1QSCALE_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_FILE; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_QSCALE; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NEED_1NUMBER_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_14MV_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NEED_NUMBER; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_4MV; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1SHOW_1IDS_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1QPEL_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::SHOW_IDS; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_QPEL; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1RAW_1PICTURE_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1GMC_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::RAW_PICTURE; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_GMC; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1GLOBAL_1HEADER_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1MV0_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::GLOBAL_HEADER; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_MV0; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1TIMESTAMPS_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1INPUT_1PRESERVED_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_TIMESTAMPS; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_INPUT_PRESERVED; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1GENERIC_1INDEX_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1PASS1_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::GENERIC_INDEX; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_PASS1; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1TIMESTAMP_1DISCONTINUITIES_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1PASS2_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::TIMESTAMP_DISCONTINUITIES; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_PASS2; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1VARIABLE_1FPS_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1GRAY_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::VARIABLE_FPS; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_GRAY; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1DIMENSIONS_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1EMU_1EDGE_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_DIMENSIONS; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_EMU_EDGE; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1STREAMS_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1PSNR_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_STREAMS; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_PSNR; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1BINARY_1SEARCH_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1TRUNCATED_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_BINARY_SEARCH; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_TRUNCATED; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1GENERIC_1SEARCH_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1NORMALIZE_1AQP_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_GENERIC_SEARCH; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_NORMALIZE_AQP; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1BYTE_1SEEKING_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1INTERLACED_1DCT_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_BYTE_SEEKING; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_INTERLACED_DCT; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1ALLOW_1FLUSH_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1LOW_1DELAY_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::ALLOW_FLUSH; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_LOW_DELAY; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NONSTRICT_1TIMESTAMPS_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1GLOBAL_1HEADER_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NONSTRICT_TIMESTAMPS; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_GLOBAL_HEADER; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1SEEK_1TO_1PTS_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1BITEXACT_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::ContainerFormat::Flag result; + io::humble::video::Coder::Flag result; (void)jenv; (void)jcls; - result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::SEEK_TO_PTS; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_BITEXACT; jresult = (jint)result; return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1AC_1PRED_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_AC_PRED; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1LOOP_1FILTER_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_LOOP_FILTER; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1INTERLACED_1ME_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_INTERLACED_ME; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1CLOSED_1GOP_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_CLOSED_GOP; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1FAST_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag2 result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_FAST; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1NO_1OUTPUT_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag2 result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_NO_OUTPUT; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1LOCAL_1HEADER_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag2 result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_LOCAL_HEADER; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1DROP_1FRAME_1TIMECODE_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag2 result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_DROP_FRAME_TIMECODE; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1IGNORE_1CROP_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag2 result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_IGNORE_CROP; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1CHUNKS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag2 result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_CHUNKS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1SHOW_1ALL_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::Coder::Flag2 result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_SHOW_ALL; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1open(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::KeyValueBag *arg2 = (io::humble::video::KeyValueBag *) 0 ; + io::humble::video::KeyValueBag *arg3 = (io::humble::video::KeyValueBag *) 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + (void)jarg2_; + (void)jarg3_; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = *(io::humble::video::KeyValueBag **)&jarg2; + arg3 = *(io::humble::video::KeyValueBag **)&jarg3; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getName(); + (arg1)->open(arg2,arg3); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -23338,20 +23584,18 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getNam /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); - return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getLongName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodec(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Codec *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23360,12 +23604,12 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getLon } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getLongName(); + result = (io::humble::video::Codec *)(arg1)->getCodec(); } catch(std::exception & e) { @@ -23384,20 +23628,20 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getLon /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); + *(io::humble::video::Codec **)&jresult = result; return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getExtensions(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::MediaDescriptor::Type result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23406,12 +23650,12 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getExt } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getExtensions(); + result = (io::humble::video::MediaDescriptor::Type)(arg1)->getCodecType(); } catch(std::exception & e) { @@ -23430,20 +23674,20 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getExt /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); + jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; - int32_t result; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Codec::ID result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23452,12 +23696,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFlags( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getFlags(); + result = (io::humble::video::Codec::ID)(arg1)->getCodecID(); } catch(std::exception & e) { @@ -23481,17 +23725,15 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFlags( } -SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFlag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jboolean jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; - io::humble::video::ContainerFormat::Flag arg2 ; - bool result; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; - arg2 = (io::humble::video::ContainerFormat::Flag)jarg2; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23500,12 +23742,12 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFl } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (bool)(arg1)->getFlag(arg2); + result = (int32_t)(arg1)->getHeight(); } catch(std::exception & e) { @@ -23524,20 +23766,64 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFl /*@SWIG@*/ } - jresult = (jboolean)result; + jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getNumSupportedCodecs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (int32_t)jarg2; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return ; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + (arg1)->setHeight(arg2); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return ; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return ; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23546,12 +23832,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getNumSup } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getNumSupportedCodecs(); + result = (int32_t)(arg1)->getWidth(); } catch(std::exception & e) { @@ -23575,42 +23861,40 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getNumSup } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getSupportedCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jint jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; int32_t arg2 ; - io::humble::video::Codec::ID result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->getSupportedCodecId(arg2); + (arg1)->setWidth(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -23618,22 +23902,18 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getSuppor /*@SWIG@*/ } - jresult = (jint)result; - return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getSupportedCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jlong jresult = 0 ; - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; - int32_t arg2 ; - uint32_t result; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getPixelFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::PixelFormat::Type result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; - arg2 = (int32_t)jarg2; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23642,12 +23922,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getSuppo } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (uint32_t)(arg1)->getSupportedCodecTag(arg2); + result = (io::humble::video::PixelFormat::Type)(arg1)->getPixelFormat(); } catch(std::exception & e) { @@ -23666,17 +23946,20 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getSuppo /*@SWIG@*/ } - jresult = (jlong)result; + jresult = (jint)result; return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_delete_1ContainerFormat(JNIEnv *jenv, jclass jcls, jlong jarg1) { - io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setPixelFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::PixelFormat::Type arg2 ; (void)jenv; (void)jcls; - arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + (void)jarg1_; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (io::humble::video::PixelFormat::Type)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23685,12 +23968,12 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_delete_1ContainerFormat(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - delete arg1; + (arg1)->setPixelFormat(arg2); } catch(std::exception & e) { @@ -23712,15 +23995,15 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_delete_1ContainerFormat(JN } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleRate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23729,12 +24012,12 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getName(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getName(); + result = (int32_t)(arg1)->getSampleRate(); } catch(std::exception & e) { @@ -23753,45 +24036,45 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getName(JN /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); + jresult = (jint)result; return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getLongName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setSampleRate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t arg2 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getLongName(); + (arg1)->setSampleRate(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -23799,20 +24082,18 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getLongNam /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); - return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getExtensions(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::AudioFormat::Type result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23821,12 +24102,12 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getExtensi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getExtensions(); + result = (io::humble::video::AudioFormat::Type)(arg1)->getSampleFormat(); } catch(std::exception & e) { @@ -23845,45 +24126,45 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getExtensi /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); + jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - int32_t result; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setSampleFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::AudioFormat::Type arg2 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (io::humble::video::AudioFormat::Type)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getFlags(); + (arg1)->setSampleFormat(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -23891,20 +24172,18 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getFlags(JNIE /*@SWIG@*/ } - jresult = (jint)result; - return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultAudioCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getChannels(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - io::humble::video::Codec::ID result; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -23913,12 +24192,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultAud } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->getDefaultAudioCodecId(); + result = (int32_t)(arg1)->getChannels(); } catch(std::exception & e) { @@ -23942,40 +24221,40 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultAud } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultVideoCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - io::humble::video::Codec::ID result; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setChannels(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t arg2 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->getDefaultVideoCodecId(); + (arg1)->setChannels(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -23983,20 +24262,18 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultVid /*@SWIG@*/ } - jresult = (jint)result; - return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultSubtitleCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getChannelLayout(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - io::humble::video::Codec::ID result; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::AudioChannel::Layout result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24005,12 +24282,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultSub } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->getDefaultSubtitleCodecId(); + result = (io::humble::video::AudioChannel::Layout)(arg1)->getChannelLayout(); } catch(std::exception & e) { @@ -24034,40 +24311,40 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultSub } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getMimeType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setChannelLayout(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::AudioChannel::Layout arg2 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (io::humble::video::AudioChannel::Layout)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getMimeType(); + (arg1)->setChannelLayout(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -24075,42 +24352,32 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getMimeTyp /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); - return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1guessFormat(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2, jstring jarg3) { +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jlong jresult = 0 ; - char *arg1 = (char *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - io::humble::video::MuxerFormat *result = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Rational *result = 0 ; (void)jenv; (void)jcls; - arg1 = 0; - if (jarg1) { - arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); - if (!arg1) return 0; - } - arg2 = 0; - if (jarg2) { - arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); - if (!arg2) return 0; - } - arg3 = 0; - if (jarg3) { - arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); - if (!arg3) return 0; + (void)jarg1_; + arg1 = *(io::humble::video::Coder **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; } + { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::MuxerFormat *)io::humble::video::MuxerFormat::guessFormat((char const *)arg1,(char const *)arg2,(char const *)arg3); + result = (io::humble::video::Rational *)(arg1)->getTimeBase(); } catch(std::exception & e) { @@ -24129,68 +24396,46 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1guessFormat( /*@SWIG@*/ } - *(io::humble::video::MuxerFormat **)&jresult = result; - if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); - if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); - if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + *(io::humble::video::Rational **)&jresult = result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1guessCodec(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4, jint jarg5) { - jint jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - char *arg4 = (char *) 0 ; - io::humble::video::MediaDescriptor::Type arg5 ; - io::humble::video::Codec::ID result; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Rational *arg2 = (io::humble::video::Rational *) 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - arg2 = 0; - if (jarg2) { - arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); - if (!arg2) return 0; - } - arg3 = 0; - if (jarg3) { - arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); - if (!arg3) return 0; - } - arg4 = 0; - if (jarg4) { - arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0); - if (!arg4) return 0; - } - arg5 = (io::humble::video::MediaDescriptor::Type)jarg5; + (void)jarg2_; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = *(io::humble::video::Rational **)&jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->guessCodec((char const *)arg2,(char const *)arg3,(char const *)arg4,arg5); + (arg1)->setTimeBase(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -24198,23 +24443,18 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1guessCodec(JN /*@SWIG@*/ } - jresult = (jint)result; - if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); - if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); - if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4); - return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getNumSupportedCodecs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getState(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - int32_t result; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Coder::State result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24223,12 +24463,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getNumSupport } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getNumSupportedCodecs(); + result = (io::humble::video::Coder::State)(arg1)->getState(); } catch(std::exception & e) { @@ -24252,17 +24492,15 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getNumSupport } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getBestCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jlong jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - io::humble::video::Codec::ID arg2 ; - uint32_t result; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameCount(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - arg2 = (io::humble::video::Codec::ID)jarg2; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24271,12 +24509,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getBestCodec } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (uint32_t)(arg1)->getBestCodecTag(arg2); + result = (int32_t)(arg1)->getFrameCount(); } catch(std::exception & e) { @@ -24295,22 +24533,20 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getBestCodec /*@SWIG@*/ } - jresult = (jlong)result; + jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupportedCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - int32_t arg2 ; - io::humble::video::Codec::ID result; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - arg2 = (int32_t)jarg2; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24319,12 +24555,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupportedC } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->getSupportedCodecId(arg2); + result = (int32_t)(arg1)->getFrameSize(); } catch(std::exception & e) { @@ -24348,17 +24584,15 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupportedC } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupportedCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jlong jresult = 0 ; - io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; - int32_t arg2 ; - uint32_t result; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - arg2 = (int32_t)jarg2; + arg1 = *(io::humble::video::Coder **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24367,12 +24601,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupported } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (uint32_t)(arg1)->getSupportedCodecTag(arg2); + result = (int32_t)(arg1)->getFlags(); } catch(std::exception & e) { @@ -24391,24 +24625,36 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupported /*@SWIG@*/ } - jresult = (jlong)result; + jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getNumFormats(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFlag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Coder::Flag arg2 ; int32_t result; (void)jenv; (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (io::humble::video::Coder::Flag)jarg2; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)io::humble::video::MuxerFormat::getNumFormats(); + result = (int32_t)(arg1)->getFlag(arg2); } catch(std::exception & e) { @@ -24432,21 +24678,29 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getNumFormats } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getFormat(JNIEnv *jenv, jclass jcls, jint jarg1) { - jlong jresult = 0 ; - int32_t arg1 ; - io::humble::video::MuxerFormat *result = 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFlags2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t result; (void)jenv; (void)jcls; - arg1 = (int32_t)jarg1; + (void)jarg1_; + arg1 = *(io::humble::video::Coder **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::MuxerFormat *)io::humble::video::MuxerFormat::getFormat(arg1); + result = (int32_t)(arg1)->getFlags2(); } catch(std::exception & e) { @@ -24465,20 +24719,22 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getFormat(JN /*@SWIG@*/ } - *(io::humble::video::MuxerFormat **)&jresult = result; + jresult = (jint)result; return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFlag2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + jint jresult = 0 ; + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Coder::Flag2 arg2 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (io::humble::video::Coder::Flag2)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24487,12 +24743,12 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getName( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getName(); + result = (int32_t)(arg1)->getFlag2(arg2); } catch(std::exception & e) { @@ -24511,45 +24767,45 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getName( /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); + jresult = (jint)result; return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getLongName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t arg2 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getLongName(); + (arg1)->setFlags(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -24557,45 +24813,45 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getLongN /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); - return jresult; } -SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getExtensions(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jstring jresult = 0 ; - io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; - char *result = 0 ; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setFlag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jboolean jarg3) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Coder::Flag arg2 ; + bool arg3 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (io::humble::video::Coder::Flag)jarg2; + arg3 = jarg3 ? true : false; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (char *)(arg1)->getExtensions(); + (arg1)->setFlag(arg2,arg3); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -24603,45 +24859,43 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getExten /*@SWIG@*/ } - if (result) jresult = jenv->NewStringUTF((const char *)result); - return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; - int32_t result; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setFlags2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + int32_t arg2 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getFlags(); + (arg1)->setFlags2(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -24649,45 +24903,45 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getFlags(JN /*@SWIG@*/ } - jresult = (jint)result; - return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getNumSupportedCodecs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; - int32_t result; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setFlag2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jboolean jarg3) { + io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::Coder::Flag2 arg2 ; + bool arg3 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; + arg1 = *(io::humble::video::Coder **)&jarg1; + arg2 = (io::humble::video::Coder::Flag2)jarg2; + arg3 = jarg3 ? true : false; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getNumSupportedCodecs(); + (arg1)->setFlag2(arg2,arg3); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -24695,22 +24949,234 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getNumSuppo /*@SWIG@*/ } +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1INVALID_1FLAG_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::INVALID_FLAG; jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupportedCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1FILE_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; - int32_t arg2 ; - io::humble::video::Codec::ID result; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_FILE; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NEED_1NUMBER_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NEED_NUMBER; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1SHOW_1IDS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::SHOW_IDS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1RAW_1PICTURE_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::RAW_PICTURE; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1GLOBAL_1HEADER_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::GLOBAL_HEADER; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1TIMESTAMPS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_TIMESTAMPS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1GENERIC_1INDEX_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::GENERIC_INDEX; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1TIMESTAMP_1DISCONTINUITIES_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::TIMESTAMP_DISCONTINUITIES; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1VARIABLE_1FPS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::VARIABLE_FPS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1DIMENSIONS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_DIMENSIONS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1STREAMS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_STREAMS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1BINARY_1SEARCH_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_BINARY_SEARCH; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1GENERIC_1SEARCH_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_GENERIC_SEARCH; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NO_1BYTE_1SEEKING_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NO_BYTE_SEEKING; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1ALLOW_1FLUSH_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::ALLOW_FLUSH; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1NONSTRICT_1TIMESTAMPS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::NONSTRICT_TIMESTAMPS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1SEEK_1TO_1PTS_1get(JNIEnv *jenv, jclass jcls) { + jint jresult = 0 ; + io::humble::video::ContainerFormat::Flag result; + + (void)jenv; + (void)jcls; + result = (io::humble::video::ContainerFormat::Flag)io::humble::video::ContainerFormat::SEEK_TO_PTS; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; - arg2 = (int32_t)jarg2; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24719,12 +25185,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupporte } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->getSupportedCodecId(arg2); + result = (char *)(arg1)->getName(); } catch(std::exception & e) { @@ -24743,22 +25209,20 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupporte /*@SWIG@*/ } - jresult = (jint)result; + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupportedCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - jlong jresult = 0 ; - io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; - int32_t arg2 ; - uint32_t result; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getLongName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; - arg2 = (int32_t)jarg2; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24767,12 +25231,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupport } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (uint32_t)(arg1)->getSupportedCodecTag(arg2); + result = (char *)(arg1)->getLongName(); } catch(std::exception & e) { @@ -24791,30 +25255,34 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupport /*@SWIG@*/ } - jresult = (jlong)result; + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1findFormat(JNIEnv *jenv, jclass jcls, jstring jarg1) { - jlong jresult = 0 ; - char *arg1 = (char *) 0 ; - io::humble::video::DemuxerFormat *result = 0 ; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getExtensions(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; - arg1 = 0; - if (jarg1) { - arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); - if (!arg1) return 0; + (void)jarg1_; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; } + { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::DemuxerFormat *)io::humble::video::DemuxerFormat::findFormat((char const *)arg1); + result = (char *)(arg1)->getExtensions(); } catch(std::exception & e) { @@ -24833,25 +25301,34 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1findFormat /*@SWIG@*/ } - *(io::humble::video::DemuxerFormat **)&jresult = result; - if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getNumFormats(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; int32_t result; (void)jenv; (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)io::humble::video::DemuxerFormat::getNumFormats(); + result = (int32_t)(arg1)->getFlags(); } catch(std::exception & e) { @@ -24875,21 +25352,31 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getNumForma } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getFormat(JNIEnv *jenv, jclass jcls, jint jarg1) { - jlong jresult = 0 ; - int32_t arg1 ; - io::humble::video::DemuxerFormat *result = 0 ; +SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getFlag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + jboolean jresult = 0 ; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + io::humble::video::ContainerFormat::Flag arg2 ; + bool result; (void)jenv; (void)jcls; - arg1 = (int32_t)jarg1; + (void)jarg1_; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg2 = (io::humble::video::ContainerFormat::Flag)jarg2; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::DemuxerFormat *)io::humble::video::DemuxerFormat::getFormat(arg1); + result = (bool)(arg1)->getFlag(arg2); } catch(std::exception & e) { @@ -24908,46 +25395,34 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getFormat( /*@SWIG@*/ } - *(io::humble::video::DemuxerFormat **)&jresult = result; + jresult = (jboolean)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1INDEX_1FLAG_1KEYFRAME_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getNumSupportedCodecs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - int result; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + int32_t result; (void)jenv; (void)jcls; - result = (int)io::humble::video::IndexEntry::INDEX_FLAG_KEYFRAME; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1make(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jint jarg3, jint jarg4, jint jarg5) { - jlong jresult = 0 ; - int64_t arg1 ; - int64_t arg2 ; - int32_t arg3 ; - int32_t arg4 ; - int32_t arg5 ; - io::humble::video::IndexEntry *result = 0 ; + (void)jarg1_; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } - (void)jenv; - (void)jcls; - arg1 = (int64_t)jarg1; - arg2 = (int64_t)jarg2; - arg3 = (int32_t)jarg3; - arg4 = (int32_t)jarg4; - arg5 = (int32_t)jarg5; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::IndexEntry *)io::humble::video::IndexEntry::make(arg1,arg2,arg3,arg4,arg5); + result = (int32_t)(arg1)->getNumSupportedCodecs(); } catch(std::exception & e) { @@ -24966,20 +25441,22 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1make(JNIEnv * /*@SWIG@*/ } - *(io::humble::video::IndexEntry **)&jresult = result; + jresult = (jint)result; return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getPosition(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jlong jresult = 0 ; - io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; - int64_t result; - - (void)jenv; - (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::IndexEntry **)&jarg1; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getSupportedCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + jint jresult = 0 ; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + int32_t arg2 ; + io::humble::video::Codec::ID result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -24988,12 +25465,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getPosition(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int64_t)(arg1)->getPosition(); + result = (io::humble::video::Codec::ID)(arg1)->getSupportedCodecId(arg2); } catch(std::exception & e) { @@ -25012,20 +25489,22 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getPosition(J /*@SWIG@*/ } - jresult = (jlong)result; + jresult = (jint)result; return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getTimeStamp(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1getSupportedCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { jlong jresult = 0 ; - io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; - int64_t result; + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; + int32_t arg2 ; + uint32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::IndexEntry **)&jarg1; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25034,12 +25513,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getTimeStamp( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int64_t)(arg1)->getTimeStamp(); + result = (uint32_t)(arg1)->getSupportedCodecTag(arg2); } catch(std::exception & e) { @@ -25063,40 +25542,37 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getTimeStamp( } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; - int32_t result; +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_delete_1ContainerFormat(JNIEnv *jenv, jclass jcls, jlong jarg1) { + io::humble::video::ContainerFormat *arg1 = (io::humble::video::ContainerFormat *) 0 ; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::IndexEntry **)&jarg1; + arg1 = *(io::humble::video::ContainerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return 0; + return ; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getFlags(); + delete arg1; } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return 0; + return ; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return 0; + return ; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -25104,20 +25580,18 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getFlags(JNIEn /*@SWIG@*/ } - jresult = (jint)result; - return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; - int32_t result; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::IndexEntry **)&jarg1; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25126,12 +25600,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getSize(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getSize(); + result = (char *)(arg1)->getName(); } catch(std::exception & e) { @@ -25150,20 +25624,20 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getSize(JNIEnv /*@SWIG@*/ } - jresult = (jint)result; + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getMinDistance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; - int32_t result; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getLongName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::IndexEntry **)&jarg1; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25172,12 +25646,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getMinDistance } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getMinDistance(); + result = (char *)(arg1)->getLongName(); } catch(std::exception & e) { @@ -25196,20 +25670,20 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getMinDistance /*@SWIG@*/ } - jresult = (jint)result; + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1isKeyFrame(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jboolean jresult = 0 ; - io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; - bool result; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getExtensions(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::IndexEntry **)&jarg1; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25218,12 +25692,12 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1isKeyFrame } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (bool)(arg1)->isKeyFrame(); + result = (char *)(arg1)->getExtensions(); } catch(std::exception & e) { @@ -25242,397 +25716,401 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1isKeyFrame /*@SWIG@*/ } - jresult = (jboolean)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1UNALIGNED_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_UNALIGNED; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1QSCALE_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_QSCALE; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_14MV_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_4MV; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1QPEL_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_QPEL; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1GMC_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_GMC; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1MV0_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_MV0; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1INPUT_1PRESERVED_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_INPUT_PRESERVED; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1PASS1_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_PASS1; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1PASS2_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_PASS2; - jresult = (jint)result; + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1GRAY_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder::Flag result; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + int32_t result; (void)jenv; (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_GRAY; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1EMU_1EDGE_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + (void)jarg1_; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_EMU_EDGE; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1PSNR_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_PSNR; + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (int32_t)(arg1)->getFlags(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1TRUNCATED_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultAudioCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder::Flag result; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + io::humble::video::Codec::ID result; (void)jenv; (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_TRUNCATED; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1NORMALIZE_1AQP_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + (void)jarg1_; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_NORMALIZE_AQP; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1INTERLACED_1DCT_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_INTERLACED_DCT; + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::Codec::ID)(arg1)->getDefaultAudioCodecId(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1LOW_1DELAY_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultVideoCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder::Flag result; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + io::humble::video::Codec::ID result; (void)jenv; (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_LOW_DELAY; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1GLOBAL_1HEADER_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + (void)jarg1_; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_GLOBAL_HEADER; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1BITEXACT_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_BITEXACT; + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::Codec::ID)(arg1)->getDefaultVideoCodecId(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1AC_1PRED_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getDefaultSubtitleCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder::Flag result; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + io::humble::video::Codec::ID result; (void)jenv; (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_AC_PRED; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1LOOP_1FILTER_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + (void)jarg1_; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_LOOP_FILTER; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1INTERLACED_1ME_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_INTERLACED_ME; + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::Codec::ID)(arg1)->getDefaultSubtitleCodecId(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } jresult = (jint)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG_1CLOSED_1GOP_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag result; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getMimeType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; - result = (io::humble::video::Coder::Flag)io::humble::video::Coder::FLAG_CLOSED_GOP; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1FAST_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag2 result; + (void)jarg1_; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_FAST; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1NO_1OUTPUT_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag2 result; + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_NO_OUTPUT; - jresult = (jint)result; + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (char *)(arg1)->getMimeType(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1LOCAL_1HEADER_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag2 result; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1guessFormat(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2, jstring jarg3) { + jlong jresult = 0 ; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + io::humble::video::MuxerFormat *result = 0 ; (void)jenv; (void)jcls; - result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_LOCAL_HEADER; - jresult = (jint)result; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return 0; + } + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::MuxerFormat *)io::humble::video::MuxerFormat::guessFormat((char const *)arg1,(char const *)arg2,(char const *)arg3); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + *(io::humble::video::MuxerFormat **)&jresult = result; + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1DROP_1FRAME_1TIMECODE_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1guessCodec(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4, jint jarg5) { jint jresult = 0 ; - io::humble::video::Coder::Flag2 result; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + io::humble::video::MediaDescriptor::Type arg5 ; + io::humble::video::Codec::ID result; (void)jenv; (void)jcls; - result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_DROP_FRAME_TIMECODE; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1IGNORE_1CROP_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag2 result; + (void)jarg1_; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + arg4 = 0; + if (jarg4) { + arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0); + if (!arg4) return 0; + } + arg5 = (io::humble::video::MediaDescriptor::Type)jarg5; - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_IGNORE_CROP; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1CHUNKS_1get(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - io::humble::video::Coder::Flag2 result; + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_CHUNKS; + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (io::humble::video::Codec::ID)(arg1)->guessCodec((char const *)arg2,(char const *)arg3,(char const *)arg4,arg5); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } jresult = (jint)result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4); return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1FLAG2_1SHOW_1ALL_1get(JNIEnv *jenv, jclass jcls) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getNumSupportedCodecs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder::Flag2 result; - - (void)jenv; - (void)jcls; - result = (io::humble::video::Coder::Flag2)io::humble::video::Coder::FLAG2_SHOW_ALL; - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1open(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::KeyValueBag *arg2 = (io::humble::video::KeyValueBag *) 0 ; - io::humble::video::KeyValueBag *arg3 = (io::humble::video::KeyValueBag *) 0 ; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - (void)jarg2_; - (void)jarg3_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = *(io::humble::video::KeyValueBag **)&jarg2; - arg3 = *(io::humble::video::KeyValueBag **)&jarg3; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return ; + return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->open(arg2,arg3); + result = (int32_t)(arg1)->getNumSupportedCodecs(); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -25640,18 +26118,22 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1open(JNIEnv *jenv, /*@SWIG@*/ } + jresult = (jint)result; + return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodec(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getBestCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { jlong jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::Codec *result = 0 ; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + io::humble::video::Codec::ID arg2 ; + uint32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg2 = (io::humble::video::Codec::ID)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25660,12 +26142,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodec(JNIEnv *j } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec *)(arg1)->getCodec(); + result = (uint32_t)(arg1)->getBestCodecTag(arg2); } catch(std::exception & e) { @@ -25684,20 +26166,22 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodec(JNIEnv *j /*@SWIG@*/ } - *(io::humble::video::Codec **)&jresult = result; + jresult = (jlong)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupportedCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::MediaDescriptor::Type result; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + int32_t arg2 ; + io::humble::video::Codec::ID result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25706,12 +26190,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecType(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::MediaDescriptor::Type)(arg1)->getCodecType(); + result = (io::humble::video::Codec::ID)(arg1)->getSupportedCodecId(arg2); } catch(std::exception & e) { @@ -25735,15 +26219,17 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecType(JNIEnv } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::Codec::ID result; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getSupportedCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + jlong jresult = 0 ; + io::humble::video::MuxerFormat *arg1 = (io::humble::video::MuxerFormat *) 0 ; + int32_t arg2 ; + uint32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::MuxerFormat **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25752,12 +26238,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecID(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Codec::ID)(arg1)->getCodecID(); + result = (uint32_t)(arg1)->getSupportedCodecTag(arg2); } catch(std::exception & e) { @@ -25776,34 +26262,24 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getCodecID(JNIEnv * /*@SWIG@*/ } - jresult = (jint)result; + jresult = (jlong)result; return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getNumFormats(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; int32_t result; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return 0; - } - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getHeight(); + result = (int32_t)io::humble::video::MuxerFormat::getNumFormats(); } catch(std::exception & e) { @@ -25827,40 +26303,32 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getHeight(JNIEnv *j } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setHeight(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - int32_t arg2 ; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerFormat_1getFormat(JNIEnv *jenv, jclass jcls, jint jarg1) { + jlong jresult = 0 ; + int32_t arg1 ; + io::humble::video::MuxerFormat *result = 0 ; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = (int32_t)jarg2; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return ; - } - + arg1 = (int32_t)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setHeight(arg2); + result = (io::humble::video::MuxerFormat *)io::humble::video::MuxerFormat::getFormat(arg1); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -25868,18 +26336,20 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setHeight(JNIEnv *j /*@SWIG@*/ } + *(io::humble::video::MuxerFormat **)&jresult = result; + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - int32_t result; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25888,12 +26358,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getWidth(JNIEnv *je } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getWidth(); + result = (char *)(arg1)->getName(); } catch(std::exception & e) { @@ -25912,45 +26382,45 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getWidth(JNIEnv *je /*@SWIG@*/ } - jresult = (jint)result; + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setWidth(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - int32_t arg2 ; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getLongName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = (int32_t)jarg2; + arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return ; + return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setWidth(arg2); + result = (char *)(arg1)->getLongName(); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -25958,18 +26428,20 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setWidth(JNIEnv *je /*@SWIG@*/ } + if (result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getPixelFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::PixelFormat::Type result; +SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getExtensions(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; + char *result = 0 ; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -25978,12 +26450,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getPixelFormat(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::PixelFormat::Type)(arg1)->getPixelFormat(); + result = (char *)(arg1)->getExtensions(); } catch(std::exception & e) { @@ -26002,45 +26474,45 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getPixelFormat(JNIE /*@SWIG@*/ } - jresult = (jint)result; + if (result) jresult = jenv->NewStringUTF((const char *)result); return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setPixelType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::PixelFormat::Type arg2 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = (io::humble::video::PixelFormat::Type)jarg2; + arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return ; + return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setPixelType(arg2); + result = (int32_t)(arg1)->getFlags(); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -26048,18 +26520,20 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setPixelType(JNIEnv /*@SWIG@*/ } + jresult = (jint)result; + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleRate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getNumSupportedCodecs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -26068,12 +26542,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleRate(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getSampleRate(); + result = (int32_t)(arg1)->getNumSupportedCodecs(); } catch(std::exception & e) { @@ -26097,40 +26571,42 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleRate(JNIEn } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setSampleRate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupportedCodecId(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + jint jresult = 0 ; + io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; int32_t arg2 ; + io::humble::video::Codec::ID result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return ; + return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setSampleRate(arg2); + result = (io::humble::video::Codec::ID)(arg1)->getSupportedCodecId(arg2); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -26138,18 +26614,22 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setSampleRate(JNIEn /*@SWIG@*/ } + jresult = (jint)result; + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::AudioFormat::Type result; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getSupportedCodecTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + jlong jresult = 0 ; + io::humble::video::DemuxerFormat *arg1 = (io::humble::video::DemuxerFormat *) 0 ; + int32_t arg2 ; + uint32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::DemuxerFormat **)&jarg1; + arg2 = (int32_t)jarg2; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -26158,12 +26638,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleFormat(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::AudioFormat::Type)(arg1)->getSampleFormat(); + result = (uint32_t)(arg1)->getSupportedCodecTag(arg2); } catch(std::exception & e) { @@ -26182,45 +26662,41 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getSampleFormat(JNI /*@SWIG@*/ } - jresult = (jint)result; + jresult = (jlong)result; return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setSampleFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::AudioFormat::Type arg2 ; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1findFormat(JNIEnv *jenv, jclass jcls, jstring jarg1) { + jlong jresult = 0 ; + char *arg1 = (char *) 0 ; + io::humble::video::DemuxerFormat *result = 0 ; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = (io::humble::video::AudioFormat::Type)jarg2; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return ; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return 0; } - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setSampleFormat(arg2); + result = (io::humble::video::DemuxerFormat *)io::humble::video::DemuxerFormat::findFormat((char const *)arg1); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -26228,32 +26704,25 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setSampleFormat(JNI /*@SWIG@*/ } + *(io::humble::video::DemuxerFormat **)&jresult = result; + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getChannels(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getNumFormats(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; int32_t result; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return 0; - } - { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getChannels(); + result = (int32_t)io::humble::video::DemuxerFormat::getNumFormats(); } catch(std::exception & e) { @@ -26277,40 +26746,32 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getChannels(JNIEnv } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setChannels(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - int32_t arg2 ; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerFormat_1getFormat(JNIEnv *jenv, jclass jcls, jint jarg1) { + jlong jresult = 0 ; + int32_t arg1 ; + io::humble::video::DemuxerFormat *result = 0 ; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = (int32_t)jarg2; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return ; - } - + arg1 = (int32_t)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setChannels(arg2); + result = (io::humble::video::DemuxerFormat *)io::humble::video::DemuxerFormat::getFormat(arg1); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -26318,32 +26779,46 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setChannels(JNIEnv /*@SWIG@*/ } + *(io::humble::video::DemuxerFormat **)&jresult = result; + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getChannelLayout(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1INDEX_1FLAG_1KEYFRAME_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::AudioChannel::Layout result; + int result; (void)jenv; (void)jcls; - (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - - if (!arg1) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, - "invalid native object; delete() likely already called"); - return 0; - } + result = (int)io::humble::video::IndexEntry::INDEX_FLAG_KEYFRAME; + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1make(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jint jarg3, jint jarg4, jint jarg5) { + jlong jresult = 0 ; + int64_t arg1 ; + int64_t arg2 ; + int32_t arg3 ; + int32_t arg4 ; + int32_t arg5 ; + io::humble::video::IndexEntry *result = 0 ; + (void)jenv; + (void)jcls; + arg1 = (int64_t)jarg1; + arg2 = (int64_t)jarg2; + arg3 = (int32_t)jarg3; + arg4 = (int32_t)jarg4; + arg5 = (int32_t)jarg5; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::AudioChannel::Layout)(arg1)->getChannelLayout(); + result = (io::humble::video::IndexEntry *)io::humble::video::IndexEntry::make(arg1,arg2,arg3,arg4,arg5); } catch(std::exception & e) { @@ -26362,45 +26837,45 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getChannelLayout(JN /*@SWIG@*/ } - jresult = (jint)result; + *(io::humble::video::IndexEntry **)&jresult = result; return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setChannelLayout(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::AudioChannel::Layout arg2 ; +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getPosition(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; + int64_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = (io::humble::video::AudioChannel::Layout)jarg2; + arg1 = *(io::humble::video::IndexEntry **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return ; + return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setChannelLayout(arg2); + result = (int64_t)(arg1)->getPosition(); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -26408,18 +26883,20 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setChannelLayout(JN /*@SWIG@*/ } + jresult = (jlong)result; + return jresult; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getTimeStamp(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jlong jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::Rational *result = 0 ; + io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; + int64_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::IndexEntry **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -26428,12 +26905,12 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getTimeBase(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Rational *)(arg1)->getTimeBase(); + result = (int64_t)(arg1)->getTimeStamp(); } catch(std::exception & e) { @@ -26452,46 +26929,45 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1getTimeBase(JNIEnv /*@SWIG@*/ } - *(io::humble::video::Rational **)&jresult = result; + jresult = (jlong)result; return jresult; } -SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setTimeBase(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::Rational *arg2 = (io::humble::video::Rational *) 0 ; +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getFlags(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - (void)jarg2_; - arg1 = *(io::humble::video::Coder **)&jarg1; - arg2 = *(io::humble::video::Rational **)&jarg2; + arg1 = *(io::humble::video::IndexEntry **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "invalid native object; delete() likely already called"); - return ; + return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - (arg1)->setTimeBase(arg2); + result = (int32_t)(arg1)->getFlags(); } catch(std::exception & e) { io::humble::video::Global::catchException(e); - return ; + return 0; } catch(...) { std::runtime_error e("Unhandled and unknown native exception"); io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); - return ; + return 0; } // <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -26499,18 +26975,20 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Coder_1setTimeBase(JNIEnv /*@SWIG@*/ } + jresult = (jint)result; + return jresult; } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getState(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - io::humble::video::Coder::State result; + io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; + int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::IndexEntry **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -26519,12 +26997,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getState(JNIEnv *je } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (io::humble::video::Coder::State)(arg1)->getState(); + result = (int32_t)(arg1)->getSize(); } catch(std::exception & e) { @@ -26548,15 +27026,15 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getState(JNIEnv *je } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameCount(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1getMinDistance(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; + io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; int32_t result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::IndexEntry **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -26565,12 +27043,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameCount(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getFrameCount(); + result = (int32_t)(arg1)->getMinDistance(); } catch(std::exception & e) { @@ -26594,15 +27072,15 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameCount(JNIEn } -SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { - jint jresult = 0 ; - io::humble::video::Coder *arg1 = (io::humble::video::Coder *) 0 ; - int32_t result; +SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1isKeyFrame(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + io::humble::video::IndexEntry *arg1 = (io::humble::video::IndexEntry *) 0 ; + bool result; (void)jenv; (void)jcls; (void)jarg1_; - arg1 = *(io::humble::video::Coder **)&jarg1; + arg1 = *(io::humble::video::IndexEntry **)&jarg1; if (!arg1) { SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, @@ -26611,12 +27089,12 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameSize(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try { - result = (int32_t)(arg1)->getFrameSize(); + result = (bool)(arg1)->isKeyFrame(); } catch(std::exception & e) { @@ -26635,7 +27113,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Coder_1getFrameSize(JNIEnv /*@SWIG@*/ } - jresult = (jint)result; + jresult = (jboolean)result; return jresult; } @@ -26650,7 +27128,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Decoder_1make_1_1SWIG_10( (void)jarg1_; arg1 = *(io::humble::video::Codec **)&jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -26689,7 +27167,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Decoder_1make_1_1SWIG_11( (void)jarg1_; arg1 = *(io::humble::video::Coder **)&jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -26733,7 +27211,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Decoder_1flush(JNIEnv *jen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -26785,7 +27263,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Decoder_1decodeAudio(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -26839,7 +27317,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Decoder_1decodeVideo(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -26868,6 +27346,106 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Decoder_1decodeVideo(JNIEn } +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Decoder_1decode(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_, jint jarg4) { + jint jresult = 0 ; + io::humble::video::Decoder *arg1 = (io::humble::video::Decoder *) 0 ; + io::humble::video::MediaSampled *arg2 = (io::humble::video::MediaSampled *) 0 ; + io::humble::video::MediaPacket *arg3 = (io::humble::video::MediaPacket *) 0 ; + int32_t arg4 ; + int32_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + (void)jarg3_; + arg1 = *(io::humble::video::Decoder **)&jarg1; + arg2 = *(io::humble::video::MediaSampled **)&jarg2; + arg3 = *(io::humble::video::MediaPacket **)&jarg3; + arg4 = (int32_t)jarg4; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (int32_t)(arg1)->decode(arg2,arg3,arg4); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Encoder_1getNumDroppedFrames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + io::humble::video::Encoder *arg1 = (io::humble::video::Encoder *) 0 ; + int64_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::Encoder **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (int64_t)(arg1)->getNumDroppedFrames(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + jresult = (jlong)result; + return jresult; +} + + SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Encoder_1make_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { jlong jresult = 0 ; io::humble::video::Codec *arg1 = (io::humble::video::Codec *) 0 ; @@ -26878,7 +27456,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Encoder_1make_1_1SWIG_10( (void)jarg1_; arg1 = *(io::humble::video::Codec **)&jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -26917,7 +27495,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Encoder_1make_1_1SWIG_11( (void)jarg1_; arg1 = *(io::humble::video::Coder **)&jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -26967,7 +27545,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Encoder_1open(JNIEnv *jenv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27015,7 +27593,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Encoder_1encodeVideo(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27063,7 +27641,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Encoder_1encodeAudio(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27090,6 +27668,54 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Encoder_1encodeAudio(JNIEn } +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Encoder_1encode(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject jarg3_) { + io::humble::video::Encoder *arg1 = (io::humble::video::Encoder *) 0 ; + io::humble::video::MediaPacket *arg2 = (io::humble::video::MediaPacket *) 0 ; + io::humble::video::MediaSampled *arg3 = (io::humble::video::MediaSampled *) 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + (void)jarg2_; + (void)jarg3_; + arg1 = *(io::humble::video::Encoder **)&jarg1; + arg2 = *(io::humble::video::MediaPacket **)&jarg2; + arg3 = *(io::humble::video::MediaSampled **)&jarg3; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return ; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + (arg1)->encode(arg2,arg3); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return ; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return ; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } +} + + SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1DISPOSITION_1NONE_1get(JNIEnv *jenv, jclass jcls) { jint jresult = 0 ; io::humble::video::ContainerStream::Disposition result; @@ -27323,7 +27949,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getIndex( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27369,7 +27995,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getId(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27415,7 +28041,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getFrame } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27461,7 +28087,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getTimeB } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27507,7 +28133,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getStart } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27553,7 +28179,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getDurat } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27599,7 +28225,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getCurre } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27645,7 +28271,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getNumInd } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27691,7 +28317,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getNumFr } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27737,7 +28363,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getSampl } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27783,7 +28409,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getConta } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27829,7 +28455,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getParseT } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27875,7 +28501,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1setParseT } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27919,7 +28545,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getMetaD } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -27969,7 +28595,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1findTime } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28019,7 +28645,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1findTimeS } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28067,7 +28693,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getIndex } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28113,7 +28739,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getDispos } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28159,7 +28785,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerStream_1getAttac } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28361,7 +28987,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Container_1getNumStreams(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28407,7 +29033,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerStream_1getCoder(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28453,7 +29079,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MuxerStream_1getMuxer(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28499,7 +29125,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerStream_1getDecoder } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28545,7 +29171,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_DemuxerStream_1getDemuxer } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28596,7 +29222,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Muxer_1make(JNIEnv *jenv, if (!arg3) return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28644,7 +29270,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Muxer_1getURL(JNIEnv *j } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28690,7 +29316,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Muxer_1getFormat(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28736,7 +29362,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Muxer_1getState(JNIEnv *je } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28786,7 +29412,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Muxer_1open(JNIEnv *jenv, } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28828,7 +29454,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Muxer_1close(JNIEnv *jenv, } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28872,7 +29498,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Muxer_1getNumStreams(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28918,7 +29544,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Muxer_1setOutputBufferLeng } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -28962,7 +29588,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Muxer_1getOutputBufferLeng } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29011,7 +29637,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Muxer_1addNewStream(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29059,7 +29685,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Muxer_1getStream(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29110,7 +29736,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Muxer_1write(JNIEnv *j } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29146,7 +29772,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Demuxer_1make(JNIEnv *jen (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29192,7 +29818,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getState(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29238,7 +29864,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getFormat(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29284,7 +29910,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1setInputBufferLen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29328,7 +29954,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getInputBufferLen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29391,7 +30017,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1open(JNIEnv *jenv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29434,7 +30060,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1close(JNIEnv *jen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29480,7 +30106,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getStream(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29529,7 +30155,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1read(JNIEnv *jenv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29573,7 +30199,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1queryStreamMetaDa } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29617,7 +30243,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getDuration(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29663,7 +30289,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getStartTime(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29709,7 +30335,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getFileSize(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29755,7 +30381,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getBitRate(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29801,7 +30427,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getFlags(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29847,7 +30473,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1setFlags(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29893,7 +30519,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getFlag(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29941,7 +30567,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1setFlag(JNIEnv *j } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -29985,7 +30611,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getURL(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30031,7 +30657,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getReadRetryCount } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30077,7 +30703,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1setReadRetryCount } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30121,7 +30747,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_Demuxer_1canStreamsBeA } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30167,7 +30793,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getMetaData(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30215,7 +30841,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1setForcedAudioCod } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30263,7 +30889,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1setForcedVideoCod } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30311,7 +30937,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1setForcedSubtitle } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30415,7 +31041,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1seek(JNIEnv *jenv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30461,7 +31087,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Demuxer_1getMaxDelay(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30505,7 +31131,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1play(JNIEnv *jenv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30547,7 +31173,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_Demuxer_1pause(JNIEnv *jen } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30675,7 +31301,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterType_1getName(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30721,7 +31347,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterType_1getDescript } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30767,7 +31393,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterType_1getFlags(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30815,7 +31441,7 @@ SWIGEXPORT jboolean JNICALL Java_io_humble_video_VideoJNI_FilterType_1getFlag(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30861,7 +31487,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterType_1getNumInputs(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30909,7 +31535,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterType_1getInputNam } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -30957,7 +31583,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterType_1getInputType(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31003,7 +31629,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterType_1getNumOutputs( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31051,7 +31677,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterType_1getOutputNa } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31099,7 +31725,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterType_1getOutputType( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31141,7 +31767,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterType_1findFilterTyp if (!arg1) return 0; } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31178,7 +31804,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterType_1getNumFilterTy (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31216,7 +31842,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterType_1getFilterType (void)jcls; arg1 = (int32_t)jarg1; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31276,7 +31902,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1make(JNIEnv (void)jenv; (void)jcls; { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31331,7 +31957,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1addFilter(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31384,7 +32010,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getFilter(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31446,7 +32072,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1addAudioSour } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31511,7 +32137,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1addPictureSo } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31570,7 +32196,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1addAudioSink } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31625,7 +32251,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1addPictureSi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31672,7 +32298,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getNumSources } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31720,7 +32346,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getSource_1_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31772,7 +32398,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getSource_1_ } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31819,7 +32445,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getNumSinks(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31867,7 +32493,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getSink_1_1S } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31919,7 +32545,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getSink_1_1S } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -31966,7 +32592,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1setAutoConver } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32010,7 +32636,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getAutoConver } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32060,7 +32686,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1open(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32125,7 +32751,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1sendComman } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32195,7 +32821,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1queueCommand( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32242,7 +32868,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getDisplay } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32289,7 +32915,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterGraph_1getState(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32359,7 +32985,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Filter_1getName(JNIEnv } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32405,7 +33031,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Filter_1getNumInputs(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32453,7 +33079,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Filter_1getInputName(JN } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32501,7 +33127,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Filter_1getInputType(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32549,7 +33175,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Filter_1getInputLink(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32595,7 +33221,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Filter_1getNumOutputs(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32643,7 +33269,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_Filter_1getOutputName(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32691,7 +33317,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_Filter_1getOutputType(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32739,7 +33365,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Filter_1getOutputLink(JNI } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32785,7 +33411,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Filter_1getGraph(JNIEnv * } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32831,7 +33457,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getFilterGrap } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32877,7 +33503,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getInputFilte } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32923,7 +33549,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getInputPad } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -32969,7 +33595,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getInputPadTyp } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33015,7 +33641,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getOutputFilt } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33061,7 +33687,7 @@ SWIGEXPORT jstring JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getOutputPa } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33107,7 +33733,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getOutputPadTy } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33153,7 +33779,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getMediaType(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33199,7 +33825,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getWidth(JNIEn } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33245,7 +33871,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getHeight(JNIE } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33291,7 +33917,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getPixelFormat } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33337,7 +33963,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getPixelAspec } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33383,7 +34009,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getChannelLayo } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33429,7 +34055,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getSampleRate( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33475,7 +34101,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getSampleForma } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33521,7 +34147,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_FilterLink_1getTimeBase(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33572,7 +34198,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterLink_1insertFilter(J } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33617,7 +34243,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterAudioSource_1addAudi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33662,7 +34288,7 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterPictureSource_1addPi } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33689,6 +34315,96 @@ SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterPictureSource_1addPi } +SWIGEXPORT void JNICALL Java_io_humble_video_VideoJNI_FilterSink_1setFrameSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) { + io::humble::video::FilterSink *arg1 = (io::humble::video::FilterSink *) 0 ; + int32_t arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::FilterSink **)&jarg1; + arg2 = (int32_t)jarg2; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return ; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + (arg1)->setFrameSize(arg2); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return ; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return ; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } +} + + +SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterSink_1getFrameSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jint jresult = 0 ; + io::humble::video::FilterSink *arg1 = (io::humble::video::FilterSink *) 0 ; + int32_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(io::humble::video::FilterSink **)&jarg1; + + if (!arg1) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, + "invalid native object; delete() likely already called"); + return 0; + } + + { + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ + // HumbleVideo.i: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + try + { + result = (int32_t)(arg1)->getFrameSize(); + } + catch(std::exception & e) + { + io::humble::video::Global::catchException(e); + return 0; + } + catch(...) + { + std::runtime_error e("Unhandled and unknown native exception"); + io::humble::ferry::JNIHelper::throwJavaException(jenv, "java/lang/RuntimeException", e); + return 0; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // HumbleVideo.i: End generated code + + /*@SWIG@*/ + } + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterAudioSink_1getAudio(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) { jint jresult = 0 ; io::humble::video::FilterAudioSink *arg1 = (io::humble::video::FilterAudioSink *) 0 ; @@ -33709,7 +34425,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterAudioSink_1getAudio( } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33758,7 +34474,7 @@ SWIGEXPORT jint JNICALL Java_io_humble_video_VideoJNI_FilterPictureSink_1getPict } { - /*@SWIG:/Users/aclarke/Work/humble/humble-video/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,140,HUMBLE_HANDLE_EXCEPTION@*/ + /*@SWIG:/vagrant/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i,141,HUMBLE_HANDLE_EXCEPTION@*/ // HumbleVideo.i: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> try @@ -33939,11 +34655,19 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Configurable_1SWIGUpcast( return baseptr; } +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaResampler_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) { + jlong baseptr = 0; + (void)jenv; + (void)jcls; + *(io::humble::video::Configurable **)&baseptr = *(io::humble::video::MediaResampler **)&jarg1; + return baseptr; +} + SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaPictureResampler_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) { jlong baseptr = 0; (void)jenv; (void)jcls; - *(io::humble::video::Configurable **)&baseptr = *(io::humble::video::MediaPictureResampler **)&jarg1; + *(io::humble::video::MediaResampler **)&baseptr = *(io::humble::video::MediaPictureResampler **)&jarg1; return baseptr; } @@ -33951,7 +34675,7 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_MediaAudioResampler_1SWIG jlong baseptr = 0; (void)jenv; (void)jcls; - *(io::humble::video::Configurable **)&baseptr = *(io::humble::video::MediaAudioResampler **)&jarg1; + *(io::humble::video::MediaResampler **)&baseptr = *(io::humble::video::MediaAudioResampler **)&jarg1; return baseptr; } @@ -33987,6 +34711,14 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_CodecDescriptor_1SWIGUpca return baseptr; } +SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) { + jlong baseptr = 0; + (void)jenv; + (void)jcls; + *(io::humble::video::Configurable **)&baseptr = *(io::humble::video::Coder **)&jarg1; + return baseptr; +} + SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_ContainerFormat_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) { jlong baseptr = 0; (void)jenv; @@ -34019,14 +34751,6 @@ SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_IndexEntry_1SWIGUpcast(JN return baseptr; } -SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Coder_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) { - jlong baseptr = 0; - (void)jenv; - (void)jcls; - *(io::humble::video::Configurable **)&baseptr = *(io::humble::video::Coder **)&jarg1; - return baseptr; -} - SWIGEXPORT jlong JNICALL Java_io_humble_video_VideoJNI_Decoder_1SWIGUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) { jlong baseptr = 0; (void)jenv; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.h b/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.h index c58cf237..7a6681fd 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -22,7 +22,6 @@ #include #include -#include namespace io { namespace humble { diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i b/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i index a4be4eae..caccd447 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i +++ b/humble-video-native/src/main/gnu/src/io/humble/video/HumbleVideo.i @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -185,14 +186,15 @@ import io.humble.ferry.Buffer; %include %include %include +%include %include %include %include +%include %include %include %include %include -%include %include %include %include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.cpp index 863ad6ad..4e76083a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.h b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.h index 34179e63..eed48d70 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #ifndef INDEXENTRY_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.swg b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.swg index d765d8c7..09f28d23 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntry.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.cpp index 101b91ac..5b1db1ef 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -23,7 +23,7 @@ #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.IndexEntry); namespace io { namespace humble { namespace video { diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.h index 2b50ca37..e8c460ae 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/IndexEntryImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.cpp index 766e8a70..f36716ed 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.cpp @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "KeyValueBag.h" #include "KeyValueBagImpl.h" diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.h b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.h index 3e0a71ad..011ea917 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.h @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef IKEYVALUEBAG_H_ #define IKEYVALUEBAG_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.swg b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.swg index 0d363ddf..311a7978 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBag.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.cpp index 710bbc23..c4ce4d5e 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.cpp @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "KeyValueBagImpl.h" namespace io { namespace humble { namespace video diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.h index 4c99a2fb..3d815933 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/KeyValueBagImpl.h @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef KEYVALUEBAGIMPL_H_ #define KEYVALUEBAGIMPL_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.am b/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.am index 5f283a39..05ab59fa 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.am +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.am @@ -25,8 +25,8 @@ libhumble_video_la_SOURCES= \ Codec.cpp \ Media.cpp \ MediaRaw.cpp \ + MediaResampler.cpp \ MediaAudio.cpp \ - MediaAudioImpl.cpp \ MediaAudioResampler.cpp \ MediaPicture.cpp \ MediaPictureImpl.cpp \ @@ -89,8 +89,8 @@ libhumble_video_la_HEADERS= \ MediaRaw.h \ MediaRaw.swg \ MediaAudio.h \ - MediaAudioImpl.h \ MediaAudio.swg \ + MediaResampler.h \ MediaAudioResampler.h \ MediaPicture.h \ MediaPictureImpl.h \ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.in b/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.in index 180ce68e..3d7c99d2 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.in +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -100,9 +100,9 @@ libhumble_video_la_DEPENDENCIES = am_libhumble_video_la_OBJECTS = Mingw64Fixes.lo VideoExceptions.lo \ AVBufferSupport.lo PixelFormat.lo KeyValueBag.lo \ KeyValueBagImpl.lo Property.lo PropertyImpl.lo Rational.lo \ - RationalImpl.lo Codec.lo Media.lo MediaRaw.lo MediaAudio.lo \ - MediaAudioImpl.lo MediaAudioResampler.lo MediaPicture.lo \ - MediaPictureImpl.lo MediaPictureResampler.lo \ + RationalImpl.lo Codec.lo Media.lo MediaRaw.lo \ + MediaResampler.lo MediaAudio.lo MediaAudioResampler.lo \ + MediaPicture.lo MediaPictureImpl.lo MediaPictureResampler.lo \ MediaPictureResamplerImpl.lo MediaSubtitle.lo \ MediaSubtitleImpl.lo IndexEntry.lo IndexEntryImpl.lo \ MediaPacket.lo MediaPacketImpl.lo ContainerFormat.lo \ @@ -390,6 +390,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ @@ -469,8 +470,8 @@ libhumble_video_la_SOURCES = \ Codec.cpp \ Media.cpp \ MediaRaw.cpp \ + MediaResampler.cpp \ MediaAudio.cpp \ - MediaAudioImpl.cpp \ MediaAudioResampler.cpp \ MediaPicture.cpp \ MediaPictureImpl.cpp \ @@ -533,8 +534,8 @@ libhumble_video_la_HEADERS = \ MediaRaw.h \ MediaRaw.swg \ MediaAudio.h \ - MediaAudioImpl.h \ MediaAudio.swg \ + MediaResampler.h \ MediaAudioResampler.h \ MediaPicture.h \ MediaPictureImpl.h \ @@ -685,7 +686,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KeyValueBagImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Media.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaAudio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaAudioImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaAudioResampler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaPacket.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaPacketImpl.Plo@am__quote@ @@ -694,6 +694,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaPictureResampler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaPictureResamplerImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaRaw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaResampler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaSubtitle.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MediaSubtitleImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Mingw64Fixes.Plo@am__quote@ @@ -712,14 +713,14 @@ distclean-compile: @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Media.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Media.cpp index 8d1d58c5..16991ed6 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Media.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Media.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Media.h b/humble-video-native/src/main/gnu/src/io/humble/video/Media.h index 345e5dc8..c6396b19 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Media.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Media.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -74,7 +74,16 @@ class VS_API_HUMBLEVIDEO Media: public io::humble::ferry::RefCounted */ virtual bool isComplete()=0; - +#ifndef SWIG + /** + * Logs the metadata of this media item to the passed + * in buffer (up to len bytes). + * + * @return number of bytes actually written. + */ + virtual int64_t logMetadata(char* buffer, size_t len)=0; +#endif // ! SWIG + protected: Media(); virtual ~Media(); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Media.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Media.swg index 71b18c00..f22a83ec 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Media.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Media.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.cpp index 8c4d28d1..fd26d97c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -24,41 +24,378 @@ */ #include "MediaAudio.h" -#include "MediaAudioImpl.h" +#include "AVBufferSupport.h" +#include +#include +#include + +using namespace io::humble::ferry; + +VS_LOG_SETUP(VS_CPP_PACKAGE.MediaAudio); namespace io { namespace humble { namespace video { MediaAudio::MediaAudio() { - + mFrame = av_frame_alloc(); + if (!mFrame) throw std::bad_alloc(); + mFrame->opaque = this; + mComplete = false; } MediaAudio::~MediaAudio() { - + av_frame_free(&mFrame); } MediaAudio* MediaAudio::make(int32_t numSamples, int32_t sampleRate, int32_t channels, - AudioChannel::Layout channelLayout, AudioFormat::Type format) { + AudioChannel::Layout layout, AudioFormat::Type format) { Global::init(); - return MediaAudioImpl::make(numSamples, sampleRate, channels, channelLayout, + if (numSamples <= 0) { + VS_THROW(HumbleInvalidArgument("No samples specified")); + } + if (channels <= 0) { + VS_THROW(HumbleInvalidArgument("No channels specified")); + } + if (format == AudioFormat::SAMPLE_FMT_NONE) { + VS_THROW(HumbleInvalidArgument("No audio format specified")); + } + + int32_t bufSize = av_samples_get_buffer_size(0, channels, numSamples, + (enum AVSampleFormat) format, 0); + RefPointer buffer = Buffer::make(0, bufSize); + MediaAudio* retval = make(buffer.value(), numSamples, sampleRate, channels, layout, format); + buffer->setJavaAllocator(retval->getJavaAllocator()); + return retval; } MediaAudio* -MediaAudio::make(io::humble::ferry::Buffer *buffer, int32_t numSamples, - int32_t sampleRate, int32_t channels, AudioChannel::Layout channelLayout, - AudioFormat::Type format) { +MediaAudio::make(io::humble::ferry::Buffer* buffer, int32_t numSamples, + int32_t sampleRate, + int32_t channels, AudioChannel::Layout layout, AudioFormat::Type format) { Global::init(); - return MediaAudioImpl::make(buffer, numSamples, sampleRate, channels, - channelLayout, format); + + if (numSamples <= 0) { + VS_THROW(HumbleInvalidArgument("No samples specified")); + } + if (channels <= 0) { + VS_THROW(HumbleInvalidArgument("No channels specified")); + } + if (sampleRate <= 0) { + VS_THROW(HumbleInvalidArgument("No sample rate specified")); + } + if (format == AudioFormat::SAMPLE_FMT_NONE) { + VS_THROW(HumbleInvalidArgument("No audio format specified")); + } + if (!buffer) { + VS_THROW(HumbleInvalidArgument("No audio buffer specified")); + } + if (layout != AudioChannel::CH_LAYOUT_UNKNOWN) { + // let's do a sanity check + if (channels != AudioChannel::getNumChannelsInLayout(layout)) { + VS_LOG_ERROR("Passed in channel layout does not match number of channels. Layout: %s. Expected Channels: %d. Actual Channels: %d", + AudioChannel::getLayoutName(layout), + AudioChannel::getNumChannelsInLayout(layout), + channels + ); + VS_THROW(HumbleInvalidArgument("Channel layout does not match number of channels")); + } + } + // get the required buf size + int32_t linesize = 0; + int32_t bufSize = av_samples_get_buffer_size(&linesize, channels, numSamples, + (enum AVSampleFormat) format, 0); + if (bufSize < buffer->getBufferSize()) { + VS_THROW(HumbleInvalidArgument("passed in buffer too small to fit requested num samples")); + } + + // By default we are always going to try and manage audio + // through Buffers, but we cannot guarantee that FFmpeg won't + // free them and replace them with their own objects, so we + // must let mFrame->buf[] and mFrame->extended_buf[] win. + RefPointer retval = make(); + RefPointer tb = Rational::make(1,sampleRate); // a sensible default. + retval->setTimeBase(tb.value()); + AVFrame* frame = retval->mFrame; + av_frame_set_sample_rate(frame, sampleRate); + av_frame_set_channels(frame, channels); + av_frame_set_channel_layout(frame, layout); + frame->nb_samples = numSamples; + frame->format = format; + // we're going to tell the world this buffer now contains the right kind of data + setBufferType((AudioFormat::Type)frame->format, buffer); + + // now we have to layout the audio FFmpeg makes this hard if you pass + // in your own buffers. + bool planar = retval->isPlanar(); + int planes = planar ? channels : 1; + int ret; + + if (!frame->linesize[0]) { + frame->linesize[0] = linesize; + } + // now, let's fill all of those extended_data objects. + if (planes > AV_NUM_DATA_POINTERS) { + frame->extended_data = (uint8_t**) av_mallocz( + planes * sizeof(*frame->extended_data)); + frame->extended_buf = (AVBufferRef**) av_mallocz( + (planes - AV_NUM_DATA_POINTERS) * sizeof(*frame->extended_buf)); + if (!frame->extended_data || !frame->extended_buf) { + av_freep(&frame->extended_data); + av_freep(&frame->extended_buf); + VS_THROW(HumbleBadAlloc()); + } + frame->nb_extended_buf = planes - AV_NUM_DATA_POINTERS; + } else frame->extended_data = frame->data; + + // fill in the extended_data planes + uint8_t* buf = (uint8_t*) buffer->getBytes(0, bufSize); + ret = av_samples_fill_arrays(frame->extended_data, &frame->linesize[0], buf, + retval->getChannels(), numSamples, (enum AVSampleFormat) frame->format, + 0); + if (ret < 0) { + VS_THROW(HumbleRuntimeError("Could not layout all the audio data; fatal error")); + } + + // now create references to our one mega buffer in all other pointers + for (int32_t i = 0; i < FFMIN(planes, AV_NUM_DATA_POINTERS); i++) { + frame->data[i] = frame->extended_data[i]; + frame->buf[i] = AVBufferSupport::wrapBuffer(buffer, frame->extended_data[i], frame->linesize[0]); + } + // and add refs for the final buffers + for (int32_t i = 0; i < planes - AV_NUM_DATA_POINTERS; i++) { + frame->extended_buf[i] = AVBufferSupport::wrapBuffer(buffer, frame->extended_data[i+AV_NUM_DATA_POINTERS], frame->linesize[0]); + } + return retval.get(); +} + + +void +MediaAudio::copy(AVFrame* src, bool complete) { + if (!src) + VS_THROW(HumbleInvalidArgument("no src")); + // release any memory we have + RefPointer timeBase = Rational::make(1, src->sample_rate); // a default + setTimeBase(timeBase.value()); + av_frame_unref(mFrame); + // and copy any data in. + av_frame_ref(mFrame, src); + mComplete=complete; } MediaAudio* MediaAudio::make(MediaAudio* src, bool copy) { Global::init(); - return MediaAudioImpl::make(dynamic_cast(src), copy); + + RefPointer retval; + + if (!src) VS_THROW(HumbleInvalidArgument("no src object to copy from")); + + if (copy) { + // first create a new mediaaudio object to copy into + retval = make(src->getMaxNumSamples(), + src->getSampleRate(), + src->getChannels(), + src->getChannelLayout(), + src->getFormat()); + + retval->setNumSamples(src->getNumSamples()); + retval->setTimeStamp(src->getTimeStamp()); + // then copy the data into retval + int32_t n = src->getNumDataPlanes(); + for(int32_t i = 0; i < n; i++ ) + { + AVBufferRef* dstBuf = av_frame_get_plane_buffer(retval->mFrame, i); + AVBufferRef* srcBuf = av_frame_get_plane_buffer(src->mFrame, i); + VS_ASSERT(dstBuf, "should always have buffer"); + VS_ASSERT(srcBuf, "should always have buffer"); + memcpy(dstBuf->data, srcBuf->data, srcBuf->size); + } + } else { + // first create a new media audio object to reference into + retval = make(); + + // then do the reference + av_frame_ref(retval->mFrame, src->mFrame); + } + // copy the items not embedded in the frame + retval->setComplete(src->isComplete()); + RefPointer timeBase = src->getTimeBase(); + retval->setTimeBase(timeBase.value()); + + return retval.get(); +} + +io::humble::ferry::Buffer* +MediaAudio::getData(int32_t plane) { + // we get the buffer for the given plane if it exists, and wrap + // it in an Buffer + if (plane < 0) { + VS_THROW(HumbleInvalidArgument("plane must be >= 0")); + } + + if (plane >= getNumDataPlanes()) { + VS_THROW(HumbleInvalidArgument("plane must be < getNumDataPlane()")); + } + + // now we're guaranteed that we should have a plane. + RefPointer buffer; + if (plane < AV_NUM_DATA_POINTERS) buffer = mFrame->buf[plane] ? AVBufferSupport::wrapAVBuffer(this, + mFrame->buf[plane], mFrame->extended_data[plane], mFrame->linesize[0]) : 0; + else buffer = mFrame->extended_buf[plane-AV_NUM_DATA_POINTERS] ? AVBufferSupport::wrapAVBuffer(this, + mFrame->extended_buf[plane - AV_NUM_DATA_POINTERS], mFrame->extended_data[plane], mFrame->linesize[0]) : 0; + if (buffer) + setBufferType((AudioFormat::Type)mFrame->format, buffer.value()); + return buffer.get(); +} + +int32_t +MediaAudio::getDataPlaneSize(int32_t plane) { + int32_t n = getNumDataPlanes(); + if (plane < 0 || plane >= n) + VS_THROW(HumbleInvalidArgument("plane is out of range")); + if (isComplete()) + return getNumSamples()*AudioFormat::getBytesPerSample(getFormat())*(isPlanar()? 1 : getChannels()); + else + // oddly for audio, each plane in multiplane audio must + // be the same as linesize[0] and sometimes ffmpeg + // doesn't copy all that data in. + return mFrame->linesize[0]; +} + +int32_t +MediaAudio::getNumDataPlanes() { + if (isPlanar()) return av_frame_get_channels(mFrame); + else return 1; +} + +int32_t +MediaAudio::getMaxNumSamples() { + int32_t bytesPerSample = AudioFormat::getBytesPerSample(getFormat()); + int32_t size = bytesPerSample ? mFrame->linesize[0] / bytesPerSample : 0; + return size; +} + +int32_t +MediaAudio::getBytesPerSample() { + return AudioFormat::getBytesPerSample((AudioFormat::Type) mFrame->format); +} + +void +MediaAudio::setComplete(bool complete) { + mComplete = complete; +} + +int32_t +MediaAudio::getSampleRate() { + return av_frame_get_sample_rate(mFrame); +} + +int32_t +MediaAudio::getChannels() { + return av_frame_get_channels(mFrame); +} + +AudioFormat::Type +MediaAudio::getFormat() { + return (AudioFormat::Type) mFrame->format; +} + +int32_t +MediaAudio::getNumSamples() { + return mFrame->nb_samples; +} +void +MediaAudio::setNumSamples(int32_t numSamples) { + if (numSamples <= 0 || numSamples > getMaxNumSamples()) { + VS_THROW(HumbleInvalidArgument("invalid number of samples to put in this MediaAudio object")); + } + mFrame->nb_samples = numSamples; +} + + +bool +MediaAudio::isComplete() { + return mComplete && mFrame->nb_samples > 0; +} + +bool +MediaAudio::isKey() { + return mFrame->key_frame; +} + +bool +MediaAudio::isPlanar() { + return AudioFormat::isPlanar((AudioFormat::Type) mFrame->format); +} + +AudioChannel::Layout +MediaAudio::getChannelLayout() { + return (AudioChannel::Layout) av_frame_get_channel_layout(mFrame); +} + +AVFrame* +MediaAudio::getCtx() { + return mFrame; +} + +void +MediaAudio::setBufferType(AudioFormat::Type format, + Buffer* buffer) +{ + if (!buffer) + VS_THROW(HumbleInvalidArgument("no buffer passed in")); + switch(format) + { + case AudioFormat::SAMPLE_FMT_DBL: + case AudioFormat::SAMPLE_FMT_DBLP: + buffer->setType(Buffer::BUFFER_DBL64); + break; + case AudioFormat::SAMPLE_FMT_FLT: + case AudioFormat::SAMPLE_FMT_FLTP: + buffer->setType(Buffer::BUFFER_FLT32); + break; + case AudioFormat::SAMPLE_FMT_S16: + case AudioFormat::SAMPLE_FMT_S16P: + buffer->setType(Buffer::BUFFER_SINT16); + break; + case AudioFormat::SAMPLE_FMT_S32: + case AudioFormat::SAMPLE_FMT_S32P: + buffer->setType(Buffer::BUFFER_SINT32); + break; + case AudioFormat::SAMPLE_FMT_U8: + case AudioFormat::SAMPLE_FMT_U8P: + buffer->setType(Buffer::BUFFER_UINT8); + break; + default: + break; + } +} + +int64_t +MediaAudio::logMetadata(char* buffer, size_t len) +{ + RefPointer tb = getTimeBase(); + char pts[48]; + if (getPts() == Global::NO_PTS) { + snprintf(pts, sizeof(pts), "NONE"); + } else + snprintf(pts, sizeof(pts), "%" PRId64, getPts()); + + return snprintf(buffer, len, + "MediaAudio@%p:[pts:%s;tb:%" PRId64 "/%" PRId64 ";sr:%" PRId64 ";ch:%" PRId64 ";fo:%" PRId64 ";co:%s;sam:%" PRId64 "]", + this, + pts, + (int64_t)(tb?tb->getNumerator():0), + (int64_t)(tb?tb->getDenominator():0), + (int64_t)getSampleRate(), + (int64_t)getChannels(), + (int64_t)getFormat(), + isComplete()?"true":"false", + (int64_t)getNumSamples() + ); } void diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.h index 83b2b472..17860fe0 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -236,6 +236,7 @@ VS_JNIUTILS_REFCOUNTED_OBJECT_PRIVATE_MAKE(AudioChannel) */ class VS_API_HUMBLEVIDEO AudioFormat : public virtual io::humble::ferry::RefCounted { + public: /** * The format we use to represent audio. @@ -374,7 +375,7 @@ class VS_API_HUMBLEVIDEO AudioFormat : public virtual io::humble::ferry::RefCoun */ class VS_API_HUMBLEVIDEO MediaAudio : public MediaSampled { - + VS_JNIUTILS_REFCOUNTED_OBJECT_PRIVATE_MAKE(MediaAudio) public: /** * Create a MediaAudio and the underlying data. Will allocate a buffer to back this data. @@ -438,7 +439,7 @@ class VS_API_HUMBLEVIDEO MediaAudio : public MediaSampled * @return The raw data, or null if not accessible. */ virtual io::humble::ferry::Buffer* - getData(int32_t plane)=0; + getData(int32_t plane); /** * The total number of bytes in #getData() that represent valid audio data. @@ -449,23 +450,23 @@ class VS_API_HUMBLEVIDEO MediaAudio : public MediaSampled * @return The size in bytes of that plane of audio data. */ virtual int32_t - getDataPlaneSize(int32_t plane)=0; + getDataPlaneSize(int32_t plane); /** Returns the number of data planes in this object. */ virtual int32_t - getNumDataPlanes()=0; + getNumDataPlanes(); /** * @return maximum of samples of #getChannels() #getFormat() audio that can be put in this MediaAudio object. */ virtual int32_t - getMaxNumSamples()=0; + getMaxNumSamples(); /** * @return the actual number of samples in this object */ virtual int32_t - getNumSamples()=0; + getNumSamples(); /** * Set the number of samples in the buffer. Must not be more than @@ -473,13 +474,13 @@ class VS_API_HUMBLEVIDEO MediaAudio : public MediaSampled * sure buffer actually matches this. */ virtual void - setNumSamples(int32_t numSamples)=0; + setNumSamples(int32_t numSamples); /** * Number of bytes in one sample of one channel of audio in this object. */ virtual int32_t - getBytesPerSample()=0; + getBytesPerSample(); /** * Call this if you modify the samples and are now done. This @@ -488,48 +489,115 @@ class VS_API_HUMBLEVIDEO MediaAudio : public MediaSampled * @param complete true if complete; false if not. */ virtual void - setComplete(bool complete)=0; + setComplete(bool complete); /** * Sample rate of audio, or 0 if unknown. */ virtual int32_t - getSampleRate()=0; + getSampleRate(); /** * Number of channels of audio in this object. */ virtual int32_t - getChannels()=0; + getChannels(); /** * Format of audio in this object. */ virtual AudioFormat::Type - getFormat()=0; + getFormat(); /** * Does this object have complete data? If not, other methods may return unknown. */ virtual bool - isComplete()=0; + isComplete(); /** * Was this audio decoded from a key packet? */ virtual bool - isKey()=0; + isKey(); /** * Is audio laid out in a planar format? */ virtual bool - isPlanar()=0; + isPlanar(); /** * What is the channel layout of the audio in this buffer? */ virtual AudioChannel::Layout - getChannelLayout() = 0; + getChannelLayout(); + + /** + * Returns the minimum next timestamp value that would be expected for audio that + * follows this packet. + * + * For example, if the timestamp of this audio is 1152, the sample rate is 22050, + * and the timebase is 1/44100, and + * getNumSamples() returns 576, getNextTimeStamp() will return 2304. + * + * @return the minimum timestamp of audio that must follow. + * + * @throws InvalidArgument if !isComplete(). + * + */ +// virtual int64_t getNextTimeStamp() = 0; + + /** + * Adds input audio to this object, copying up to X number of samples. + * + * It does NOT modify input in any way. If this object is !isComplete() then + * this is equivalent to copying the data into this object. If isComplete() then + * data will be copied on the end (and the buffers may get expanded). + * + * @param input Audio to copy from. Must not be null and must be complete(). + * @param numSamples Number of samples to copy. If 0, then all samples are copied. + * @param injectSilence If true, and input.getTimeStamp() > this.getNextTimeStamp(), + * then we attempt to inject silence to fill the gap. If false, + * we throw an exception if input is not contiguous to this object. + * + * @return Actual # of samples (per channel) copied. + * + * @throws InvalidArgument if null inputs, incomplete input audio, or numSamples < 0, or the timebases, + * sample rates, formats, or channel layouts are not the same. + * @throws InvalidArgument if input.getTimeStamp() < this.getNextTimeStamp() + * @throws OutOfBoundsException if injectSilence is false and input.getTimeStamp() > this.getNextTimeStamp(). + */ +// virtual int32_t push(MediaAudio* input, int32_t numSamples, bool injectSilence); + + /** + * "Pops" up to numSamples samples from this object and "pushes" them into output. + * + * @param output The audio to copy to. May not be null. If no exception thrown, output will be + * complete upon return. + * @param numSamples The maximum number of samples to copy. If 0, then we attempt to copy + * getNumSamples() to output. + * + * @return Actual # of samples (per channel) copied. + * + * @throws InvalidArgument if null output or numSamples < 0. + * + */ +// virtual int32_t pop(MediaAudio* output, int32_t numSamples); + +#ifndef SWIG + virtual AVFrame* getCtx(); + // Copies data from src into this context, first releasing any memory we have. + virtual void copy(AVFrame* src, bool complete); + virtual int64_t logMetadata(char *, size_t); +#endif protected: MediaAudio(); virtual ~MediaAudio(); +private: + static void + setBufferType(AudioFormat::Type format, + io::humble::ferry::Buffer* buffer); + + AVFrame* mFrame; + bool mComplete; + }; } /* namespace video */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.swg index 4bfa8a7b..188898d0 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudio.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioImpl.cpp deleted file mode 100644 index 0e7df5cf..00000000 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioImpl.cpp +++ /dev/null @@ -1,372 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * - * This file is part of Humble-Video. - * - * Humble-Video 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 3 of the License, or - * (at your option) any later version. - * - * Humble-Video 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 Humble-Video. If not, see . - *******************************************************************************/ -/* - * MediaAudioImpl.cpp - * - * Created on: Jul 12, 2013 - * Author: aclarke - */ - -#include "MediaAudioImpl.h" -#include "AVBufferSupport.h" -#include -#include -#include - -using namespace io::humble::ferry; - -VS_LOG_SETUP(VS_CPP_PACKAGE); - -namespace io { -namespace humble { -namespace video { - -MediaAudioImpl::MediaAudioImpl() { - mFrame = av_frame_alloc(); - if (!mFrame) throw std::bad_alloc(); - mFrame->opaque = this; - mComplete = false; -} - -MediaAudioImpl::~MediaAudioImpl() { - av_frame_free(&mFrame); -} - -MediaAudioImpl* -MediaAudioImpl::make(int32_t numSamples, int32_t sampleRate, int32_t channels, - AudioChannel::Layout layout, AudioFormat::Type format) { - if (numSamples <= 0) { - VS_THROW(HumbleInvalidArgument("No samples specified")); - } - if (channels <= 0) { - VS_THROW(HumbleInvalidArgument("No channels specified")); - } - if (format == AudioFormat::SAMPLE_FMT_NONE) { - VS_THROW(HumbleInvalidArgument("No audio format specified")); - } - - int32_t bufSize = av_samples_get_buffer_size(0, channels, numSamples, - (enum AVSampleFormat) format, 0); - RefPointer buffer = Buffer::make(0, bufSize); - MediaAudioImpl* retval = make(buffer.value(), numSamples, sampleRate, channels, layout, - format); - if (retval) buffer->setJavaAllocator(retval->getJavaAllocator()); - return retval; -} - -MediaAudioImpl* -MediaAudioImpl::make(io::humble::ferry::Buffer* buffer, int32_t numSamples, - int32_t sampleRate, - int32_t channels, AudioChannel::Layout layout, AudioFormat::Type format) { - if (numSamples <= 0) { - VS_THROW(HumbleInvalidArgument("No samples specified")); - } - if (channels <= 0) { - VS_THROW(HumbleInvalidArgument("No channels specified")); - } - if (sampleRate <= 0) { - VS_THROW(HumbleInvalidArgument("No sample rate specified")); - } - if (format == AudioFormat::SAMPLE_FMT_NONE) { - VS_THROW(HumbleInvalidArgument("No audio format specified")); - } - if (!buffer) { - VS_THROW(HumbleInvalidArgument("No audio buffer specified")); - } - if (layout != AudioChannel::CH_LAYOUT_UNKNOWN) { - // let's do a sanity check - if (channels != AudioChannel::getNumChannelsInLayout(layout)) { - VS_LOG_ERROR("Passed in channel layout does not match number of channels. Layout: %s. Expected Channels: %d. Actual Channels: %d", - AudioChannel::getLayoutName(layout), - AudioChannel::getNumChannelsInLayout(layout), - channels - ); - VS_THROW(HumbleInvalidArgument("Channel layout does not match number of channels")); - } - } - // get the required buf size - int32_t linesize = 0; - int32_t bufSize = av_samples_get_buffer_size(&linesize, channels, numSamples, - (enum AVSampleFormat) format, 0); - if (bufSize < buffer->getBufferSize()) { - VS_THROW(HumbleInvalidArgument("passed in buffer too small to fit requested num samples")); - } - - // By default we are always going to try and manage audio - // through Buffers, but we cannot guarantee that FFmpeg won't - // free them and replace them with their own objects, so we - // must let mFrame->buf[] and mFrame->extended_buf[] win. - RefPointer retval = make(); - AVFrame* frame = retval->mFrame; - av_frame_set_sample_rate(frame, sampleRate); - av_frame_set_channels(frame, channels); - av_frame_set_channel_layout(frame, layout); - frame->nb_samples = numSamples; - frame->format = format; - // we're going to tell the world this buffer now contains the right kind of data - setBufferType((AudioFormat::Type)frame->format, buffer); - - // now we have to layout the audio FFmpeg makes this hard if you pass - // in your own buffers. - bool planar = retval->isPlanar(); - int planes = planar ? channels : 1; - int ret; - - if (!frame->linesize[0]) { - frame->linesize[0] = linesize; - } - // now, let's fill all of those extended_data objects. - if (planes > AV_NUM_DATA_POINTERS) { - frame->extended_data = (uint8_t**) av_mallocz( - planes * sizeof(*frame->extended_data)); - frame->extended_buf = (AVBufferRef**) av_mallocz( - (planes - AV_NUM_DATA_POINTERS) * sizeof(*frame->extended_buf)); - if (!frame->extended_data || !frame->extended_buf) { - av_freep(&frame->extended_data); - av_freep(&frame->extended_buf); - VS_THROW(HumbleBadAlloc()); - } - frame->nb_extended_buf = planes - AV_NUM_DATA_POINTERS; - } else frame->extended_data = frame->data; - - // fill in the extended_data planes - uint8_t* buf = (uint8_t*) buffer->getBytes(0, bufSize); - ret = av_samples_fill_arrays(frame->extended_data, &frame->linesize[0], buf, - retval->getChannels(), numSamples, (enum AVSampleFormat) frame->format, - 0); - if (ret < 0) { - VS_THROW(HumbleRuntimeError("Could not layout all the audio data; fatal error")); - } - - // now create references to our one mega buffer in all other pointers - for (int32_t i = 0; i < FFMIN(planes, AV_NUM_DATA_POINTERS); i++) { - frame->data[i] = frame->extended_data[i]; - frame->buf[i] = AVBufferSupport::wrapBuffer(buffer, frame->extended_data[i], frame->linesize[0]); - } - // and add refs for the final buffers - for (int32_t i = 0; i < planes - AV_NUM_DATA_POINTERS; i++) { - frame->extended_buf[i] = AVBufferSupport::wrapBuffer(buffer, frame->extended_data[i+AV_NUM_DATA_POINTERS], frame->linesize[0]); - } - return retval.get(); -} - - -void -MediaAudioImpl::copy(AVFrame* src, bool complete) { - if (!src) - VS_THROW(HumbleInvalidArgument("no src")); - // release any memory we have - av_frame_unref(mFrame); - // and copy any data in. - av_frame_ref(mFrame, src); - RefPointer timeBase = getTimeBase(); - setTimeBase(timeBase.value()); - mComplete=complete; -} - -MediaAudioImpl* -MediaAudioImpl::make(MediaAudioImpl* src, bool copy) { - RefPointer retval; - - if (!src) VS_THROW(HumbleInvalidArgument("no src object to copy from")); - - if (copy) { - // first create a new mediaaudio object to copy into - retval = make(src->getMaxNumSamples(), - src->getSampleRate(), - src->getChannels(), - src->getChannelLayout(), - src->getFormat()); - - retval->setNumSamples(src->getNumSamples()); - retval->setTimeStamp(src->getTimeStamp()); - // then copy the data into retval - int32_t n = src->getNumDataPlanes(); - for(int32_t i = 0; i < n; i++ ) - { - AVBufferRef* dstBuf = av_frame_get_plane_buffer(retval->mFrame, i); - AVBufferRef* srcBuf = av_frame_get_plane_buffer(src->mFrame, i); - VS_ASSERT(dstBuf, "should always have buffer"); - VS_ASSERT(srcBuf, "should always have buffer"); - memcpy(dstBuf->data, srcBuf->data, srcBuf->size); - } - } else { - // first create a new media audio object to reference into - retval = make(); - - // then do the reference - av_frame_ref(retval->mFrame, src->mFrame); - } - // copy the items not embedded in the frame - retval->setComplete(src->isComplete()); - RefPointer timeBase = src->getTimeBase(); - retval->setTimeBase(timeBase.value()); - - return retval.get(); -} - -io::humble::ferry::Buffer* -MediaAudioImpl::getData(int32_t plane) { - // we get the buffer for the given plane if it exists, and wrap - // it in an Buffer - if (plane < 0) { - VS_THROW(HumbleInvalidArgument("plane must be >= 0")); - } - - if (plane >= getNumDataPlanes()) { - VS_THROW(HumbleInvalidArgument("plane must be < getNumDataPlane()")); - } - - // now we're guaranteed that we should have a plane. - RefPointer buffer; - if (plane < AV_NUM_DATA_POINTERS) buffer = mFrame->buf[plane] ? AVBufferSupport::wrapAVBuffer(this, - mFrame->buf[plane], mFrame->extended_data[plane], mFrame->linesize[0]) : 0; - else buffer = mFrame->extended_buf[plane-AV_NUM_DATA_POINTERS] ? AVBufferSupport::wrapAVBuffer(this, - mFrame->extended_buf[plane - AV_NUM_DATA_POINTERS], mFrame->extended_data[plane], mFrame->linesize[0]) : 0; - if (buffer) - setBufferType((AudioFormat::Type)mFrame->format, buffer.value()); - return buffer.get(); -} - -int32_t -MediaAudioImpl::getDataPlaneSize(int32_t plane) { - int32_t n = getNumDataPlanes(); - if (plane < 0 || plane >= n) - VS_THROW(HumbleInvalidArgument("plane is out of range")); - if (isComplete()) - return getNumSamples()*AudioFormat::getBytesPerSample(getFormat())*(isPlanar()? 1 : getChannels()); - else - // oddly for audio, each plane in multiplane audio must - // be the same as linesize[0] and sometimes ffmpeg - // doesn't copy all that data in. - return mFrame->linesize[0]; -} - -int32_t -MediaAudioImpl::getNumDataPlanes() { - if (isPlanar()) return av_frame_get_channels(mFrame); - else return 1; -} - -int32_t -MediaAudioImpl::getMaxNumSamples() { - int32_t bytesPerSample = AudioFormat::getBytesPerSample(getFormat()); - int32_t size = bytesPerSample ? mFrame->linesize[0] / bytesPerSample : 0; - return size; -} - -int32_t -MediaAudioImpl::getBytesPerSample() { - return AudioFormat::getBytesPerSample((AudioFormat::Type) mFrame->format); -} - -void -MediaAudioImpl::setComplete(bool complete) { - mComplete = complete; -} - -int32_t -MediaAudioImpl::getSampleRate() { - return av_frame_get_sample_rate(mFrame); -} - -int32_t -MediaAudioImpl::getChannels() { - return av_frame_get_channels(mFrame); -} - -AudioFormat::Type -MediaAudioImpl::getFormat() { - return (AudioFormat::Type) mFrame->format; -} - -int32_t -MediaAudioImpl::getNumSamples() { - return mFrame->nb_samples; -} -void -MediaAudioImpl::setNumSamples(int32_t numSamples) { - if (numSamples <= 0 || numSamples > getMaxNumSamples()) { - VS_THROW(HumbleInvalidArgument("invalid number of samples to put in this MediaAudio object")); - } - mFrame->nb_samples = numSamples; -} - - -bool -MediaAudioImpl::isComplete() { - return mComplete && mFrame->nb_samples > 0; -} - -bool -MediaAudioImpl::isKey() { - return mFrame->key_frame; -} - -bool -MediaAudioImpl::isPlanar() { - return AudioFormat::isPlanar((AudioFormat::Type) mFrame->format); -} - -AudioChannel::Layout -MediaAudioImpl::getChannelLayout() { - return (AudioChannel::Layout) av_frame_get_channel_layout(mFrame); -} - -AVFrame* -MediaAudioImpl::getCtx() { - return mFrame; -} - -void -MediaAudioImpl::setBufferType(AudioFormat::Type format, - Buffer* buffer) -{ - if (!buffer) - VS_THROW(HumbleInvalidArgument("no buffer passed in")); - switch(format) - { - case AudioFormat::SAMPLE_FMT_DBL: - case AudioFormat::SAMPLE_FMT_DBLP: - buffer->setType(Buffer::BUFFER_DBL64); - break; - case AudioFormat::SAMPLE_FMT_FLT: - case AudioFormat::SAMPLE_FMT_FLTP: - buffer->setType(Buffer::BUFFER_FLT32); - break; - case AudioFormat::SAMPLE_FMT_S16: - case AudioFormat::SAMPLE_FMT_S16P: - buffer->setType(Buffer::BUFFER_SINT16); - break; - case AudioFormat::SAMPLE_FMT_S32: - case AudioFormat::SAMPLE_FMT_S32P: - buffer->setType(Buffer::BUFFER_SINT32); - break; - case AudioFormat::SAMPLE_FMT_U8: - case AudioFormat::SAMPLE_FMT_U8P: - buffer->setType(Buffer::BUFFER_UINT8); - break; - default: - break; - } -} - -} /* namespace video */ -} /* namespace humble */ -} /* namespace io */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioImpl.h deleted file mode 100644 index 28da2678..00000000 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioImpl.h +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * - * This file is part of Humble-Video. - * - * Humble-Video 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 3 of the License, or - * (at your option) any later version. - * - * Humble-Video 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 Humble-Video. If not, see . - *******************************************************************************/ -/* - * MediaAudioImpl.h - * - * Created on: Jul 12, 2013 - * Author: aclarke - */ - -#ifndef MEDIAAUDIOIMPL_H_ -#define MEDIAAUDIOIMPL_H_ - -#include "MediaAudio.h" - -namespace io { -namespace humble { -namespace video { - -class MediaAudioImpl : public io::humble::video::MediaAudio -{ - VS_JNIUTILS_REFCOUNTED_OBJECT_PRIVATE_MAKE(MediaAudioImpl) -public: - static MediaAudioImpl* - make(int32_t numSamples, int32_t sampleRate, int32_t channels, AudioChannel::Layout channelLayout, - AudioFormat::Type format); - - static MediaAudioImpl* - make(io::humble::ferry::Buffer *buffer, int32_t numSamples, int32_t sampleRate, int32_t channels, - AudioChannel::Layout channelLayout, AudioFormat::Type format); - - static MediaAudioImpl* - make(MediaAudioImpl* src, bool copy); - - virtual io::humble::ferry::Buffer* - getData(int32_t plane); - - virtual int32_t - getDataPlaneSize(int32_t plane); - - virtual int32_t - getNumDataPlanes(); - - virtual int32_t - getMaxNumSamples(); - - virtual int32_t - getBytesPerSample(); - - virtual void - setComplete(bool); - - virtual int32_t - getSampleRate(); - - virtual int32_t - getChannels(); - - virtual AudioFormat::Type - getFormat(); - - virtual bool - isComplete(); - - virtual bool - isKey(); - - virtual bool - isPlanar(); - - virtual AudioChannel::Layout getChannelLayout(); - - virtual int32_t - getNumSamples(); - - virtual void - setNumSamples(int32_t numSamples); - - virtual AVFrame* getCtx(); - // Copies data from src into this context, first releasing any memory we have. - virtual void copy(AVFrame* src, bool complete); -protected: - MediaAudioImpl(); - virtual - ~MediaAudioImpl(); -private: - static void - setBufferType(AudioFormat::Type format, - io::humble::ferry::Buffer* buffer); - - AVFrame* mFrame; - bool mComplete; -}; - -} /* namespace video */ -} /* namespace humble */ -} /* namespace io */ -#endif /* MEDIAAUDIOIMPL_H_ */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.cpp index c7bbd2d5..40a9ed47 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include "MediaAudioResampler.h" using namespace io::humble::ferry; @@ -36,7 +36,7 @@ namespace io { namespace humble { namespace video { -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.MediaAudioResampler); MediaAudioResampler::MediaAudioResampler() { mCtx = swr_alloc(); @@ -84,7 +84,7 @@ MediaAudioResampler::make(AudioChannel::Layout outLayout, int32_t outSampleRate, // find the LCM of the input and output sample rates int64_t gcd = av_gcd(inSampleRate, outSampleRate); int64_t lcm = inSampleRate / gcd * outSampleRate; - if (lcm > INT32_MAX) { + if (lcm > LONG_MAX) { VS_LOG_INFO("LCM of input and output sample rates is greater than can be fit in a 32-bit value"); } retval->mTimeBase = Rational::make(1, (int32_t)lcm); @@ -185,9 +185,18 @@ MediaAudioResampler::setTimeBase(Rational* tb) { } int32_t -MediaAudioResampler::resample(MediaAudio* aOut, MediaAudio* aIn) { - MediaAudioImpl* out = dynamic_cast(aOut); - MediaAudioImpl* in = dynamic_cast(aIn); +MediaAudioResampler::resample(MediaSampled* aOut, MediaSampled*aIn) +{ + MediaAudio* out = dynamic_cast(aOut); + MediaAudio* in = dynamic_cast(aIn); + if (aOut && !out) + VS_THROW(HumbleInvalidArgument("out must be a MediaAudio object")); + if (aIn && !in) + VS_THROW(HumbleInvalidArgument("out must be a MediaAudio object")); + return resampleAudio(out, in); +} +int32_t +MediaAudioResampler::resampleAudio(MediaAudio* out, MediaAudio* in) { if (mState != STATE_OPENED) VS_THROW(HumbleRuntimeError("Must call open() on resampler before using")); @@ -229,7 +238,7 @@ MediaAudioResampler::resample(MediaAudio* aOut, MediaAudio* aIn) { } // now convert the new PTS back to the right timebase outFrame->pts = Rational::rescale( - getNextPts(inputTs == Global::NO_PTS ? INT64_MIN : inputTs), + getNextPts(inputTs == Global::NO_PTS ? LONG_LONG_MIN : inputTs), mTimeBase->getNumerator(), mTimeBase->getDenominator(), 1, getInputSampleRate() * getOutputSampleRate(), Rational::ROUND_DOWN); @@ -247,6 +256,22 @@ MediaAudioResampler::resample(MediaAudio* aOut, MediaAudio* aIn) { } outFrame->nb_samples = retval; out->setComplete(retval > 0); +#ifdef VS_DEBUG + { + char inDescr[256]; + char outDescr[256]; + if (in) + in->logMetadata(inDescr, sizeof(inDescr)); + else + *inDescr = 0; + if (out) + out->logMetadata(outDescr, sizeof(outDescr)); + else + *outDescr = 0; + VS_LOG_TRACE("resample MediaAudioResampler@%p[out:%s;in:%s;]", this, outDescr, inDescr); + + } +#endif return retval; } diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.h index 78328fbb..cb9d4a83 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -26,7 +26,7 @@ #ifndef MEDIAAUDIORESAMPLER_H_ #define MEDIAAUDIORESAMPLER_H_ -#include +#include #include namespace io { @@ -37,7 +37,7 @@ namespace video { * A MediaAudioResampler object resamples MediaAudio objects from * one format/sample-rate/channel-layout to another. */ -class VS_API_HUMBLEVIDEO MediaAudioResampler : public io::humble::video::Configurable +class VS_API_HUMBLEVIDEO MediaAudioResampler : public io::humble::video::MediaResampler { public: /** @@ -109,7 +109,8 @@ class VS_API_HUMBLEVIDEO MediaAudioResampler : public io::humble::video::Configu * @throws RuntimeError if we get an error or InvalidArgument if the attributes of * in or out do not match what this resampler expected. */ - virtual int32_t resample(MediaAudio* out, MediaAudio* in); + virtual int32_t resample(MediaSampled* out, MediaSampled* in); + virtual int32_t resampleAudio(MediaAudio* out, MediaAudio* in); /** * Convert the next timestamp from input to output @@ -217,11 +218,6 @@ class VS_API_HUMBLEVIDEO MediaAudioResampler : public io::humble::video::Configu */ virtual void setTimeBase(Rational* rational); - typedef enum State { - STATE_INITED, - STATE_OPENED, - STATE_ERROR - } State; virtual State getState() { return mState; } protected: void* getCtx() { return mCtx; } diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.swg index 4450f109..94ca7043 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaAudioResampler.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.cpp index 5372d570..64b45612 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.h index 100ecb0b..fc8dc158 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -23,6 +23,7 @@ #include #include #include +#include namespace io { namespace humble { @@ -299,7 +300,7 @@ class VS_API_HUMBLEVIDEO MediaPacket : public io::humble::video::MediaEncoded /** * Get the container-specific index for the stream this packet is * part of. - * @return Stream in container that this packet has data for. + * @return Stream in container that this packet has data for, or <0 if unsure. */ virtual int32_t getStreamIndex()=0; @@ -422,12 +423,25 @@ class VS_API_HUMBLEVIDEO MediaPacket : public io::humble::video::MediaEncoded *

* @param payloadSize The (minimum) payloadSize of this packet in bytes. It is ok to * pass in 0 here, in which case the packet will later allocate memory if needed. - * - * @return >= 0 if successful. < 0 if error. */ - virtual int32_t + virtual void reset(int32_t payloadSize)=0; +#ifndef SWIG + + // do not return this via SWIG. Instead we will need to make a helper + // method that casts this to a Decoder or an Encoder, and then casts + // it back up from Java. + + /** + * Gets the Coder* that made this packet. + * + * @return the coder if known, or null if not. + */ + virtual Coder* + getCoder()=0; +#endif + protected: MediaPacket(); virtual diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.swg index 5139644b..0478388f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacket.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.cpp index 04e392c7..5c8d90ac 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -28,7 +28,7 @@ #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.MediaPacket); using namespace io::humble::ferry; @@ -44,6 +44,8 @@ namespace io { namespace humble { namespace video { // initialize because ffmpeg doesn't mPacket->data = 0; mPacket->size = 0; + // set this to -1 if it's not set. + mPacket->stream_index = -1; mIsComplete = false; } @@ -205,46 +207,49 @@ namespace io { namespace humble { namespace video { { RefPointer retval; RefPointer timeBase; + RefPointer coder; if (!packet) { VS_THROW(HumbleInvalidArgument("no packet")); } - // use the nice copy method. - retval = make(); - int32_t r = av_copy_packet(retval->mPacket, packet->mPacket); - FfmpegException::check(r, "could not copy packet "); - int32_t numBytes = packet->getSize(); - if (copyData && numBytes > 0) - { - if (!retval || !retval->mPacket || !retval->mPacket->data) { - VS_THROW(HumbleBadAlloc()); - } + // use the nice copy method. + retval = make(); + int32_t r = av_copy_packet(retval->mPacket, packet->mPacket); + FfmpegException::check(r, "could not copy packet "); + int32_t numBytes = packet->getSize(); + if (copyData && numBytes > 0) + { + if (!retval || !retval->mPacket || !retval->mPacket->data) { + VS_THROW(HumbleBadAlloc()); + } - // we don't just want to reference count the data -- we want - // to copy it. So we're going to create a new copy. - RefPointer copy = Buffer::make(retval.value(), numBytes + FF_INPUT_BUFFER_PADDING_SIZE); - uint8_t* data = (uint8_t*)copy->getBytes(0, numBytes); + // we don't just want to reference count the data -- we want + // to copy it. So we're going to create a new copy. + RefPointer copy = Buffer::make(retval.value(), numBytes + FF_INPUT_BUFFER_PADDING_SIZE); + uint8_t* data = (uint8_t*)copy->getBytes(0, numBytes); - // copy the data into our Buffer backed data - memcpy(data, packet->mPacket->data, - numBytes); + // copy the data into our Buffer backed data + memcpy(data, packet->mPacket->data, + numBytes); - // now, release the reference currently in the packet - if (retval->mPacket->buf) - av_buffer_unref(&retval->mPacket->buf); - retval->mPacket->buf = AVBufferSupport::wrapBuffer(copy.value()); - // and set the data member to the copy - retval->mPacket->data = retval->mPacket->buf->data; - retval->mPacket->size = numBytes; + // now, release the reference currently in the packet + if (retval->mPacket->buf) + av_buffer_unref(&retval->mPacket->buf); + retval->mPacket->buf = AVBufferSupport::wrapBuffer(copy.value()); + // and set the data member to the copy + retval->mPacket->data = retval->mPacket->buf->data; + retval->mPacket->size = numBytes; - } - // separate here to catch addRef() - timeBase = packet->getTimeBase(); - retval->setTimeBase(timeBase.value()); + } + // separate here to catch addRef() + timeBase = packet->getTimeBase(); + retval->setTimeBase(timeBase.value()); + coder = packet->getCoder(); + retval->setCoder(coder.value()); + + retval->setComplete(retval->mPacket->size > 0, + retval->mPacket->size); - retval->setComplete(retval->mPacket->size > 0, - retval->mPacket->size); - return retval.get(); } @@ -256,16 +261,21 @@ namespace io { namespace humble { namespace video { } - int32_t + void MediaPacketImpl::reset(int32_t payloadSize) { + int32_t e=-1; av_free_packet(mPacket); if (payloadSize > 0) - return av_new_packet(mPacket, payloadSize); + e = av_new_packet(mPacket, payloadSize); else { av_init_packet(mPacket); - return 0; + e = 0; } + FfmpegException::check(e, "Could not reset packet."); + + // set this to -1 if it's not set. + mPacket->stream_index = -1; } void @@ -297,7 +307,7 @@ namespace io { namespace humble { namespace video { bool MediaPacketImpl::isComplete() { - return mIsComplete && mPacket->data; + return mIsComplete && mPacket->data && mPacket->size; } int64_t @@ -346,5 +356,42 @@ namespace io { namespace humble { namespace video { throw HumbleRuntimeError("no data where data expected"); return (MediaPacket::SideDataType)mPacket->side_data[n].type; } + Coder* + MediaPacketImpl::getCoder() { + return mCoder.get(); + } + void + MediaPacketImpl::setCoder(Coder* coder) { + mCoder.reset(coder, true); + } + int64_t + MediaPacketImpl::logMetadata(char* buffer, size_t len) + { + char pts[48]; + if (getPts() == Global::NO_PTS) { + snprintf(pts, sizeof(pts), "NONE"); + } else + snprintf(pts, sizeof(pts), "%" PRId64 "", getPts()); + char dts[48]; + if (getDts() == Global::NO_PTS) { + snprintf(dts, sizeof(dts), "NONE"); + } else + snprintf(dts, sizeof(dts), "%" PRId64 "", getDts()); + + return snprintf(buffer, len, + "MediaPacket@%p:[i:%" PRId64 ";pts:%s;dts:%s;dur:%" PRId64 ";tb:%" PRId64 "/%" PRId64 ";coder:%p;co:%s;key:%s;size:%" PRId64 "]", + this, + (int64_t)getStreamIndex(), + pts, + dts, + (int64_t)getDuration(), + (int64_t)(mTimeBase.value()?mTimeBase->getNumerator():0), + (int64_t)(mTimeBase.value()?mTimeBase->getDenominator():0), + mCoder.value(), + isComplete()?"true":"false", + isKey()?"true":"false", + (int64_t)getSize() + ); + } }}} diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.h index 25b57d99..f20e9749 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPacketImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -65,7 +65,7 @@ class VS_API_HUMBLEVIDEO MediaPacketImpl : public io::humble::video::MediaPacket virtual int64_t getDuration(); virtual int64_t getPosition(); virtual io::humble::ferry::Buffer* getData(); - virtual int32_t reset(int32_t payloadSize); + virtual void reset(int32_t payloadSize); virtual bool isComplete(); virtual void setKeyPacket(bool keyPacket); @@ -84,6 +84,8 @@ class VS_API_HUMBLEVIDEO MediaPacketImpl : public io::humble::video::MediaPacket virtual io::humble::ferry::Buffer* getSideData(int32_t n); virtual SideDataType getSideDataType(int32_t n); + virtual Coder* getCoder(); + virtual void setCoder(Coder*); #ifndef SWIG AVPacket *getCtx() { return mPacket; } /* @@ -94,6 +96,8 @@ class VS_API_HUMBLEVIDEO MediaPacketImpl : public io::humble::video::MediaPacket */ void wrapAVPacket(AVPacket* pkt); void wrapBuffer(io::humble::ferry::Buffer *buffer); + virtual int64_t logMetadata(char* buffer, size_t len); + #endif // ! SWIG protected: @@ -102,6 +106,7 @@ class VS_API_HUMBLEVIDEO MediaPacketImpl : public io::humble::video::MediaPacket private: AVPacket* mPacket; io::humble::ferry::RefPointer mTimeBase; + io::humble::ferry::RefPointer mCoder; bool mIsComplete; }; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.cpp index d7a5fff4..9a5be8ec 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.h index f04c2c28..854fae2c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.swg index 1e7f4de9..be146f4f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPicture.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.cpp index ffe06a3f..996242e3 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -32,7 +32,7 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.MediaPicture); namespace io { namespace humble { @@ -184,6 +184,10 @@ MediaPictureImpl::make(MediaPictureImpl* src, bool copy) { retval->mComplete = src->mComplete; av_frame_ref(retval->mFrame, src->mFrame); } + // set the timebase + retval->setComplete(src->isComplete()); + RefPointer timeBase = src->getTimeBase(); + retval->setTimeBase(timeBase.value()); return retval.get(); } void @@ -255,6 +259,30 @@ MediaPictureImpl::getNumDataPlanes() { return i; } +int64_t +MediaPictureImpl::logMetadata(char* buffer, size_t len) +{ + RefPointer tb = getTimeBase(); + char pts[48]; + if (getPts() == Global::NO_PTS) { + snprintf(pts, sizeof(pts), "NONE"); + } else + snprintf(pts, sizeof(pts), "%" PRId64, getPts()); + + return snprintf(buffer, len, + "MediaPictureo@%p:[pts:%s;tb:%" PRId64 "/%" PRId64 ";w:%" PRId64 ";h:%" PRId64 ";fo:%" PRId64 ";co:%s]", + this, + pts, + (int64_t)(tb?tb->getNumerator():0), + (int64_t)(tb?tb->getDenominator():0), + (int64_t)getWidth(), + (int64_t)getHeight(), + (int64_t)getFormat(), + isComplete()?"true":"false" + ); +} + + } /* namespace video */ } /* namespace humble */ } /* namespace io */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.h index 1df0d318..41b66f4c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -136,6 +136,7 @@ VS_JNIUTILS_REFCOUNTED_OBJECT_PRIVATE_MAKE(MediaPictureImpl) getCtx() { return mFrame; } + virtual int64_t logMetadata(char*, size_t); protected: MediaPictureImpl(); virtual diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.cpp index 640613c5..fb0c27bc 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.cpp @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.h index bc9c1f70..721abdcd 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.h @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef MEDIAPICTURERESAMPLER_H_ #define MEDIAPICTURERESAMPLER_H_ @@ -23,9 +23,10 @@ #include #include #include -#include +#include #include + namespace io { namespace humble { namespace video { @@ -33,7 +34,7 @@ namespace io { namespace humble { namespace video * Converts MediaPicture objects of a given width, height and format to a new * width, height or format. */ -class VS_API_HUMBLEVIDEO MediaPictureResampler : public io::humble::video::Configurable +class VS_API_HUMBLEVIDEO MediaPictureResampler : public io::humble::video::MediaResampler { public: typedef enum Flag { @@ -59,13 +60,6 @@ class VS_API_HUMBLEVIDEO MediaPictureResampler : public io::humble::video::Confi FLAG_ERROR_DIFFUSION = SWS_ERROR_DIFFUSION, } Flag; - typedef enum State { - STATE_INITED, - STATE_OPENED, - STATE_ERROR - } State; - virtual State getState()=0; - /** Get the width in pixels we expect on the input frame to the resampler. * @return The width we expect on the input frame to the resampler. */ @@ -120,7 +114,11 @@ class VS_API_HUMBLEVIDEO MediaPictureResampler : public io::humble::video::Confi * @throws InvalidArgument if in our out does not match the parameters this * resampler was set with. */ - virtual void resample(MediaPicture *out, MediaPicture *in)=0; + virtual int32_t resample(MediaSampled *out, MediaSampled *in)=0; + /** + * A more precisely typed way to call #resample + */ + virtual int32_t resamplePicture(MediaPicture *out, MediaPicture *in)=0; /** * Get a new picture resampler. diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.swg index ae20fc9f..0d8763c1 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResampler.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.cpp index 82344983..d8c93d30 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.cpp @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include @@ -26,7 +26,7 @@ #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.MediaPictureResampler); using namespace io::humble::ferry; @@ -92,8 +92,21 @@ void MediaPictureResamplerImpl::open() { mState = STATE_OPENED; } -void -MediaPictureResamplerImpl :: resample(MediaPicture* pOutFrame, MediaPicture* pInFrame) + +int32_t +MediaPictureResamplerImpl::resample(MediaSampled* aOut, MediaSampled* aIn) +{ + MediaPicture* out = dynamic_cast(aOut); + MediaPicture* in = dynamic_cast(aIn); + if (aOut && !out) + VS_THROW(HumbleInvalidArgument("out must be a MediaPicture object")); + if (aIn && !in) + VS_THROW(HumbleInvalidArgument("in must be a MediaPicture object")); + return resamplePicture(out, in); +} + +int32_t +MediaPictureResamplerImpl :: resamplePicture(MediaPicture* pOutFrame, MediaPicture* pInFrame) { int32_t retval = -1; if (mState != STATE_OPENED) { @@ -132,11 +145,15 @@ MediaPictureResamplerImpl :: resample(MediaPicture* pOutFrame, MediaPicture* pIn FfmpegException::check(retval, "Error while resampling. "); + outFrame->setTimeStamp(inFrame->getTimeStamp()); + RefPointer timeBase = inFrame->getTimeBase(); outFrame->setTimeBase(timeBase.value()); + outFrame->setQuality(inFrame->getQuality()); outFrame->setComplete(retval >= 0); + return retval; } MediaPictureResamplerImpl* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.h index 83a8e3ab..7f5d4b96 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaPictureResamplerImpl.h @@ -1,21 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * + * * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - */ + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef MEDIAPICTURERESAMPLERIMPL_H_ #define MEDIAPICTURERESAMPLERIMPL_H_ @@ -47,7 +47,8 @@ virtual int32_t getOutputHeight(); virtual PixelFormat::Type getOutputFormat(); virtual void open(); -virtual void resample(MediaPicture *pOutFrame, MediaPicture *pInFrame); +virtual int32_t resample(MediaSampled *pOutFrame, MediaSampled *pInFrame); +virtual int32_t resamplePicture(MediaPicture *pOutFrame, MediaPicture *pInFrame); virtual State getState() { return mState; } static MediaPictureResamplerImpl* make( diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.cpp index 1be17a26..10821b06 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -39,17 +39,6 @@ MediaRaw::getMetaData() void MediaRaw::setTimeBase(Rational* timeBase) { - setTimeBase(timeBase, Rational::ROUND_DOWN); -} - -void -MediaRaw::setTimeBase(Rational* timeBase, Rational::Rounding rounding) -{ - int64_t timeStamp = getTimeStamp(); - if (timeBase && timeStamp != Global::NO_PTS && mTimeBase.value()) { - timeStamp = timeBase->rescale(timeStamp, mTimeBase.value(), rounding); - setTimeStamp(timeStamp); - } mTimeBase.reset(timeBase, true); } diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.h index 45725c9f..ae55e02d 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -120,19 +120,11 @@ class VS_API_HUMBLEVIDEO MediaRaw: public io::humble::video::Media /** * Sets the timebase on this object. * - * If the object has a timestamp, then it is automatically rescaled to the new timebase. - * By default the timestamp will be rounded down if there is any fractional component - * after the rebasing. + * Note: This will NOT automatically rescale the timestamp set -- so if you change + * the timebase, you almost definitely want to change the timestamp as well. */ virtual void setTimeBase(Rational* timeBase); - /** - * Sets the timbase on this object. - * - * If the object has a timestamp, then it is automatically rescaled (with the - * given rounding parameter) to the new timebase. - */ - virtual void setTimeBase(Rational* timeBase, Rational::Rounding rounding); #ifndef SWIG virtual AVFrame *getCtx()=0; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.swg index 09d379e9..42ff5fa3 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaRaw.swg @@ -4,20 +4,22 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ %typemap (javacode) io::humble::video::MediaRaw,io::humble::video::MediaRaw*,io::humble::video::MediaRaw& %{ %} +%typemap (javacode) io::humble::video::MediaRaw,io::humble::video::MediaSampled*,io::humble::video::MediaSampled& %{ +%} %include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaResampler.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaResampler.cpp new file mode 100644 index 00000000..fe6f4a43 --- /dev/null +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaResampler.cpp @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ +/* + * MediaResampler.cpp + * + * Created on: Jul 26, 2014 + * Author: aclarke + */ + +#include "MediaResampler.h" + +namespace io { +namespace humble { +namespace video { + +MediaResampler::MediaResampler() { + +} + +MediaResampler::~MediaResampler() { +} + +} /* namespace video */ +} /* namespace humble */ +} /* namespace io */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaResampler.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaResampler.h new file mode 100644 index 00000000..3b1b7dc8 --- /dev/null +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaResampler.h @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ +/* + * MediaResampler.h + * + * Created on: Jul 26, 2014 + * Author: aclarke + */ + +#ifndef MEDIARESAMPLER_H_ +#define MEDIARESAMPLER_H_ + +#include +#include +#include + +namespace io { +namespace humble { +namespace video { + +/** + * Super class for Media Resampler objects. + * + * A resampler converts a type of media (e.g. Picture) to another + * type of the same media with some parameters change (e.g. color). + */ +class VS_API_HUMBLEVIDEO MediaResampler : public io::humble::video::Configurable +{ +public: + typedef enum State { + STATE_INITED, + STATE_OPENED, + STATE_ERROR + } State; + virtual State getState()=0; + + /** + * Resample in to out based on the resampler parameters. + * + * Resamples the in media based on the parameters set when + * this resampler was constructed. + * + * @param out The media we'll resample to. Check + * MediaSampled#isComplete() after the call. + * @param in The media we'll resample from. + * + * @throws InvalidArgument if in our out does not match the parameters this + * resampler was set with. + * @throws InvalidArgument if the sub-class of in our out is of an invalid + * type (e.g. passsing audio to a picture resampler). + */ + virtual int32_t resample(MediaSampled* out, MediaSampled* in)=0; + +protected: + MediaResampler(); + virtual + ~MediaResampler(); +}; + +} /* namespace video */ +} /* namespace humble */ +} /* namespace io */ +#endif /* MEDIARESAMPLER_H_ */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.cpp index 9e8a75c8..dff673c0 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -26,9 +26,14 @@ #include "MediaSubtitle.h" #include "MediaSubtitleImpl.h" #include +#include +#include + using namespace io::humble::ferry; +VS_LOG_SETUP(VS_CPP_PACKAGE.MediaSubtitle); + namespace io { namespace humble { namespace video { @@ -91,6 +96,12 @@ MediaSubtitleRectangle::getPictureData(int line) return retval.get(); } +int64_t +MediaSubtitle::logMetadata(char * buffer, size_t len) { + VS_THROW(HumbleRuntimeError("NOT IMPLEMENTED")); + return snprintf(buffer, len, "NOT IMPLEMENTED"); +} + } /* namespace video */ } /* namespace humble */ } /* namespace io */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.h index cbf0e54d..9a4478eb 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -102,7 +102,8 @@ class MediaSubtitle : public io::humble::video::MediaRaw virtual void setComplete(bool complete) { setComplete(complete, Global::NO_PTS); } #ifndef SWIG - virtual AVFrame *getCtx() { return 0; } + virtual AVFrame *getCtx() { return 0; } + virtual int64_t logMetadata(char* buffer, size_t len); #endif protected: MediaSubtitle(); diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.swg index fcf19355..00faf106 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitle.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.cpp index d3421d1d..9555b125 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.h index 55b2b4a6..f662a604 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MediaSubtitleImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Mingw64Fixes.c b/humble-video-native/src/main/gnu/src/io/humble/video/Mingw64Fixes.c index 5ba1fa95..74c48a67 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Mingw64Fixes.c +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Mingw64Fixes.c @@ -1,9 +1,22 @@ #ifdef VS_OS_WINDOWS -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the w64 mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.cpp index 3b47b883..ea0d4492 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -33,7 +33,7 @@ #include "KeyValueBagImpl.h" #include "MediaPacketImpl.h" -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Muxer); using namespace io::humble::ferry; using namespace io::humble::video::customio; @@ -42,6 +42,21 @@ namespace io { namespace humble { namespace video { +#if 0 +int32_t +Muxer::acquire() +{ + VS_LOG_DEBUG("muxer acquire: %p", this); + return RefCounted::acquire(); +} +int32_t +Muxer::release() +{ + VS_LOG_DEBUG("muxer release: %p", this); + return RefCounted::release(); +} +#endif // 0 + Muxer::Muxer(MuxerFormat* format, const char* filename, const char* formatName) { mState = STATE_INITED; @@ -81,6 +96,7 @@ Muxer::Muxer(MuxerFormat* format, const char* filename, filename, formatName)); } } + VS_LOG_TRACE("Created: %p", this); } Muxer::~Muxer() { @@ -97,6 +113,7 @@ Muxer::~Muxer() { } avformat_free_context(mCtx); } + VS_LOG_TRACE("Destroyed: %p", this); } Muxer* @@ -185,6 +202,22 @@ Muxer::open(KeyValueBag *aInputOptions, KeyValueBag* aOutputOptions) { FfmpegException::check(retval, "Error opening url: %s; ", url); } + int32_t numStreams = getNumStreams(); + if (numStreams < 0 && + !(ctx->ctx_flags & AVFMTCTX_NOHEADER)) + VS_THROW(io::humble::ferry::HumbleIOException("no streams added to muxer")); + + if (numStreams == 0) + { + RefPointer format = getFormat(); + if (format) + { + const char *shortName = format->getName(); + if (shortName && !strcmp(shortName, "mp3")) + VS_THROW(io::humble::ferry::HumbleIOException("no streams added to mp3 muxer")); + } + } + pushCoders(); /* Write the stream header, if any. */ retval = avformat_write_header(ctx, &tmp); @@ -203,6 +236,8 @@ Muxer::open(KeyValueBag *aInputOptions, KeyValueBag* aOutputOptions) { if (tmp) av_dict_free(&tmp); mState = STATE_OPENED; + // let's log the state of the world. + logOpen(this); } void @@ -245,6 +280,11 @@ Muxer::addNewStream(Coder* aCoder) { AVCodecContext* ctx = coder->getCodecCtx(); // right; got to find a codec tag for the id passed in. Suck. ctx->codec_tag = mFormat->getBestCodecTag(coder->getCodecID()); + + // not sure this is the right fix here + if (mFormat->getFlag(ContainerFormat::GLOBAL_HEADER)) + coder->setFlag(Coder::FLAG_GLOBAL_HEADER, true); + // and open the new decoder (dynamic_cast(coder.value()))->open(0, 0); @@ -258,6 +298,13 @@ Muxer::addNewStream(Coder* aCoder) { VS_THROW(HumbleInvalidArgument("cannot add MuxerStream after Muxer is opened")); } + if (mFormat->getFlag(ContainerFormat::GLOBAL_HEADER)) { + // the Codec must have the global header flag set. We'll throw an error if not. + if (!coder->getFlag(Coder::FLAG_GLOBAL_HEADER)) { + VS_THROW(HumbleInvalidArgument("this container requires a global header, and this Coder does not have the global header flag set")); + } + } + RefPointer r; AVFormatContext* ctx = getFormatCtx(); @@ -266,6 +313,10 @@ Muxer::addNewStream(Coder* aCoder) { if (!avStream) { VS_THROW(HumbleRuntimeError("Could not add new stream to container")); } + if (avStream->codec && !avStream->codec->codec) { + // fixes a memory leak on closing. + avStream->codec->codec = coder->getCodecCtx()->codec; + } // tell the container to update all the known streams. doSetupStreams(); // and set the coder for the given stream @@ -274,6 +325,16 @@ Muxer::addNewStream(Coder* aCoder) { stream->setCoder(coder.value()); r.reset(this->getStream(avStream->index), false); + + + // let's log the state of the world. + VS_LOG_TRACE("addNewStream Muxer@%p[i:%"PRId32";c:%p;tb:%"PRId32"/%"PRId32"]", + this, + (int32_t)avStream->index, + coder.value(), + (int32_t)avStream->time_base.num, + (int32_t)avStream->time_base.den + ); return r.get(); } @@ -292,6 +353,66 @@ Muxer::getStream(int32_t i) { } +void +Muxer::logWrite(Muxer* muxer, MediaPacket* in, MediaPacket* out, int32_t retval) +{ + // necessary to avoid a compiler warning in release mode since + // in that case, this is a NO_OP method. + (void) muxer; + (void) in; + (void) out; + (void) retval; +#ifdef VS_DEBUG + char inDescr[256]; + char outDescr[256]; + if (in) + in->logMetadata(inDescr, sizeof(inDescr)); + if (out) + out->logMetadata(outDescr, sizeof(outDescr)); + VS_LOG_TRACE("write Muxer@%p[out:%s;in:%s;e:%" PRIi64 "]", + muxer, + out?outDescr:"(null)", + in?inDescr:"(null)", + (int64_t)retval); +#endif // VS_DEBUG +} + +void +Muxer::logOpen(Muxer* muxer) { + (void) muxer; +#ifdef VS_DEBUG + // We only do this in debug mode. Because a muxer can have effectively + // an unlimited number of strings, we need to build our log up piece meal. + + int32_t n = muxer->getNumStreams(); + + char msg[4096]; + char* buf = msg; + size_t bufSize = sizeof(msg); + int32_t chars = snprintf(buf, bufSize, "open Muxer@%p[u:%s;n:%"PRId32";", muxer, + muxer->getURL(), + (int32_t)n); + buf += chars; + bufSize -= chars; + + for(int i = 0; i < n; i++) { + Container::Stream* s = ((Container*)muxer)->getStream(i); + RefPointer c = s->getCoder(); + AVStream* avStream = s->getCtx(); + chars = snprintf(buf, bufSize, "s@%"PRId32"[c:%p;tb:%"PRId32"/%"PRId32"];", + (int32_t)i, + c.value(), + (int32_t)avStream->time_base.num, + (int32_t)avStream->time_base.den + ); + buf+= chars; + bufSize -= chars; + } + chars = snprintf(buf, bufSize, "]"); + VS_LOG_TRACE(msg); +#endif +} + bool Muxer::write(MediaPacket* aPacket, bool forceInterleave) { MediaPacketImpl* packet = dynamic_cast(aPacket); @@ -314,12 +435,33 @@ Muxer::write(MediaPacket* aPacket, bool forceInterleave) { VS_THROW(HumbleRuntimeError("Cannot write empty packet")); } - // Get the stream for the packet - Container::Stream* stream = Container::getStream(packet->getStreamIndex()); - // we copy the metadata into a new packet, but not the actual data. RefPointer outPacket = MediaPacketImpl::make(packet, false); + Container::Stream* stream=0; + + int32_t index = outPacket->getStreamIndex(); + if (index < 0) { + RefPointer encoder = packet->getCoder(); + for(int i = 0; i < numStreams; i++) { + stream = Container::getStream(i); + RefPointer streamCoder = stream->getCoder(); + Coder *a = encoder.value(); + Coder *b = streamCoder.value(); + if (b && a == b) { + // this is the one we actually care about. + outPacket->setStreamIndex(i); + break; + } + stream = 0; + } + } else { + stream = Container::getStream(index); + } + if (!stream) { + VS_THROW(HumbleRuntimeError("Could not find stream that corresponds to this packet. Did you add it?")); + } + // then we adjust timestamps if necessary for this muxer. stampOutputPacket(stream, outPacket.value()); @@ -332,6 +474,7 @@ Muxer::write(MediaPacket* aPacket, bool forceInterleave) { else e = av_write_frame(getFormatCtx(), out); popCoders(); + Muxer::logWrite(this, aPacket, outPacket.value(), e); FfmpegException::check(e, "Could not write packet to muxer "); if (e == 1) allDataFlushed = true; @@ -346,12 +489,14 @@ Muxer::stampOutputPacket(Container::Stream* stream, MediaPacket* packet) { VS_THROW(HumbleInvalidArgument("no packet specified")); } - // VS_LOG_DEBUG("input: duration: %lld; dts: %lld; pts: %lld;", - // packet->getDuration(), packet->getDts(), packet->getPts()); + // let's record these for posterity. We'll output it later. + RefPointer origPacket = MediaPacket::make(packet, false); - // Always just reset this; cheaper than checking if it's - // already set - packet->setStreamIndex(stream->getIndex()); + if (packet->getStreamIndex() < 0) + packet->setStreamIndex(stream->getIndex()); + else if (packet->getStreamIndex() != stream->getIndex()) + VS_THROW(HumbleInvalidArgument::make("Packet with stream index %d unexpectedly passed to stream #%d", + packet->getStreamIndex(), stream->getIndex())); AVStream* avStream = stream->getCtx(); @@ -361,9 +506,6 @@ Muxer::stampOutputPacket(Container::Stream* stream, MediaPacket* packet) { VS_THROW(HumbleRuntimeError("no timebases on either stream or packet")); } if (thisBase->compareTo(packetBase.value()) == 0) { - // VS_LOG_DEBUG("Same timebase: %d/%d vs %d/%d", - // thisBase->getNumerator(), thisBase->getDenominator(), - // packetBase->getNumerator(), packetBase->getDenominator()); // it's already got the right time values return; } @@ -372,7 +514,8 @@ Muxer::stampOutputPacket(Container::Stream* stream, MediaPacket* packet) { int64_t dts = packet->getDts(); int64_t pts = packet->getPts(); - if (duration >= 0) duration = thisBase->rescale(duration, packetBase.value(), + if (duration >= 0) + duration = thisBase->rescale(duration, packetBase.value(), Rational::ROUND_DOWN); if (pts != Global::NO_PTS) { @@ -396,14 +539,10 @@ Muxer::stampOutputPacket(Container::Stream* stream, MediaPacket* packet) { stream->setLastDts(dts); } - // VS_LOG_DEBUG("output: duration: %lld; dts: %lld; pts: %lld;", - // duration, dts, pts); packet->setDuration(duration); packet->setPts(pts); packet->setDts(dts); packet->setTimeBase(thisBase.value()); - // VS_LOG_DEBUG("Reset timebase: %d/%d", - // thisBase->getNumerator(), thisBase->getDenominator()); } diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.h b/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.h index df877045..35742b00 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -118,9 +118,23 @@ class VS_API_HUMBLEVIDEO Muxer : public io::humble::video::Container return mState; } + /** + * Open the Muxer and write any headers. + * + * @param inputOptions muxer-specific options to set before opening the muxer. Can be null. + * @param outputOptions if non null, the passed in bag will be emptied, and the filled + * with any options from inputOptions that could not be set on the muxer. + */ virtual void open(KeyValueBag* inputOptions, KeyValueBag* outputOptions); + /** + * Close the muxer and write any trailers. + * + * Note: Calls MUST call this method -- it will not automatically be called + * when the object is finalized as some muxers struggle when you write trailers + * on a different thread (the finalizer thread) than the header was written on. + */ virtual void close(); @@ -144,8 +158,7 @@ class VS_API_HUMBLEVIDEO Muxer : public io::humble::video::Container * Return the output buffer length. * * @return The input buffer length Humble Video told FFMPEG to assume. - * 0 means FFMPEG should choose it's own - * size (and it'll probably be 32768). + * 0 means FFMPEG should choose it's own size (and it'll probably be 32768). */ virtual int32_t getOutputBufferLength(); @@ -174,8 +187,7 @@ class VS_API_HUMBLEVIDEO Muxer : public io::humble::video::Container /** * Writes the given packet to the Muxer. * - * @param packet The packet to write. If null, it tells the muxer to flush any data queued up to - * the underlying storage (disk, network, etc). + * @param packet The packet to write. * @param forceInterleave If true, this Muxer will ensure that all packets are interleaved across streams * (i.e. monotonically increasing timestamps in the Muxer container). If false, then the caller * is responsible for ensuring the interleaving is valid for the container. Note this method is faster @@ -190,11 +202,26 @@ class VS_API_HUMBLEVIDEO Muxer : public io::humble::video::Container virtual bool write(MediaPacket* packet, bool forceInterleave); +#if 0 +#ifndef SWIG + virtual int32_t acquire(); + virtual int32_t release(); +#endif +#endif + protected: virtual AVFormatContext* getFormatCtx() { return mCtx; } + /** + * Function to log the write event as a trace + */ + static void logWrite(Muxer* muxer, MediaPacket* in, MediaPacket* out, int32_t retval); + /** + * Log an open. + */ + static void logOpen(Muxer*); /** - * Takes the packet given (in whatever timebase it was encoded with) and resets all timestamps + * Takes the packet given (in whatever time base it was encoded with) and resets all time stamps * to align with the stream in this container that it will be added to. * * @param packet The packet to stamp. Packet#setStreamIndex must have been called to avoid an error, diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.swg index e3f08880..fb4f3034 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Muxer.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.cpp index 85a21b58..182d8571 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * SinkFormat.cpp - * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "MuxerFormat.h" #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.h b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.h index a5d72efd..01ec6aa5 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * SinkFormat.h * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef SINKFORMAT_H_ #define SINKFORMAT_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.swg index 7264ed68..a8033446 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerFormat.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * @@ -16,8 +16,6 @@ * You should have received a copy of the GNU Affero General Public License * along with Humble Video. If not, see . * - * MuxerFormat.swg - * * Created on: Jun 28, 2013 * Author: aclarke */ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.cpp index e7953f0b..403eb62d 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -30,17 +30,18 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.MuxerStream); namespace io { namespace humble { namespace video { MuxerStream::MuxerStream(Container* c, int32_t index) : ContainerStream(c, index) { - + VS_LOG_TRACE("Created: %p", this); } MuxerStream::~MuxerStream() { + VS_LOG_TRACE("Destroyed: %p", this); } Muxer* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.h b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.h index 68dfdede..f01c5ac3 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.swg b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.swg index c86d0561..8e23ce45 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/MuxerStream.swg @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke + * Copyright (c) 2014-Forward, Andrew "Art" Clarke * * This file is part of Humble Video. * diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.cpp index 2b8ba9bd..2da5f0f8 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -26,7 +26,7 @@ #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.PixelFormat); namespace io { namespace humble { diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.h b/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.h index 3f025630..9c950579 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/PixelFormat.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Property.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Property.cpp index d2196682..09ac8d23 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Property.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Property.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Property.h b/humble-video-native/src/main/gnu/src/io/humble/video/Property.h index de82b008..a088a1b2 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Property.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Property.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Property.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Property.swg index 20f6a8cf..284d9d4b 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Property.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Property.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.cpp index a1cf5a97..17b65889 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ @@ -32,7 +32,7 @@ extern "C" { #include #include -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Property); using namespace io::humble::ferry; diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.h index 691f8dd6..40a06566 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/PropertyImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Rational.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/Rational.cpp index c2bd361d..6008089c 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Rational.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Rational.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Rational.h b/humble-video-native/src/main/gnu/src/io/humble/video/Rational.h index b7f804cf..98578c80 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Rational.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Rational.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/Rational.swg b/humble-video-native/src/main/gnu/src/io/humble/video/Rational.swg index d68cbf22..8e595470 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/Rational.swg +++ b/humble-video-native/src/main/gnu/src/io/humble/video/Rational.swg @@ -4,16 +4,16 @@ * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.cpp index c79834fd..c339c010 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.h b/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.h index 68b97d4b..19306e96 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/RationalImpl.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.cpp index 669d97a8..f0dc1c8b 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -30,7 +30,7 @@ using namespace io::humble::ferry; -VS_LOG_SETUP(VS_CPP_PACKAGE); +VS_LOG_SETUP(VS_CPP_PACKAGE.Exception); namespace io { namespace humble { @@ -62,7 +62,7 @@ FfmpegException::check(int32_t error, const char* fmt, ...) { const size_t finalStrLen = 1048; char finalStr[finalStrLen]; - snprintf(finalStr, finalStrLen, "%s%s (%d)", buf, ffmpegErrorStr, error); + snprintf(finalStr, finalStrLen, "%s: %s (%d)", buf, ffmpegErrorStr, error); switch (error) { diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.h b/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.h index cf1f17c2..cd3c14c8 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/VideoExceptions.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/CustomIO.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/CustomIO.h index 2c2d6135..e983a05f 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/CustomIO.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/CustomIO.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . - * - * Container.h * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef CUSTOMIO_H_ #define CUSTOMIO_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.cpp index 402fe15c..cdc1adf3 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.h index b910284b..2fc1e840 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/FfmpegIO.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.cpp index 8dd19b87..1194e2d7 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include // For EINTR diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.h index 8b76a07a..cb69f828 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolHandler.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef JAVAURLPROTOCOLHANDLER_H_ #define JAVAURLPROTOCOLHANDLER_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.cpp index 32341cec..146fb104 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.h index 32d569d1..081ae2d2 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/JavaURLProtocolManager.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef JAVAURLPROTOCOLMANAGER_H_ #define JAVAURLPROTOCOLMANAGER_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/Makefile.in b/humble-video-native/src/main/gnu/src/io/humble/video/customio/Makefile.in index f484f840..ed40d711 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/Makefile.in +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -317,6 +317,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.cpp index 182db642..909c821b 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.h index 1aa639bd..f83f64ab 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolHandler.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef STDIOURLPROTOCOLHANDLER_H_ #define STDIOURLPROTOCOLHANDLER_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.cpp index fa8c7145..b5cdf576 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.h index ed5892f0..415a84e0 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/StdioURLProtocolManager.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef STDIOURLPROTOCOLMANAGER_H_ #define STDIOURLPROTOCOLMANAGER_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.cpp index 67d61455..52d996b4 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.h index 7b9bbedf..99e99754 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolHandler.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef URLPROTOCOLHANDLER_H_ #define URLPROTOCOLHANDLER_H_ diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.cpp b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.cpp index 7b197f63..468b626a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.cpp +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.h b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.h index f87dcc3b..4e77511a 100644 --- a/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.h +++ b/humble-video-native/src/main/gnu/src/io/humble/video/customio/URLProtocolManager.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * Container.h - * - * Created on: Jun 30, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef URLPROTOCOLMANAGER_H_ #define URLPROTOCOLMANAGER_H_ diff --git a/humble-video-native/src/main/gnu/test/Makefile.in b/humble-video-native/src/main/gnu/test/Makefile.in index 87cbf42b..0d179e20 100644 --- a/humble-video-native/src/main/gnu/test/Makefile.in +++ b/humble-video-native/src/main/gnu/test/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -292,6 +292,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/test/io/Makefile.in b/humble-video-native/src/main/gnu/test/io/Makefile.in index cbe41858..327b2cb0 100644 --- a/humble-video-native/src/main/gnu/test/io/Makefile.in +++ b/humble-video-native/src/main/gnu/test/io/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -292,6 +292,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/test/io/humble/Makefile.in b/humble-video-native/src/main/gnu/test/io/humble/Makefile.in index 25d8bae7..20d381e0 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/Makefile.in +++ b/humble-video-native/src/main/gnu/test/io/humble/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -292,6 +292,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.cpp index 5284d468..b36ee948 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.h b/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.h index 4d3d77ce..ebc14ade 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/BufferTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.cpp index 506a0601..ef95a7b3 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.h b/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.h index 49b02d1a..9e4ab584 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/LoggerTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/Main.cpp b/humble-video-native/src/main/gnu/test/io/humble/ferry/Main.cpp index c4626aff..2eb4bf6c 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/Main.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/Main.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/Makefile.in b/humble-video-native/src/main/gnu/test/io/humble/ferry/Makefile.in index cb176879..7eabdab2 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/Makefile.in +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -515,6 +515,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.cpp index a06461e0..645a4b4c 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.h b/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.h index a14650dd..654f5e8a 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/MutexTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.cpp index 398c1549..221f6675 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.h b/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.h index 2c871f96..c9135675 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/ferry/RefPointerTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/testutils/Main.cpp b/humble-video-native/src/main/gnu/test/io/humble/testutils/Main.cpp index 3a5d8fc0..bcb7875e 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/testutils/Main.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/testutils/Main.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/testutils/Makefile.in b/humble-video-native/src/main/gnu/test/io/humble/testutils/Makefile.in index ccf4e4e5..32906695 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/testutils/Makefile.in +++ b/humble-video-native/src/main/gnu/test/io/humble/testutils/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -492,6 +492,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/test/io/humble/testutils/TestUtils.h b/humble-video-native/src/main/gnu/test/io/humble/testutils/TestUtils.h index fdae968f..d9e53d3e 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/testutils/TestUtils.h +++ b/humble-video-native/src/main/gnu/test/io/humble/testutils/TestUtils.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.cpp index 90424f31..88cc0cfd 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.h b/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.h index 6323bcc4..5796e6a6 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/testutils/TrueTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.cpp index 493932bb..f836e06d 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.h index a3458033..16d4ea64 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/CodecTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.cpp index d76a129f..764625a6 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -22,6 +22,8 @@ * Created on: Jul 28, 2013 * Author: aclarke */ +#include +#include #include "DecoderTest.h" #include @@ -31,6 +33,8 @@ #include #include +VS_LOG_SETUP(VS_CPP_PACKAGE.DecoderTest); + DecoderTest::DecoderTest() { } @@ -337,3 +341,65 @@ DecoderTest::testOpenCloseMP4() { } source->close(); } +void +DecoderTest::testIssue27() +{ + const char* testURL="http://www.nasa.gov/multimedia/nasatv/NTV-Public-IPS.m3u8"; + RefPointer demuxer = Demuxer::make(); + + RefPointer decoder; + int32_t decoderIndex = -1; + try { + demuxer->open(testURL, 0, true, false, 0, 0); + demuxer->queryStreamMetaData(); + int32_t n = demuxer->getNumStreams(); + // loop through until we find our first video stream. + for(int32_t i = 0; i < n; ++i) { + RefPointer stream = demuxer->getStream(i); + decoder = stream->getDecoder(); + if (decoder->getCodecType() == MediaDescriptor::MEDIA_VIDEO) { + decoderIndex = i; + break; + } + decoder = 0; + } + } catch (std::exception & e) { + // if we catch an error, just return. that's not the focus of this test, and it will fail if the URL or network is down. + return; + } + if (!decoder.value()) + return; + + // now let's decode some number of frames. + int32_t frames = 150; + int32_t frameNo = 0; + RefPointer packet = MediaPacket::make(); + RefPointer picture = MediaPicture::make( + decoder->getWidth(), + decoder->getHeight(), + decoder->getPixelFormat()); + + decoder->open(0, 0); + while(demuxer->read(packet.value()) >= 0 && frameNo < frames) { + // got a packet; now we try to decode it. + if (packet->getStreamIndex() == decoderIndex && + packet->isComplete()) { + int32_t bytesRead = 0; + int32_t byteOffset=0; + do { + bytesRead = decoder->decodeVideo(picture.value(), packet.value(), byteOffset); + if (picture->isComplete()) { + TS_ASSERT_DIFFERS(Global::NO_PTS, picture->getPacketDts()); + TS_ASSERT_DIFFERS(Global::NO_PTS, picture->getPacketPts()); + TS_ASSERT_DIFFERS(Global::NO_PTS, picture->getTimeStamp()); + VS_LOG_DEBUG("Writing frame: %"PRId32, frameNo); + writePicture("DecoderTest_testIssue27", &frameNo, picture.value()); + ++frameNo; + } + byteOffset += bytesRead; + } while(byteOffset < packet->getSize()); + } + } + + demuxer->close(); +} diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.h index 10f871c8..128e827a 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DecoderTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -46,6 +46,7 @@ class DecoderTest : public CxxTest::TestSuite void testDecodeAudio(); void testDecodeVideo(); void testOpenCloseMP4(); + void testIssue27(); private: void writeAudio(FILE* output, MediaAudio* audio); void writePicture(const char* prefix, int32_t* frameNo, MediaPicture* picture); diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.cpp index 2078d0a2..57d164b3 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * DemuxerFormatTest.cpp - * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.h index 4cd84a7c..71677598 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerFormatTest.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * DemuxerFormatTest.h - * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef SOURCEFORMATTEST_H_ #define SOURCEFORMATTEST_H_ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.cpp index 0a1cac67..71f66234 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.cpp @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include #include diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.h index 513e521e..8dbb9999 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerStreamTest.h @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef __SOURCESTREAM_TEST_H__ #define __SOURCESTREAM_TEST_H__ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.cpp index 37fad17c..718e0a7c 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.h index 88359976..37ea055c 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/DemuxerTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/EncoderTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/EncoderTest.cpp new file mode 100644 index 00000000..8aca193b --- /dev/null +++ b/humble-video-native/src/main/gnu/test/io/humble/video/EncoderTest.cpp @@ -0,0 +1,575 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ +/* + * EncoderTest.cpp + * + * Created on: Sep 6, 2013 + * Author: aclarke + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "EncoderTest.h" + +using namespace io::humble::ferry; +VS_LOG_SETUP(VS_CPP_PACKAGE.EncoderTest); + +EncoderTest::EncoderTest() { +} + +EncoderTest::~EncoderTest() { +} + +void +EncoderTest::testCreation() { + Logger::setGlobalIsLogging(Logger::LEVEL_TRACE, false); + + RefPointer codec = Codec::findEncodingCodec(Codec::CODEC_ID_H264); + RefPointer encoder = Encoder::make(codec.value()); + TS_ASSERT(encoder); +} + +void +EncoderTest::testEncodeVideo() { + Logger::setGlobalIsLogging(Logger::LEVEL_TRACE, true); + + const bool isMemCheck = getenv("VS_TEST_MEMCHECK") ? true : false; + const int32_t maxPics = isMemCheck ? 10 : 500; + int32_t width=176; + int32_t height=144; + + RefPointer codec = Codec::findEncodingCodec(Codec::CODEC_ID_H264); + RefPointer encoder = Encoder::make(codec.value()); + RefPointer picture = MediaPicture::make(width*2,height*2, + PixelFormat::PIX_FMT_YUV420P); + + // set the encoder properties we need + encoder->setWidth(picture->getWidth()); + encoder->setHeight(picture->getHeight()); + encoder->setPixelFormat(picture->getFormat()); + encoder->setProperty("b", (int64_t)400000); // bitrate + encoder->setProperty("g", (int64_t) 10); // gop + encoder->setProperty("bf", (int64_t)1); // max b frames + + RefPointer tb = Rational::make(1,25); + encoder->setTimeBase(tb.value()); + + // mandlebrot, that is then negated, horizontally flipped, and edge detected, before + // final outputting to a new picture with each version in one of 4 quadrants. + char graphCommand[1024]; + snprintf(graphCommand,sizeof(graphCommand),"mandelbrot=s=%dx%d[mb];" + "[mb]split=4[0][1][2][3];" + "[0]pad=iw*2:ih*2[a];" + "[1]negate[b];" + "[2]hflip[c];" + "[3]edgedetect[d];" + "[a][b]overlay=w[x];" + "[x][c]overlay=0:h[y];" + "[y][d]overlay=w:h[out]", width, height); + + RefPointer graph = FilterGraph::make(); + RefPointer fsink = graph->addPictureSink("out", picture->getFormat()); + graph->open(graphCommand); + + // let's set a frame time base of 1/30 + RefPointer pictureTb = Rational::make(1,30); + + // create an output muxer + RefPointer muxer = Muxer::make("EncoderTest_encodeVideo.mov", 0, 0); + RefPointer format = muxer->getFormat(); + + // if the container will require a global header, then the encoder needs to set this. + if (format->getFlag(MuxerFormat::GLOBAL_HEADER)) + encoder->setFlag(Encoder::FLAG_GLOBAL_HEADER, true); + + // open the encoder + encoder->open(0, 0); + + // add a stream for the encoded packets + { + RefPointer stream = muxer->addNewStream(encoder.value()); + } + + // and open the muxer + muxer->open(0, 0); + + // now we're (in theory) ready to start writing data. + int32_t numPics = 0; + RefPointer packet; + + while(fsink->getPicture(picture.value()) >= 0 && numPics < maxPics) { + picture->setTimeBase(pictureTb.value()); + picture->setTimeStamp(numPics); + + // let's encode + packet = MediaPacket::make(); + encoder->encodeVideo(packet.value(), picture.value()); + if (packet->isComplete()) { + muxer->write(packet.value(), false); + } + ++numPics; + } + // now flush the encoder + do { + packet = MediaPacket::make(); + encoder->encodeVideo(packet.value(), 0); + if (packet->isComplete()) { + muxer->write(packet.value(), false); + } + } while (packet->isComplete()); + + muxer->close(); + +} + +void +EncoderTest::testEncodeAudio() { + Logger::setGlobalIsLogging(Logger::LEVEL_TRACE, true); + + const bool isMemCheck = getenv("VS_TEST_MEMCHECK") ? true : false; + const int32_t sampleRate = 44100; + const int32_t maxSamples = isMemCheck ? sampleRate*0.5 : sampleRate*10; + const int32_t numSamples = 1024; + const AudioChannel::Layout channelLayout = AudioChannel::CH_LAYOUT_STEREO; + const int32_t channels = AudioChannel::getNumChannelsInLayout(channelLayout); + const AudioFormat::Type audioFormat = AudioFormat::SAMPLE_FMT_S16; + RefPointer codec = Codec::findEncodingCodec(Codec::CODEC_ID_AAC); + RefPointer encoder = Encoder::make(codec.value()); + + RefPointer graph = FilterGraph::make(); + + RefPointer audio = MediaAudio::make(numSamples, sampleRate, channels, channelLayout, + audioFormat); + + // set the encoder properties we need + encoder->setSampleRate(audio->getSampleRate()); + encoder->setSampleFormat(audio->getFormat()); + encoder->setChannelLayout(audio->getChannelLayout()); + encoder->setChannels(audio->getChannels()); + encoder->setProperty("b", (int64_t)64000); // bitrate + RefPointer tb = Rational::make(1,25); + encoder->setTimeBase(tb.value()); + + // create an output muxer + RefPointer muxer = Muxer::make("EncoderTest_encodeAudio.mp4", 0, 0); + RefPointer format = muxer->getFormat(); + if (format->getFlag(MuxerFormat::GLOBAL_HEADER)) + encoder->setFlag(Encoder::FLAG_GLOBAL_HEADER, true); + + // open the encoder + encoder->open(0, 0); + + RefPointer fsink = graph->addAudioSink("out", audio->getSampleRate(), audio->getChannelLayout(), audio->getFormat()); + + // Generate a 220 Hz sine wave with a 880 Hz beep each second, for 10 seconds. + graph->open("sine=frequency=660:beep_factor=4:duration=11[out]"); + // Generate an amplitude modulated signal + //graph->open("aevalsrc=sin(10*2*PI*t)*sin(880*2*PI*t)[out]"); + + // add a stream for the encoded packets + { + RefPointer stream = muxer->addNewStream(encoder.value()); + } + + // and open the muxer + muxer->open(0, 0); + + // now we're (in theory) ready to start writing data. + int32_t numFrames = 0; + RefPointer packet; + + while(fsink->getAudio(audio.value()) >= 0 && audio->isComplete() && numFrames*audio->getNumSamples() < maxSamples) { + audio->setTimeStamp(numFrames*audio->getNumSamples()); + + // let's encode + packet = MediaPacket::make(); + encoder->encodeAudio(packet.value(), audio.value()); + if (packet->isComplete()) { + muxer->write(packet.value(), false); + } + ++numFrames; + } + // now flush the encoder + do { + packet = MediaPacket::make(); + encoder->encodeAudio(packet.value(), 0); + if (packet->isComplete()) { + muxer->write(packet.value(), false); + } + } while (packet->isComplete()); + + muxer->close(); +} + +/** + * Test that memory is not leaked/corrupted during error paths. + */ +void +EncoderTest::testEncodeInvalidParameters() +{ + // Sub-test 1 + { + int32_t width=176; + int32_t height=360; // invalid dimensions for H263 codec + RefPointer codec = Codec::findEncodingCodec(Codec::CODEC_ID_H263); + RefPointer encoder = Encoder::make(codec.value()); + + RefPointer picture = MediaPicture::make(width*2,height*2, + PixelFormat::PIX_FMT_YUV420P); + + // set the encoder properties we need + encoder->setWidth(picture->getWidth()); + encoder->setHeight(picture->getHeight()); + encoder->setPixelFormat(picture->getFormat()); + encoder->setProperty("b", (int64_t)400000); // bitrate + encoder->setProperty("g", (int64_t) 10); // gop + + RefPointer tb = Rational::make(1,25); + encoder->setTimeBase(tb.value()); + + // open the encoder + try { + // Temporarily turn down logging + LoggerStack stack; + stack.setGlobalLevel(Logger::LEVEL_ERROR, false); + + encoder->open(0, 0); + TS_FAIL("should never get here"); + } catch (std::exception & e) { + // ignore exception + } + } + + // Sub-test 2 + { + int32_t width=176; + int32_t height=144; + + RefPointer codec = Codec::findEncodingCodec(Codec::CODEC_ID_H264); + RefPointer encoder = Encoder::make(codec.value()); + RefPointer picture = MediaPicture::make(width*2,height*2, + PixelFormat::PIX_FMT_YUV420P); + + // set the encoder properties we need + encoder->setWidth(picture->getWidth()); + encoder->setHeight(picture->getHeight()); + encoder->setPixelFormat(picture->getFormat()); + encoder->setProperty("b", (int64_t)400000); // bitrate + encoder->setProperty("g", (int64_t) 10); // gop + encoder->setProperty("bf", (int64_t)1); // max b frames + + RefPointer tb = Rational::make(1,25); + encoder->setTimeBase(tb.value()); + + // Do not open the encoder + + // create an output muxer + RefPointer muxer = Muxer::make("EncoderTest_encodeVideo.mov", 0, 0); + + // add a stream for the encoded packets + try { + // Temporarily turn down logging + LoggerStack stack; + stack.setGlobalLevel(Logger::LEVEL_ERROR, false); + + RefPointer stream = muxer->addNewStream(encoder.value()); + TS_FAIL("should never get here"); + } catch (std::exception & e) { + // success + } + } +} + +void +EncoderTest::encodeAndMux( + MediaSampled* media, + Muxer* muxer, + Encoder* encoder) +{ +// if (encoder->getCodecType() == MediaDescriptor::MEDIA_VIDEO) +// // skip all video for now +// return; + RefPointer packet = MediaPacket::make(); + do { + encoder->encode(packet.value(), media); + if (packet->isComplete()) { + muxer->write(packet.value(), true); + } + } while (!media && packet->isComplete()); // this forces flushing if media is null +} + +void +EncoderTest::resampleEncodeAndMux( + MediaSampled* input, + MediaResampler* resampler, + MediaSampled* output, + Muxer* muxer, + Encoder* encoder + ) +{ + do { + if (resampler) { + resampler->resample(output, input); + } + encodeAndMux(output, muxer, encoder); + } while (!input && output->isComplete()); +} + +void +EncoderTest::decodeAndEncode( + MediaPacket* packet, + Decoder* decoder, + MediaSampled* input, + MediaResampler* resampler, + MediaSampled* output, + Muxer* muxer, + Encoder* encoder +) +{ + int32_t offset = 0; + int32_t bytesRead = 0; + do { + bytesRead += decoder->decode(input, packet, offset); + if (input->isComplete()) { + // we encode and write it + resampleEncodeAndMux(input, resampler, output, muxer, encoder); + } + offset += bytesRead; + } while ((!packet && input->isComplete()) || (packet && offset < packet->getSize())); + if (!packet) { + // we should also flush the encoders + encodeAndMux(0, muxer, encoder); + } +} + +/** + * This test will read ironman (FLV, H263 video and mp3 audio) and transcode + * to MP4 (H264 Video and aac audio). + */ +void +EncoderTest::testTranscode() +{ + // enable trace logging + Logger::setGlobalIsLogging(Logger::LEVEL_TRACE, true); + const bool isMemCheck = getenv("VS_TEST_MEMCHECK") ? true : false; + + TestData::Fixture* fixture; + fixture=mFixtures.getFixture("testfile.flv"); +// fixture=mFixtures.getFixture("testfile_h264_mp4a_tmcd.mov"); +// fixture=mFixtures.getFixture("bigbuckbunny_h264_aac_5.1.mp4"); + TS_ASSERT(fixture); + char filepath[2048]; + mFixtures.fillPath(fixture, filepath, sizeof(filepath)); + + RefPointer source = Demuxer::make(); + source->open(filepath, 0, false, true, 0, 0); + int32_t numStreams = source->getNumStreams(); + TS_ASSERT_EQUALS(fixture->num_streams, numStreams); + + // Let's create a helper object to help us with decoding + typedef struct { + MediaDescriptor::Type type; + RefPointer stream; + RefPointer decoder; + RefPointer media; + } DemuxerStreamHelper; + + // I know there are only 2 in the input file. + DemuxerStreamHelper inputHelpers[10]; + for(int32_t i = 0; i < numStreams; i++) { + DemuxerStreamHelper* input = &inputHelpers[i]; + input->stream = source->getStream(i); + input->decoder = input->stream->getDecoder(); + if (!input->decoder) + // skip + break; + input->decoder->open(0, 0); + input->type = input->decoder->getCodecType(); + if (input->type == MediaDescriptor::MEDIA_AUDIO) + input->media = MediaAudio::make( + input->decoder->getFrameSize(), + input->decoder->getSampleRate(), + input->decoder->getChannels(), + input->decoder->getChannelLayout(), + input->decoder->getSampleFormat()); + else if (input->type == MediaDescriptor::MEDIA_VIDEO) + input->media = MediaPicture::make( + input->decoder->getWidth(), + input->decoder->getHeight(), + input->decoder->getPixelFormat() + ); + } + + // now, let's set up our output file. + RefPointer muxer = Muxer::make("EncoderTest_testTranscode.mp4", 0, 0); + RefPointer format = muxer->getFormat(); + + // Let's create a helper object to help us with decoding + typedef struct { + MediaDescriptor::Type type; + RefPointer stream; + RefPointer resampler; + RefPointer media; + RefPointer encoder; + } MuxerStreamHelper; + + MuxerStreamHelper outputHelpers[10]; + for(int32_t i = 0; i < numStreams; i++) { + DemuxerStreamHelper *input = &inputHelpers[i]; + MuxerStreamHelper *output = &outputHelpers[i]; + if (!input->decoder) + // skip + break; + output->type = input->type; + RefPointer encoder; + if (output->type == MediaDescriptor::MEDIA_VIDEO) { + RefPointer codec = Codec::findEncodingCodec(Codec::CODEC_ID_H264); + encoder = Encoder::make(codec.value()); + + // set the encoder properties we need + encoder->setWidth(input->decoder->getWidth()); + encoder->setHeight(input->decoder->getHeight()); + encoder->setPixelFormat(input->decoder->getPixelFormat()); + encoder->setProperty("b", (int64_t)400000); // bitrate + encoder->setProperty("g", (int64_t) 10); // gop + encoder->setProperty("bf", (int64_t)0); // max b frames + RefPointer tb = Rational::make(1,2997); + encoder->setTimeBase(tb.value()); + + + } else if (output->type == MediaDescriptor::MEDIA_AUDIO) { + RefPointer codec = Codec::findEncodingCodec(Codec::CODEC_ID_AAC); + encoder = Encoder::make(codec.value()); + + // set the encoder properties we need + encoder->setSampleRate(input->decoder->getSampleRate()); + encoder->setSampleFormat(input->decoder->getSampleFormat()); + encoder->setSampleFormat(AudioFormat::SAMPLE_FMT_S16); + encoder->setChannelLayout(input->decoder->getChannelLayout()); + encoder->setChannels(input->decoder->getChannels()); + encoder->setProperty("b", (int64_t)64000); // bitrate + RefPointer tb = Rational::make(1,encoder->getSampleRate()); + encoder->setTimeBase(tb.value()); + // //input->decoder->getTimeBase(); + // output->encoder->setTimeBase(tb.value()); + + } + output->encoder.reset(encoder.value(), true); + if (output->encoder) { + if (format->getFlag(MuxerFormat::GLOBAL_HEADER)) + output->encoder->setFlag(Encoder::FLAG_GLOBAL_HEADER, true); + + output->encoder->open(0,0); + + // sometimes encoders need to change parameters to fit; let's see + // if that happened. + output->stream = muxer->addNewStream(output->encoder.value()); + } + output->media = input->media; + output->resampler = 0; + if (output->type == MediaDescriptor::MEDIA_AUDIO) { + // sometimes encoders only accept certain media types and discard + // our suggestions. Let's check. + if ( + output->encoder->getSampleRate() != input->decoder->getSampleRate() || + output->encoder->getSampleFormat() != input->decoder->getSampleFormat() || + output->encoder->getChannelLayout() != input->decoder->getChannelLayout() || + output->encoder->getChannels() != input->decoder->getChannels() + ) + { + // we need a resampler. + VS_LOG_DEBUG("Resampling: [%"PRId32", %"PRId32", %"PRId32"] [%"PRId32", %"PRId32", %"PRId32"]", + (int32_t)output->encoder->getChannelLayout(), + (int32_t)output->encoder->getSampleRate(), + (int32_t)output->encoder->getSampleFormat(), + (int32_t)input->decoder->getChannelLayout(), + (int32_t)input->decoder->getSampleRate(), + (int32_t)input->decoder->getSampleFormat() + ); + RefPointer resampler = MediaAudioResampler::make( + output->encoder->getChannelLayout(), + output->encoder->getSampleRate(), + output->encoder->getSampleFormat(), + input->decoder->getChannelLayout(), + input->decoder->getSampleRate(), + input->decoder->getSampleFormat() + ); + resampler->open(); + output->resampler.reset(resampler.value(), true); + output->media = MediaAudio::make( + output->encoder->getFrameSize(), + output->encoder->getSampleRate(), + output->encoder->getChannels(), + output->encoder->getChannelLayout(), + output->encoder->getSampleFormat()); + } + } + } + // now we should be ready to open the muxer + muxer->open(0, 0); + + // now, let's start a decoding loop. + RefPointer packet = MediaPacket::make(); + + int numPackets = 0; + while(source->read(packet.value()) >= 0) { + // got a packet; now we try to decode it. + if (packet->isComplete()) { + int32_t streamNo = packet->getStreamIndex(); + DemuxerStreamHelper *input = &inputHelpers[streamNo]; + MuxerStreamHelper* output = &outputHelpers[streamNo]; + if (input->decoder) decodeAndEncode( + packet.value(), + input->decoder.value(), + input->media.value(), + output->resampler.value(), + output->media.value(), + muxer.value(), + output->encoder.value()); + ++numPackets; + if (isMemCheck && numPackets > 100) { + VS_LOG_WARN("Exiting early under valgrind"); + break; + } + } + } + + // now, flush any cached packets + for(int i = 0; i < numStreams; i++) { + DemuxerStreamHelper *input = &inputHelpers[i]; + MuxerStreamHelper* output = &outputHelpers[i]; + if (input->decoder) decodeAndEncode( + 0, + input->decoder.value(), + input->media.value(), + output->resampler.value(), + output->media.value(), + muxer.value(), + output->encoder.value()); + + } + source->close(); + muxer->close(); +} diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/EncoderTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/EncoderTest.h new file mode 100644 index 00000000..727841ad --- /dev/null +++ b/humble-video-native/src/main/gnu/test/io/humble/video/EncoderTest.h @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ +/* + * EncoderTest.h + * + * Created on: Sep 6, 2013 + * Author: aclarke + */ + +#ifndef ENCODERTEST_H_ +#define ENCODERTEST_H_ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "TestData.h" + +using namespace io::humble::video; +using namespace io::humble::ferry; + +class EncoderTest : public CxxTest::TestSuite +{ +public: + EncoderTest(); + virtual + ~EncoderTest(); + + void testCreation(); + void testEncodeVideo(); + void testEncodeAudio(); + void testEncodeInvalidParameters(); + void testTranscode(); +private: + void decodeAndEncode( + MediaPacket*, + Decoder*, + MediaSampled* decoded, + MediaResampler*, + MediaSampled* resampled, + Muxer*, + Encoder* + ); + + void resampleEncodeAndMux( + MediaSampled* in, + MediaResampler*, + MediaSampled* out, + Muxer*, + Encoder* + ); + + void encodeAndMux(MediaSampled*, Muxer*, Encoder*); + TestData mFixtures; + +}; + +#endif /* ENCODERTEST_H_ */ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.cpp index f613e4bb..904bab81 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -207,7 +207,7 @@ FilterGraphTest::testFilterVideo() { if (picture->isComplete()) { filterSource->addPicture(picture.value()); // now pull pictures - while (filterSink->getPicture(filterPicture.value()) >= 0) + while (filterSink->getPicture(filterPicture.value()) >= 0 && filterPicture->isComplete()) writePicture("FilterGraphTest_testFilterVideo", &frameNo, filterPicture.value()); } @@ -226,12 +226,16 @@ FilterGraphTest::testFilterVideo() { // cached packets do { decoder->decodeVideo(picture.value(), 0, 0); - if (picture->isComplete()) { + if (picture->isComplete()) filterSource->addPicture(picture.value()); - // now pull pictures - while (filterSink->getPicture(filterPicture.value()) >= 0) - writePicture("FilterGraphTest_testFilterVideo", &frameNo, - filterPicture.value()); + else + // signal EOF + filterSource->addPicture(0); + + // now pull pictures + while (filterSink->getPicture(filterPicture.value()) >= 0 && filterPicture->isComplete()) { + writePicture("FilterGraphTest_testFilterVideo", &frameNo, + filterPicture.value()); } } while (picture->isComplete()); @@ -309,7 +313,9 @@ FilterGraphTest::testFilterAudio() { filteredAudio->getSampleRate(), filteredAudio->getChannelLayout(), filteredAudio->getFormat()); - graph->open("[in]aphaser=decay=.99:delay=5[out]"); + const int32_t frameSize = 1024; + graph->open("[in]aphaser=decay=.4:delay=5:speed=.1[out]"); + fsink->setFrameSize(frameSize); int32_t numSamples = 0; while(source->read(packet.value()) >= 0) { @@ -323,8 +329,10 @@ FilterGraphTest::testFilterAudio() { if (audio->isComplete()) { numSamples += audio->getNumSamples(); fsource->addAudio(audio.value()); - while(fsink->getAudio(filteredAudio.value()) >= 0) + while(fsink->getAudio(filteredAudio.value()) >= 0 && filteredAudio->isComplete()) { + TS_ASSERT_EQUALS(filteredAudio->getNumSamples(), frameSize); writeAudio(output, filteredAudio.value()); + } } byteOffset += bytesRead; } while(byteOffset < packet->getSize()); @@ -340,11 +348,15 @@ FilterGraphTest::testFilterAudio() { // cached packets do { decoder->decodeAudio(audio.value(), 0, 0); - if (audio->isComplete()) { + if (audio->isComplete()) fsource->addAudio(audio.value()); - while(fsink->getAudio(filteredAudio.value()) >= 0) + else + // tell the source we're at EOF + fsource->addAudio(0); + + while(fsink->getAudio(filteredAudio.value()) >= 0) + if (filteredAudio->isComplete()) writeAudio(output, filteredAudio.value()); - } } while (audio->isComplete()); fclose(output); diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.h index 92cc7e37..fd67ec7d 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/FilterGraphTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.cpp index 5df8347d..10bd976d 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.h index a018b5d8..a42849dd 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/FilterTypeTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.cpp index be2c09d0..e9b59c55 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.cpp @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "IndexEntryTest.h" #include #include diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.h index d7b0a52a..dbb29bcd 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/IndexEntryTest.h @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef INDEXENTRYTEST_H_ #define INDEXENTRYTEST_H_ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.cpp index 592d66fe..e0c8f576 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.h index 3f014a9f..30bb8789 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/KeyValueBagTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/Main.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/Main.cpp index 9f08dccf..15501a11 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/Main.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/Main.cpp @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include #include diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.am b/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.am index ac2757d8..298c9b40 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.am +++ b/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.am @@ -11,6 +11,7 @@ check_PROGRAMS=\ FilterGraphTester \ MediaAudioResamplerTester \ MediaPictureResamplerTester \ + EncoderTester \ DecoderTester \ PixelFormatTester \ CodecTester \ @@ -32,6 +33,7 @@ BUILT_SOURCES= \ FilterGraphTest_CXXRunner.cpp \ MediaAudioResamplerTest_CXXRunner.cpp \ MediaPictureResamplerTest_CXXRunner.cpp \ + EncoderTest_CXXRunner.cpp \ DecoderTest_CXXRunner.cpp \ PixelFormatTest_CXXRunner.cpp \ CodecTest_CXXRunner.cpp \ @@ -53,6 +55,7 @@ noinst_HEADERS = \ FilterGraphTest.h \ MediaAudioResamplerTest.h \ MediaPictureResamplerTest.h \ + EncoderTest.h \ DecoderTest.h \ PixelFormatTest.h \ CodecTest.h \ @@ -128,6 +131,17 @@ nodist_MediaPictureResamplerTester_SOURCES= \ MediaPictureResamplerTester_LDADD= \ $(top_builddir)/src/io/humble/libhumblevideo.la +EncoderTester_SOURCES= \ + EncoderTest.cpp \ + TestData.cpp \ + Main.cpp + +nodist_EncoderTester_SOURCES= \ + EncoderTest_CXXRunner.cpp + +EncoderTester_LDADD= \ + $(top_builddir)/src/io/humble/libhumblevideo.la + DecoderTester_SOURCES= \ DecoderTest.cpp \ TestData.cpp \ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.in b/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.in index 4aa63f8b..9446e472 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.in +++ b/humble-video-native/src/main/gnu/test/io/humble/video/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -80,14 +80,15 @@ build_triplet = @build@ host_triplet = @host@ check_PROGRAMS = FilterTypeTester$(EXEEXT) FilterGraphTester$(EXEEXT) \ MediaAudioResamplerTester$(EXEEXT) \ - MediaPictureResamplerTester$(EXEEXT) DecoderTester$(EXEEXT) \ - PixelFormatTester$(EXEEXT) CodecTester$(EXEEXT) \ - IndexEntryTester$(EXEEXT) MediaPacketTester$(EXEEXT) \ - MediaAudioTester$(EXEEXT) MediaPictureTester$(EXEEXT) \ - KeyValueBagTester$(EXEEXT) DemuxerTester$(EXEEXT) \ - MuxerTester$(EXEEXT) DemuxerFormatTester$(EXEEXT) \ - DemuxerStreamTester$(EXEEXT) MuxerFormatTester$(EXEEXT) \ - PropertyTester$(EXEEXT) RationalTester$(EXEEXT) + MediaPictureResamplerTester$(EXEEXT) EncoderTester$(EXEEXT) \ + DecoderTester$(EXEEXT) PixelFormatTester$(EXEEXT) \ + CodecTester$(EXEEXT) IndexEntryTester$(EXEEXT) \ + MediaPacketTester$(EXEEXT) MediaAudioTester$(EXEEXT) \ + MediaPictureTester$(EXEEXT) KeyValueBagTester$(EXEEXT) \ + DemuxerTester$(EXEEXT) MuxerTester$(EXEEXT) \ + DemuxerFormatTester$(EXEEXT) DemuxerStreamTester$(EXEEXT) \ + MuxerFormatTester$(EXEEXT) PropertyTester$(EXEEXT) \ + RationalTester$(EXEEXT) @VS_OS_WINDOWS_FALSE@am__append_1 = $(check_PROGRAMS) subdir = test/io/humble/video DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ @@ -147,6 +148,13 @@ DemuxerTester_OBJECTS = $(am_DemuxerTester_OBJECTS) \ $(nodist_DemuxerTester_OBJECTS) DemuxerTester_DEPENDENCIES = \ $(top_builddir)/src/io/humble/libhumblevideo.la +am_EncoderTester_OBJECTS = EncoderTest.$(OBJEXT) TestData.$(OBJEXT) \ + Main.$(OBJEXT) +nodist_EncoderTester_OBJECTS = EncoderTest_CXXRunner.$(OBJEXT) +EncoderTester_OBJECTS = $(am_EncoderTester_OBJECTS) \ + $(nodist_EncoderTester_OBJECTS) +EncoderTester_DEPENDENCIES = \ + $(top_builddir)/src/io/humble/libhumblevideo.la am_FilterGraphTester_OBJECTS = FilterGraphTest.$(OBJEXT) \ TestData.$(OBJEXT) lodepng.$(OBJEXT) Main.$(OBJEXT) nodist_FilterGraphTester_OBJECTS = \ @@ -294,7 +302,8 @@ SOURCES = $(CodecTester_SOURCES) $(nodist_CodecTester_SOURCES) \ $(nodist_DemuxerFormatTester_SOURCES) \ $(DemuxerStreamTester_SOURCES) \ $(nodist_DemuxerStreamTester_SOURCES) $(DemuxerTester_SOURCES) \ - $(nodist_DemuxerTester_SOURCES) $(FilterGraphTester_SOURCES) \ + $(nodist_DemuxerTester_SOURCES) $(EncoderTester_SOURCES) \ + $(nodist_EncoderTester_SOURCES) $(FilterGraphTester_SOURCES) \ $(nodist_FilterGraphTester_SOURCES) \ $(FilterTypeTester_SOURCES) $(nodist_FilterTypeTester_SOURCES) \ $(IndexEntryTester_SOURCES) $(nodist_IndexEntryTester_SOURCES) \ @@ -317,9 +326,9 @@ SOURCES = $(CodecTester_SOURCES) $(nodist_CodecTester_SOURCES) \ $(nodist_RationalTester_SOURCES) DIST_SOURCES = $(CodecTester_SOURCES) $(DecoderTester_SOURCES) \ $(DemuxerFormatTester_SOURCES) $(DemuxerStreamTester_SOURCES) \ - $(DemuxerTester_SOURCES) $(FilterGraphTester_SOURCES) \ - $(FilterTypeTester_SOURCES) $(IndexEntryTester_SOURCES) \ - $(KeyValueBagTester_SOURCES) \ + $(DemuxerTester_SOURCES) $(EncoderTester_SOURCES) \ + $(FilterGraphTester_SOURCES) $(FilterTypeTester_SOURCES) \ + $(IndexEntryTester_SOURCES) $(KeyValueBagTester_SOURCES) \ $(MediaAudioResamplerTester_SOURCES) \ $(MediaAudioTester_SOURCES) $(MediaPacketTester_SOURCES) \ $(MediaPictureResamplerTester_SOURCES) \ @@ -716,6 +725,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ @@ -784,6 +794,7 @@ BUILT_SOURCES = \ FilterGraphTest_CXXRunner.cpp \ MediaAudioResamplerTest_CXXRunner.cpp \ MediaPictureResamplerTest_CXXRunner.cpp \ + EncoderTest_CXXRunner.cpp \ DecoderTest_CXXRunner.cpp \ PixelFormatTest_CXXRunner.cpp \ CodecTest_CXXRunner.cpp \ @@ -805,6 +816,7 @@ noinst_HEADERS = \ FilterGraphTest.h \ MediaAudioResamplerTest.h \ MediaPictureResamplerTest.h \ + EncoderTest.h \ DecoderTest.h \ PixelFormatTest.h \ CodecTest.h \ @@ -874,6 +886,17 @@ nodist_MediaPictureResamplerTester_SOURCES = \ MediaPictureResamplerTester_LDADD = \ $(top_builddir)/src/io/humble/libhumblevideo.la +EncoderTester_SOURCES = \ + EncoderTest.cpp \ + TestData.cpp \ + Main.cpp + +nodist_EncoderTester_SOURCES = \ + EncoderTest_CXXRunner.cpp + +EncoderTester_LDADD = \ + $(top_builddir)/src/io/humble/libhumblevideo.la + DecoderTester_SOURCES = \ DecoderTest.cpp \ TestData.cpp \ @@ -1099,6 +1122,10 @@ DemuxerTester$(EXEEXT): $(DemuxerTester_OBJECTS) $(DemuxerTester_DEPENDENCIES) $ @rm -f DemuxerTester$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(DemuxerTester_OBJECTS) $(DemuxerTester_LDADD) $(LIBS) +EncoderTester$(EXEEXT): $(EncoderTester_OBJECTS) $(EncoderTester_DEPENDENCIES) $(EXTRA_EncoderTester_DEPENDENCIES) + @rm -f EncoderTester$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(EncoderTester_OBJECTS) $(EncoderTester_LDADD) $(LIBS) + FilterGraphTester$(EXEEXT): $(FilterGraphTester_OBJECTS) $(FilterGraphTester_DEPENDENCIES) $(EXTRA_FilterGraphTester_DEPENDENCIES) @rm -f FilterGraphTester$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(FilterGraphTester_OBJECTS) $(FilterGraphTester_LDADD) $(LIBS) @@ -1171,6 +1198,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DemuxerStreamTest_CXXRunner.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DemuxerTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DemuxerTest_CXXRunner.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EncoderTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EncoderTest_CXXRunner.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FilterGraphTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FilterGraphTest_CXXRunner.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FilterTypeTest.Po@am__quote@ @@ -1498,6 +1527,13 @@ MediaPictureResamplerTester.log: MediaPictureResamplerTester$(EXEEXT) --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +EncoderTester.log: EncoderTester$(EXEEXT) + @p='EncoderTester$(EXEEXT)'; \ + b='EncoderTester'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) DecoderTester.log: DecoderTester$(EXEEXT) @p='DecoderTester$(EXEEXT)'; \ b='DecoderTester'; \ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.cpp index bbbf78ba..d8033fe8 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.h index 3151bf87..84d1aa6b 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioResamplerTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.cpp index 054485d7..e2999ccd 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.h index d6153c53..5f7a9ba8 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaAudioTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.cpp index 17ca89df..db75c83a 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.cpp @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include "MediaPacketTest.h" MediaPacketTest::MediaPacketTest() { diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.h index 95137fb4..62ca13f7 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPacketTest.h @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef __MEDIAPACKET_TEST_H__ #define __MEDIAPACKET_TEST_H__ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.cpp index 6b121a34..e886e697 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.h index 52949c2c..f2b38783 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureResamplerTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.cpp index a14da917..eb6fb780 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.h index a6043331..f61bc0b6 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MediaPictureTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.cpp index f62890ea..de57a07e 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.cpp @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * MuxerFormatTest.cpp - * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #include #include diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.h index 7368dded..b43376d0 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerFormatTest.h @@ -1,26 +1,21 @@ -/* - * Copyright (c) 2013-Forward, Andrew "Art" Clarke +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. * - * This file is part of Humble Video. - * - * Humble Video is free software: you can redistribute it and/or modify + * Humble-Video is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * - * Humble Video is distributed in the hope that it will be useful, + * + * Humble-Video 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Humble Video. If not, see . * - * MuxerFormatTest.h - * - * Created on: Jun 28, 2013 - * Author: aclarke - */ + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef SINKFORMATTEST_H_ #define SINKFORMATTEST_H_ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.cpp index 1da037ae..194b5ea6 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -53,8 +53,9 @@ MuxerTest::testCreation() { e->setWidth(480); e->setHeight(320); - e->setPixelType(PixelFormat::PIX_FMT_YUV420P); + e->setPixelFormat(PixelFormat::PIX_FMT_YUV420P); e->setTimeBase(t.value()); + e->setFlag(Coder::FLAG_GLOBAL_HEADER, true); e->open(0, 0); diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.h index e06df286..b798997d 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/MuxerTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.cpp index 763cd204..bd89fa75 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.h index 33b74896..7ce53516 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/PixelFormatTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.cpp index 66ce2127..f511f87e 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.cpp @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ /* * PropertyTest.cpp * diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.h index efcce3ad..5fbfb61a 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/PropertyTest.h @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ /* * PropertyTest.h * diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.cpp index 66f9a391..5aca5146 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.cpp @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ // for isinf() #include diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.h index 438e9490..9a98d302 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/RationalTest.h @@ -1,3 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ #ifndef __RATIONAL_TEST_H__ #define __RATIONAL_TEST_H__ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/TestData.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/TestData.cpp index 94e71085..3ad4cdf1 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/TestData.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/TestData.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/TestData.h b/humble-video-native/src/main/gnu/test/io/humble/video/TestData.h index 4287fcd6..22909763 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/TestData.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/TestData.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ /* @@ -58,8 +58,8 @@ class TestData int64_t duration; int64_t filesize; int32_t bitrate; - io::humble::video::Codec::ID codec_ids[]; - io::humble::video::MediaDescriptor::Type codec_types[]; + io::humble::video::Codec::ID *codec_ids; + io::humble::video::MediaDescriptor::Type *codec_types; }; void fillPath(TestData::Fixture* f, char *dst, size_t size); diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/customio/Main.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/customio/Main.cpp index 329dd819..c127d20d 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/customio/Main.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/customio/Main.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/customio/Makefile.in b/humble-video-native/src/main/gnu/test/io/humble/video/customio/Makefile.in index e957a382..66bd5c37 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/customio/Makefile.in +++ b/humble-video-native/src/main/gnu/test/io/humble/video/customio/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.13.2 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. @@ -496,6 +496,7 @@ VS_LDFLAGS = @VS_LDFLAGS@ VS_LIBGCC = @VS_LIBGCC@ VS_LIBGCC_EH = @VS_LIBGCC_EH@ VS_LIBSTDCXX = @VS_LIBSTDCXX@ +VS_MVN_HOST = @VS_MVN_HOST@ VS_OS_WINDOWS = @VS_OS_WINDOWS@ VS_PROJECT_NAME = @VS_PROJECT_NAME@ VS_SWIG = @VS_SWIG@ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.cpp index 0614f4e1..768cfdac 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.cpp @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #include diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.h b/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.h index ad424c51..346f1a57 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.h +++ b/humble-video-native/src/main/gnu/test/io/humble/video/customio/StdioURLProtocolHandlerTest.h @@ -1,19 +1,19 @@ /******************************************************************************* - * Copyright (c) 2013, Art Clarke. All rights reserved. - * + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * * This file is part of Humble-Video. * * Humble-Video is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Humble-Video 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU Affero General Public License * along with Humble-Video. If not, see . *******************************************************************************/ #ifndef STDIOURLHANDLERTEST_H_ diff --git a/humble-video-native/src/main/gnu/test/io/humble/video/lodepng.cpp b/humble-video-native/src/main/gnu/test/io/humble/video/lodepng.cpp index ef6b315e..bd5b544a 100644 --- a/humble-video-native/src/main/gnu/test/io/humble/video/lodepng.cpp +++ b/humble-video-native/src/main/gnu/test/io/humble/video/lodepng.cpp @@ -1,27 +1,21 @@ -/* -LodePNG version 20130415 - -Copyright (c) 2005-2013 Lode Vandevenne - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ +/******************************************************************************* + * Copyright (c) 2014, Andrew "Art" Clarke. All rights reserved. + * + * This file is part of Humble-Video. + * + * Humble-Video is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Humble-Video 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Humble-Video. If not, see . + *******************************************************************************/ /* The manual and changelog are in the header file "lodepng.h" diff --git a/humble-video-noarch/src/main/java/io/humble/video/Coder.java b/humble-video-noarch/src/main/java/io/humble/video/Coder.java index 1899b3a1..4af47e10 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/Coder.java +++ b/humble-video-noarch/src/main/java/io/humble/video/Coder.java @@ -243,8 +243,8 @@ public PixelFormat.Type getPixelFormat() { *
* @param pixelFmt Pixel format to use. */ - public void setPixelType(PixelFormat.Type pixelFmt) { - VideoJNI.Coder_setPixelType(swigCPtr, this, pixelFmt.swigValue()); + public void setPixelFormat(PixelFormat.Type pixelFmt) { + VideoJNI.Coder_setPixelFormat(swigCPtr, this, pixelFmt.swigValue()); } /** @@ -373,6 +373,62 @@ public int getFrameSize() { return VideoJNI.Coder_getFrameSize(swigCPtr, this); } +/** + * Get the 32-bit compliment of all flags. + */ + public int getFlags() { + return VideoJNI.Coder_getFlags(swigCPtr, this); + } + +/** + * Check if a given flag is set. + */ + public int getFlag(Coder.Flag flag) { + return VideoJNI.Coder_getFlag(swigCPtr, this, flag.swigValue()); + } + +/** + * Get the 32-bit compliment of all flags 2 flags + */ + public int getFlags2() { + return VideoJNI.Coder_getFlags2(swigCPtr, this); + } + +/** + * Check if a given flag2 flag is set. + */ + public int getFlag2(Coder.Flag2 flag) { + return VideoJNI.Coder_getFlag2(swigCPtr, this, flag.swigValue()); + } + +/** + * Set a new bitmask of all Flag values (bit xored together). + */ + public void setFlags(int newVal) { + VideoJNI.Coder_setFlags(swigCPtr, this, newVal); + } + +/** + * Set a flag to true or false. + */ + public void setFlag(Coder.Flag flag, boolean value) { + VideoJNI.Coder_setFlag(swigCPtr, this, flag.swigValue(), value); + } + +/** + * Set a new bitmask of all Flag2 values (bit xored together). + */ + public void setFlags2(int newVal) { + VideoJNI.Coder_setFlags2(swigCPtr, this, newVal); + } + +/** + * Set a flag2 to true or false. + */ + public void setFlag2(Coder.Flag2 flag, boolean value) { + VideoJNI.Coder_setFlag2(swigCPtr, this, flag.swigValue(), value); + } + /** * The state that a Coder can be in. */ diff --git a/humble-video-noarch/src/main/java/io/humble/video/Decoder.java b/humble-video-noarch/src/main/java/io/humble/video/Decoder.java index 5bbae1e3..c87a6ac1 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/Decoder.java +++ b/humble-video-noarch/src/main/java/io/humble/video/Decoder.java @@ -187,4 +187,27 @@ public int decodeVideo(MediaPicture output, MediaPacket packet, int byteOffset) return VideoJNI.Decoder_decodeVideo(swigCPtr, this, MediaPicture.getCPtr(output), output, MediaPacket.getCPtr(packet), packet, byteOffset); } +/** + * Decode this packet into output. It will
+ * try to fill up the media object, starting
+ * from the byteOffset inside this packet.
+ *


+ * The caller is responsible for allocating the
+ * correct underlying Media object. This function will overwrite
+ * any data in the samples object.
+ *


+ * @param output The Media we decode to. Caller must check if it is complete on return.
+ * @param packet The packet we're attempting to decode from.
+ * @param byteOffset Where in the packet payload to start decoding
+ *
+ * @return number of bytes actually processed from the packet, or negative for error
+ *
+ * @throws InvalidArgument if the media type is not compatible with this decoder.
+ * @see decodeVideo
+ * @see decodeAudio + */ + public int decode(MediaSampled output, MediaPacket packet, int byteOffset) { + return VideoJNI.Decoder_decode(swigCPtr, this, MediaSampled.getCPtr(output), output, MediaPacket.getCPtr(packet), packet, byteOffset); + } + } diff --git a/humble-video-noarch/src/main/java/io/humble/video/Demuxer.java b/humble-video-noarch/src/main/java/io/humble/video/Demuxer.java index dd98165f..71826d0f 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/Demuxer.java +++ b/humble-video-noarch/src/main/java/io/humble/video/Demuxer.java @@ -174,13 +174,6 @@ public int getInputBufferLength() { *

The caller must call #close() when done, but if not, the
* Demuxer will eventually close
* them later but warn to the logging system.
- *

If the current thread is interrupted while this blocking method
- * is running the method will return with a negative value.
- * To check if the method exited because of an interruption
- * pass the return value to Error#make(int) and then
- * check Error#getType() to see if it is
- * Error.Type#ERROR_INTERRUPTED.
- *


*
* @param url The resource to open; The format of this string is any
* url that FFMPEG supports (including additional protocols if added
@@ -211,13 +204,6 @@ public void open(String url, DemuxerFormat format, boolean streamsCanBeAddedDyna /** * Close the container. open() must have been called first, or
* else an error is returned.
- *

If the current thread is interrupted while this blocking method
- * is running the method will return with a negative value.
- * To check if the method exited because of an interruption
- * pass the return value to Error#make(int) and then
- * check Error#getType() to see if it is
- * Error.Type#ERROR_INTERRUPTED.
- *


*


* If this method exits because of an interruption,
* all resources will be closed anyway.
@@ -242,17 +228,17 @@ public DemuxerStream getStream(int streamIndex) throws java.lang.InterruptedExce * Reads the next packet in the Demuxer into the Packet. This method will
* release any buffers currently held by this packet and allocate
* new ones.
- *

If the current thread is interrupted while this blocking method
- * is running the method will return with a negative value.
- * To check if the method exited because of an interruption
- * pass the return value to Error#make(int) and then
- * check Error#getType() to see if it is
- * Error.Type#ERROR_INTERRUPTED.
+ *


+ * For non-blocking IO data sources, it is possible for this method
+ * to return as successful but with no complete packet. In that case
+ * the caller should retry again later (think EAGAIN) semantics.
*


*
* @param packet [In/Out] The packet the Demuxer will read into.
*
- * @return 0 if successful, or <0 if not. + * @return 0 if successful, or <0 if not.
+ * @throws RuntimeException if an error occurs except for EOF (in which case <0 returned)
+ * or EAGAIN (in which case 0 returned with an incomplete packet). */ public int read(MediaPacket packet) throws java.lang.InterruptedException, java.io.IOException { return VideoJNI.Demuxer_read(swigCPtr, this, MediaPacket.getCPtr(packet), packet); @@ -266,13 +252,7 @@ public int read(MediaPacket packet) throws java.lang.InterruptedException, java. * read packets, but this method can be non-blocking potentially until end of container
* to get all meta data. Take care when you call it.
*

After this method is called, other meta data methods like #getDuration() should
- * work.

If the current thread is interrupted while this blocking method
- * is running the method will return with a negative value.
- * To check if the method exited because of an interruption
- * pass the return value to Error#make(int) and then
- * check Error#getType() to see if it is
- * Error.Type#ERROR_INTERRUPTED.
- *

+ * work.

*/ public void queryStreamMetaData() throws java.lang.InterruptedException, java.io.IOException { VideoJNI.Demuxer_queryStreamMetaData(swigCPtr, this); diff --git a/humble-video-noarch/src/main/java/io/humble/video/Encoder.java b/humble-video-noarch/src/main/java/io/humble/video/Encoder.java index bc42a2ab..bfc44a49 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/Encoder.java +++ b/humble-video-noarch/src/main/java/io/humble/video/Encoder.java @@ -112,6 +112,16 @@ public int hashCode() { // JNIHelper.swg: End generated code +/** + * the number of media object the encoder had to drop (i.e. skip
+ * encoding) in order to ensure that time stamp values are
+ * monotonically increasing. See https://code.google.com/p/xuggle/issues/detail?id=180
+ * for details on why this is. + */ + public long getNumDroppedFrames() { + return VideoJNI.Encoder_getNumDroppedFrames(swigCPtr, this); + } + /** * Create a Encoder that will use the given Codec.
*
@@ -154,13 +164,24 @@ public void open(KeyValueBag inputOptions, KeyValueBag unsetOptions) { * this method passing in 0 (null) for frame to tell the encoder
* to flush any data it was keeping a hold of.
*
- * @param output [out] The packet to encode into. It will point
- * to a buffer allocated in the frame. Caller should check MediaPacket.isComplete()
- * after call to find out if we had enough information to encode a full packet.
- * @param frame [in/out] The frame to encode + * @param output [out] The packet to encode into. Caller should check
+ * MediaPacket.isComplete() after call to find out if we had enough
+ * information to encode a full packet.
+ * @param picture [in] The picture to encode
+ *
+ * Note: caller must ensure that output has sufficient space to
+ * contain a full packet. Alas, there is currently no way to
+ * query an encoder to find out the maximum packet size that
+ * can be output (bummer, I know). That leaves the caller two
+ * options. (1) You can call Packet.make() before each encode
+ * call, and then the encoder will automagically create the correct
+ * sized buffer for that call (but if you reuse the packet, it
+ * may be too small for the next caller). Or (2) you can call
+ * Packet.make(int) with a value that will be larger than your
+ * max packet size (in which case you can reuse the packet). */ - public void encodeVideo(MediaPacket output, MediaPicture frame) { - VideoJNI.Encoder_encodeVideo(swigCPtr, this, MediaPacket.getCPtr(output), output, MediaPicture.getCPtr(frame), frame); + public void encodeVideo(MediaPacket output, MediaPicture picture) { + VideoJNI.Encoder_encodeVideo(swigCPtr, this, MediaPacket.getCPtr(output), output, MediaPicture.getCPtr(picture), picture); } /** @@ -173,13 +194,58 @@ public void encodeVideo(MediaPacket output, MediaPicture frame) { * this method passing in 0 (null) for samples to tell the encoder
* to flush any data it was keeping a hold of.
*
- * @param output [out] The packet to encode into. It will point
- * to a buffer allocated in the frame. Caller should check MediaPacket.isComplete()
- * after call to find out if we had enough information to encode a full packet.
- * @param samples [in] The samples to consume + * @param output [out] The packet to encode into. Caller should check
+ * MediaPacket.isComplete() after call to find out if we had enough
+ * information to encode a full packet.
+ * @param samples [in] The samples to consume
+ *
+ * Note: caller must ensure that output has sufficient space to
+ * contain a full packet. Alas, there is currently no way to
+ * query an encoder to find out the maximum packet size that
+ * can be output (bummer, I know). That leaves the caller two
+ * options. (1) You can call Packet.make() before each encode
+ * call, and then the encoder will automagically create the correct
+ * sized buffer for that call (but if you reuse the packet, it
+ * may be too small for the next caller). Or (2) you can call
+ * Packet.make(int) with a value that will be larger than your
+ * max packet size (in which case you can reuse the packet). */ public void encodeAudio(MediaPacket output, MediaAudio samples) { VideoJNI.Encoder_encodeAudio(swigCPtr, this, MediaPacket.getCPtr(output), output, MediaAudio.getCPtr(samples), samples); } +/** + * Encode the given Media using this encoder.
+ *
+ * Callers should call this repeatedly on a media object ntil
+ * we consume all the media.
+ *
+ * Also, when done in order to flush the encoder, caller should call
+ * this method passing in 0 (null) for media to tell the encoder
+ * to flush any data it was keeping a hold of.
+ *
+ * @param output [out] The packet to encode into. Caller should check
+ * MediaPacket.isComplete() after call to find out if we had enough
+ * information to encode a full packet.
+ *
+ *
+ * Note: caller must ensure that output has sufficient space to
+ * contain a full packet. Alas, there is currently no way to
+ * query an encoder to find out the maximum packet size that
+ * can be output (bummer, I know). That leaves the caller two
+ * options. (1) You can call Packet.make() before each encode
+ * call, and then the encoder will automagically create the correct
+ * sized buffer for that call (but if you reuse the packet, it
+ * may be too small for the next caller). Or (2) you can call
+ * Packet.make(int) with a value that will be larger than your
+ * max packet size (in which case you can reuse the packet).
+ *
+ * @throws throws an exception if getCodecType() and the underlying
+ * media object do not align (e.g. if you pass in a MediaPicture but the
+ * CodecType is audio data). + */ + public void encode(MediaPacket output, MediaSampled media) { + VideoJNI.Encoder_encode(swigCPtr, this, MediaPacket.getCPtr(output), output, MediaSampled.getCPtr(media), media); + } + } diff --git a/humble-video-noarch/src/main/java/io/humble/video/FilterSink.java b/humble-video-noarch/src/main/java/io/humble/video/FilterSink.java index ba530fc5..b6801d71 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/FilterSink.java +++ b/humble-video-noarch/src/main/java/io/humble/video/FilterSink.java @@ -112,4 +112,19 @@ public int hashCode() { // JNIHelper.swg: End generated code +/** + * Set the frame size of this sink. If set to non-zero then #getAudio(MediaAudio)
+ * will only every return exactly that number of samples. + */ + public void setFrameSize(int arg0) { + VideoJNI.FilterSink_setFrameSize(swigCPtr, this, arg0); + } + +/** + * Get the frame size. + */ + public int getFrameSize() { + return VideoJNI.FilterSink_getFrameSize(swigCPtr, this); + } + } diff --git a/humble-video-noarch/src/main/java/io/humble/video/MediaAudioResampler.java b/humble-video-noarch/src/main/java/io/humble/video/MediaAudioResampler.java index d169087b..9471a3d5 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/MediaAudioResampler.java +++ b/humble-video-noarch/src/main/java/io/humble/video/MediaAudioResampler.java @@ -12,7 +12,7 @@ * A MediaAudioResampler object resamples MediaAudio objects from
* one format/sample-rate/channel-layout to another. */ -public class MediaAudioResampler extends Configurable { +public class MediaAudioResampler extends MediaResampler { // JNIHelper.swg: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> /** @@ -201,8 +201,12 @@ public void open() { * @throws RuntimeError if we get an error or InvalidArgument if the attributes of
* in or out do not match what this resampler expected. */ - public int resample(MediaAudio out, MediaAudio in) { - return VideoJNI.MediaAudioResampler_resample(swigCPtr, this, MediaAudio.getCPtr(out), out, MediaAudio.getCPtr(in), in); + public int resample(MediaSampled out, MediaSampled in) { + return VideoJNI.MediaAudioResampler_resample(swigCPtr, this, MediaSampled.getCPtr(out), out, MediaSampled.getCPtr(in), in); + } + + public int resampleAudio(MediaAudio out, MediaAudio in) { + return VideoJNI.MediaAudioResampler_resampleAudio(swigCPtr, this, MediaAudio.getCPtr(out), out, MediaAudio.getCPtr(in), in); } /** @@ -320,52 +324,8 @@ public void setTimeBase(Rational rational) { VideoJNI.MediaAudioResampler_setTimeBase(swigCPtr, this, Rational.getCPtr(rational), rational); } - public MediaAudioResampler.State getState() { - return MediaAudioResampler.State.swigToEnum(VideoJNI.MediaAudioResampler_getState(swigCPtr, this)); - } - - public enum State { - STATE_INITED, - STATE_OPENED, - STATE_ERROR, - ; - - public final int swigValue() { - return swigValue; - } - - public static State swigToEnum(int swigValue) { - State[] swigValues = State.class.getEnumConstants(); - if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) - return swigValues[swigValue]; - for (State swigEnum : swigValues) - if (swigEnum.swigValue == swigValue) - return swigEnum; - throw new IllegalArgumentException("No enum " + State.class + " with value " + swigValue); - } - - @SuppressWarnings("unused") - private State() { - this.swigValue = SwigNext.next++; - } - - @SuppressWarnings("unused") - private State(int swigValue) { - this.swigValue = swigValue; - SwigNext.next = swigValue+1; - } - - @SuppressWarnings("unused") - private State(State swigEnum) { - this.swigValue = swigEnum.swigValue; - SwigNext.next = this.swigValue+1; - } - - private final int swigValue; - - private static class SwigNext { - private static int next = 0; - } + public MediaResampler.State getState() { + return MediaResampler.State.swigToEnum(VideoJNI.MediaAudioResampler_getState(swigCPtr, this)); } } diff --git a/humble-video-noarch/src/main/java/io/humble/video/MediaPacket.java b/humble-video-noarch/src/main/java/io/humble/video/MediaPacket.java index 1cf07cb2..197bc611 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/MediaPacket.java +++ b/humble-video-noarch/src/main/java/io/humble/video/MediaPacket.java @@ -312,7 +312,7 @@ public int getMaxSize() { /** * Get the container-specific index for the stream this packet is
* part of.
- * @return Stream in container that this packet has data for. + * @return Stream in container that this packet has data for, or <0 if unsure. */ public int getStreamIndex() { return VideoJNI.MediaPacket_getStreamIndex(swigCPtr, this); @@ -446,12 +446,10 @@ public void setConvergenceDuration(long duration) { * may allocate a larger payloadSize.
*


* @param payloadSize The (minimum) payloadSize of this packet in bytes. It is ok to
- * pass in 0 here, in which case the packet will later allocate memory if needed.
- *
- * @return >= 0 if successful. < 0 if error. + * pass in 0 here, in which case the packet will later allocate memory if needed. */ - public int reset(int payloadSize) { - return VideoJNI.MediaPacket_reset(swigCPtr, this, payloadSize); + public void reset(int payloadSize) { + VideoJNI.MediaPacket_reset(swigCPtr, this, payloadSize); } public enum SideDataType { diff --git a/humble-video-noarch/src/main/java/io/humble/video/MediaPictureResampler.java b/humble-video-noarch/src/main/java/io/humble/video/MediaPictureResampler.java index 419d25b7..e422907c 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/MediaPictureResampler.java +++ b/humble-video-noarch/src/main/java/io/humble/video/MediaPictureResampler.java @@ -12,7 +12,7 @@ * Converts MediaPicture objects of a given width, height and format to a new
* width, height or format. */ -public class MediaPictureResampler extends Configurable { +public class MediaPictureResampler extends MediaResampler { // JNIHelper.swg: Start generated code // >>>>>>>>>>>>>>>>>>>>>>>>>>> /** @@ -129,10 +129,6 @@ public String toString() } - public MediaPictureResampler.State getState() { - return MediaPictureResampler.State.swigToEnum(VideoJNI.MediaPictureResampler_getState(swigCPtr, this)); - } - /** * Get the width in pixels we expect on the input frame to the resampler.
* @return The width we expect on the input frame to the resampler. @@ -202,8 +198,15 @@ public void open() { * @throws InvalidArgument if in our out does not match the parameters this
* resampler was set with. */ - public void resample(MediaPicture out, MediaPicture in) { - VideoJNI.MediaPictureResampler_resample(swigCPtr, this, MediaPicture.getCPtr(out), out, MediaPicture.getCPtr(in), in); + public int resample(MediaSampled out, MediaSampled in) { + return VideoJNI.MediaPictureResampler_resample(swigCPtr, this, MediaSampled.getCPtr(out), out, MediaSampled.getCPtr(in), in); + } + +/** + * A more precisely typed way to call #resample + */ + public int resamplePicture(MediaPicture out, MediaPicture in) { + return VideoJNI.MediaPictureResampler_resamplePicture(swigCPtr, this, MediaPicture.getCPtr(out), out, MediaPicture.getCPtr(in), in); } /** @@ -283,48 +286,4 @@ private static class SwigNext { } } - public enum State { - STATE_INITED, - STATE_OPENED, - STATE_ERROR, - ; - - public final int swigValue() { - return swigValue; - } - - public static State swigToEnum(int swigValue) { - State[] swigValues = State.class.getEnumConstants(); - if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) - return swigValues[swigValue]; - for (State swigEnum : swigValues) - if (swigEnum.swigValue == swigValue) - return swigEnum; - throw new IllegalArgumentException("No enum " + State.class + " with value " + swigValue); - } - - @SuppressWarnings("unused") - private State() { - this.swigValue = SwigNext.next++; - } - - @SuppressWarnings("unused") - private State(int swigValue) { - this.swigValue = swigValue; - SwigNext.next = swigValue+1; - } - - @SuppressWarnings("unused") - private State(State swigEnum) { - this.swigValue = swigEnum.swigValue; - SwigNext.next = this.swigValue+1; - } - - private final int swigValue; - - private static class SwigNext { - private static int next = 0; - } - } - } diff --git a/humble-video-noarch/src/main/java/io/humble/video/MediaRaw.java b/humble-video-noarch/src/main/java/io/humble/video/MediaRaw.java index 257fc9c1..42a3e8ed 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/MediaRaw.java +++ b/humble-video-noarch/src/main/java/io/humble/video/MediaRaw.java @@ -223,22 +223,11 @@ public void setComplete(boolean value) { /** * Sets the timebase on this object.
*
- * If the object has a timestamp, then it is automatically rescaled to the new timebase.
- * By default the timestamp will be rounded down if there is any fractional component
- * after the rebasing. + * Note: This will NOT automatically rescale the timestamp set -- so if you change
+ * the timebase, you almost definitely want to change the timestamp as well. */ public void setTimeBase(Rational timeBase) { - VideoJNI.MediaRaw_setTimeBase__SWIG_0(swigCPtr, this, Rational.getCPtr(timeBase), timeBase); - } - -/** - * Sets the timbase on this object.
- *
- * If the object has a timestamp, then it is automatically rescaled (with the
- * given rounding parameter) to the new timebase. - */ - public void setTimeBase(Rational timeBase, Rational.Rounding rounding) { - VideoJNI.MediaRaw_setTimeBase__SWIG_1(swigCPtr, this, Rational.getCPtr(timeBase), timeBase, rounding.swigValue()); + VideoJNI.MediaRaw_setTimeBase(swigCPtr, this, Rational.getCPtr(timeBase), timeBase); } } diff --git a/humble-video-noarch/src/main/java/io/humble/video/MediaResampler.java b/humble-video-noarch/src/main/java/io/humble/video/MediaResampler.java new file mode 100644 index 00000000..276bc0d2 --- /dev/null +++ b/humble-video-noarch/src/main/java/io/humble/video/MediaResampler.java @@ -0,0 +1,184 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.6 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package io.humble.video; +import io.humble.ferry.*; +/** + * Super class for Media Resampler objects.
+ *
+ * A resampler converts a type of media (e.g. Picture) to another
+ * type of the same media with some parameters change (e.g. color). + */ +public class MediaResampler extends Configurable { + // JNIHelper.swg: Start generated code + // >>>>>>>>>>>>>>>>>>>>>>>>>>> + /** + * This method is only here to use some references and remove + * a Eclipse compiler warning. + */ + @SuppressWarnings("unused") + private void noop() + { + Buffer.make(null, 1); + } + + private volatile long swigCPtr; + + /** + * Internal Only. + */ + protected MediaResampler(long cPtr, boolean cMemoryOwn) { + super(VideoJNI.MediaResampler_SWIGUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + /** + * Internal Only. + */ + protected MediaResampler(long cPtr, boolean cMemoryOwn, + java.util.concurrent.atomic.AtomicLong ref) + { + super(VideoJNI.MediaResampler_SWIGUpcast(cPtr), + cMemoryOwn, ref); + swigCPtr = cPtr; + } + + /** + * Internal Only. Not part of public API. + * + * Get the raw value of the native object that obj is proxying for. + * + * @param obj The java proxy object for a native object. + * @return The raw pointer obj is proxying for. + */ + protected static long getCPtr(MediaResampler obj) { + if (obj == null) return 0; + return obj.getMyCPtr(); + } + + /** + * Internal Only. Not part of public API. + * + * Get the raw value of the native object that we're proxying for. + * + * @return The raw pointer we're proxying for. + */ + protected long getMyCPtr() { + if (swigCPtr == 0) throw new IllegalStateException("underlying native object already deleted"); + return swigCPtr; + } + + /** + * Create a new MediaResampler object that is actually referring to the + * exact same underlying native object. + * + * @return the new Java object. + */ + @Override + public MediaResampler copyReference() { + if (swigCPtr == 0) + return null; + else + return new MediaResampler(swigCPtr, swigCMemOwn, getJavaRefCount()); + } + + /** + * Compares two values, returning true if the underlying objects in native code are the same object. + * + * That means you can have two different Java objects, but when you do a comparison, you'll find out + * they are the EXACT same object. + * + * @return True if the underlying native object is the same. False otherwise. + */ + public boolean equals(Object obj) { + boolean equal = false; + if (obj instanceof MediaResampler) + equal = (((MediaResampler)obj).swigCPtr == this.swigCPtr); + return equal; + } + + /** + * Get a hashable value for this object. + * + * @return the hashable value. + */ + public int hashCode() { + return (int)swigCPtr; + } + + // <<<<<<<<<<<<<<<<<<<<<<<<<<< + // JNIHelper.swg: End generated code + + public MediaResampler.State getState() { + return MediaResampler.State.swigToEnum(VideoJNI.MediaResampler_getState(swigCPtr, this)); + } + +/** + * Resample in to out based on the resampler parameters.
+ *
+ * Resamples the in media based on the parameters set when
+ * this resampler was constructed.
+ *
+ * @param out The media we'll resample to. Check
+ * MediaSampled#isComplete() after the call.
+ * @param in The media we'll resample from.
+ *
+ * @throws InvalidArgument if in our out does not match the parameters this
+ * resampler was set with.
+ * @throws InvalidArgument if the sub-class of in our out is of an invalid
+ * type (e.g. passsing audio to a picture resampler). + */ + public int resample(MediaSampled out, MediaSampled in) { + return VideoJNI.MediaResampler_resample(swigCPtr, this, MediaSampled.getCPtr(out), out, MediaSampled.getCPtr(in), in); + } + + public enum State { + STATE_INITED, + STATE_OPENED, + STATE_ERROR, + ; + + public final int swigValue() { + return swigValue; + } + + public static State swigToEnum(int swigValue) { + State[] swigValues = State.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (State swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + State.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private State() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private State(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private State(State swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/humble-video-noarch/src/main/java/io/humble/video/Muxer.java b/humble-video-noarch/src/main/java/io/humble/video/Muxer.java index 0ae49a2a..8c097dbc 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/Muxer.java +++ b/humble-video-noarch/src/main/java/io/humble/video/Muxer.java @@ -165,10 +165,24 @@ public Muxer.State getState() { return Muxer.State.swigToEnum(VideoJNI.Muxer_getState(swigCPtr, this)); } +/** + * Open the Muxer and write any headers.
+ *
+ * @param inputOptions muxer-specific options to set before opening the muxer. Can be null.
+ * @param outputOptions if non null, the passed in bag will be emptied, and the filled
+ * with any options from inputOptions that could not be set on the muxer. + */ public void open(KeyValueBag inputOptions, KeyValueBag outputOptions) throws java.lang.InterruptedException, java.io.IOException { VideoJNI.Muxer_open(swigCPtr, this, KeyValueBag.getCPtr(inputOptions), inputOptions, KeyValueBag.getCPtr(outputOptions), outputOptions); } +/** + * Close the muxer and write any trailers.
+ *
+ * Note: Calls MUST call this method -- it will not automatically be called
+ * when the object is finalized as some muxers struggle when you write trailers
+ * on a different thread (the finalizer thread) than the header was written on. + */ public void close() { VideoJNI.Muxer_close(swigCPtr, this); } @@ -196,8 +210,7 @@ public void setOutputBufferLength(int size) { * Return the output buffer length.
*
* @return The input buffer length Humble Video told FFMPEG to assume.
- * 0 means FFMPEG should choose it's own
- * size (and it'll probably be 32768). + * 0 means FFMPEG should choose it's own size (and it'll probably be 32768). */ public int getOutputBufferLength() { return VideoJNI.Muxer_getOutputBufferLength(swigCPtr, this); @@ -230,8 +243,7 @@ public MuxerStream getStream(int position) throws java.lang.InterruptedException /** * Writes the given packet to the Muxer.
*
- * @param packet The packet to write. If null, it tells the muxer to flush any data queued up to
- * the underlying storage (disk, network, etc).
+ * @param packet The packet to write.
* @param forceInterleave If true, this Muxer will ensure that all packets are interleaved across streams
* (i.e. monotonically increasing timestamps in the Muxer container). If false, then the caller
* is responsible for ensuring the interleaving is valid for the container. Note this method is faster
diff --git a/humble-video-noarch/src/main/java/io/humble/video/VideoJNI.java b/humble-video-noarch/src/main/java/io/humble/video/VideoJNI.java index 4bda2d71..aff96d51 100644 --- a/humble-video-noarch/src/main/java/io/humble/video/VideoJNI.java +++ b/humble-video-noarch/src/main/java/io/humble/video/VideoJNI.java @@ -304,8 +304,7 @@ public static void noop() { public final static native long MediaRaw_getPacketDuration(long jarg1, MediaRaw jarg1_); public final static native long MediaRaw_getBestEffortTimeStamp(long jarg1, MediaRaw jarg1_); public final static native void MediaRaw_setComplete(long jarg1, MediaRaw jarg1_, boolean jarg2); - public final static native void MediaRaw_setTimeBase__SWIG_0(long jarg1, MediaRaw jarg1_, long jarg2, Rational jarg2_); - public final static native void MediaRaw_setTimeBase__SWIG_1(long jarg1, MediaRaw jarg1_, long jarg2, Rational jarg2_, int jarg3); + public final static native void MediaRaw_setTimeBase(long jarg1, MediaRaw jarg1_, long jarg2, Rational jarg2_); public final static native int MediaSampled_getNumSamples(long jarg1, MediaSampled jarg1_); public final static native int AudioChannel_CH_UNKNOWN_get(); public final static native int AudioChannel_CH_FRONT_LEFT_get(); @@ -513,7 +512,7 @@ public static void noop() { public final static native void MediaPacket_setPosition(long jarg1, MediaPacket jarg1_, long jarg2); public final static native long MediaPacket_getConvergenceDuration(long jarg1, MediaPacket jarg1_); public final static native void MediaPacket_setConvergenceDuration(long jarg1, MediaPacket jarg1_, long jarg2); - public final static native int MediaPacket_reset(long jarg1, MediaPacket jarg1_, int jarg2); + public final static native void MediaPacket_reset(long jarg1, MediaPacket jarg1_, int jarg2); public final static native int Configurable_getNumProperties(long jarg1, Configurable jarg1_); public final static native long Configurable_getPropertyMetaData__SWIG_0(long jarg1, Configurable jarg1_, int jarg2); public final static native long Configurable_getPropertyMetaData__SWIG_1(long jarg1, Configurable jarg1_, String jarg2); @@ -529,6 +528,8 @@ public static void noop() { public final static native long Configurable_getPropertyAsRational(long jarg1, Configurable jarg1_, String jarg2); public final static native boolean Configurable_getPropertyAsBoolean(long jarg1, Configurable jarg1_, String jarg2); public final static native void Configurable_setProperty__SWIG_5(long jarg1, Configurable jarg1_, long jarg2, KeyValueBag jarg2_, long jarg3, KeyValueBag jarg3_); + public final static native int MediaResampler_getState(long jarg1, MediaResampler jarg1_); + public final static native int MediaResampler_resample(long jarg1, MediaResampler jarg1_, long jarg2, MediaSampled jarg2_, long jarg3, MediaSampled jarg3_); public final static native int MediaPictureResampler_FLAG_FAST_BILINEAR_get(); public final static native int MediaPictureResampler_FLAG_BILINEAR_get(); public final static native int MediaPictureResampler_FLAG_BICUBIC_get(); @@ -549,7 +550,6 @@ public static void noop() { public final static native int MediaPictureResampler_FLAG_ACCURATE_RND_get(); public final static native int MediaPictureResampler_FLAG_BITEXACT_get(); public final static native int MediaPictureResampler_FLAG_ERROR_DIFFUSION_get(); - public final static native int MediaPictureResampler_getState(long jarg1, MediaPictureResampler jarg1_); public final static native int MediaPictureResampler_getInputWidth(long jarg1, MediaPictureResampler jarg1_); public final static native int MediaPictureResampler_getInputHeight(long jarg1, MediaPictureResampler jarg1_); public final static native int MediaPictureResampler_getInputFormat(long jarg1, MediaPictureResampler jarg1_); @@ -557,7 +557,8 @@ public static void noop() { public final static native int MediaPictureResampler_getOutputHeight(long jarg1, MediaPictureResampler jarg1_); public final static native int MediaPictureResampler_getOutputFormat(long jarg1, MediaPictureResampler jarg1_); public final static native void MediaPictureResampler_open(long jarg1, MediaPictureResampler jarg1_); - public final static native void MediaPictureResampler_resample(long jarg1, MediaPictureResampler jarg1_, long jarg2, MediaPicture jarg2_, long jarg3, MediaPicture jarg3_); + public final static native int MediaPictureResampler_resample(long jarg1, MediaPictureResampler jarg1_, long jarg2, MediaSampled jarg2_, long jarg3, MediaSampled jarg3_); + public final static native int MediaPictureResampler_resamplePicture(long jarg1, MediaPictureResampler jarg1_, long jarg2, MediaPicture jarg2_, long jarg3, MediaPicture jarg3_); public final static native long MediaPictureResampler_make(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5, int jarg6, int jarg7); public final static native long MediaAudioResampler_make(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5, int jarg6); public final static native int MediaAudioResampler_getOutputLayout(long jarg1, MediaAudioResampler jarg1_); @@ -569,7 +570,8 @@ public static void noop() { public final static native int MediaAudioResampler_getInputChannels(long jarg1, MediaAudioResampler jarg1_); public final static native int MediaAudioResampler_getOutputChannels(long jarg1, MediaAudioResampler jarg1_); public final static native void MediaAudioResampler_open(long jarg1, MediaAudioResampler jarg1_); - public final static native int MediaAudioResampler_resample(long jarg1, MediaAudioResampler jarg1_, long jarg2, MediaAudio jarg2_, long jarg3, MediaAudio jarg3_); + public final static native int MediaAudioResampler_resample(long jarg1, MediaAudioResampler jarg1_, long jarg2, MediaSampled jarg2_, long jarg3, MediaSampled jarg3_); + public final static native int MediaAudioResampler_resampleAudio(long jarg1, MediaAudioResampler jarg1_, long jarg2, MediaAudio jarg2_, long jarg3, MediaAudio jarg3_); public final static native long MediaAudioResampler_getNextPts(long jarg1, MediaAudioResampler jarg1_, long jarg2); public final static native void MediaAudioResampler_setCompensation(long jarg1, MediaAudioResampler jarg1_, int jarg2, int jarg3); public final static native int MediaAudioResampler_dropOutput(long jarg1, MediaAudioResampler jarg1_, int jarg2); @@ -1086,6 +1088,66 @@ public static void noop() { public final static native int CodecDescriptor_getId(long jarg1, CodecDescriptor jarg1_); public final static native int CodecDescriptor_getType(long jarg1, CodecDescriptor jarg1_); public final static native long CodecDescriptor_make(int jarg1); + public final static native int Coder_FLAG_UNALIGNED_get(); + public final static native int Coder_FLAG_QSCALE_get(); + public final static native int Coder_FLAG_4MV_get(); + public final static native int Coder_FLAG_QPEL_get(); + public final static native int Coder_FLAG_GMC_get(); + public final static native int Coder_FLAG_MV0_get(); + public final static native int Coder_FLAG_INPUT_PRESERVED_get(); + public final static native int Coder_FLAG_PASS1_get(); + public final static native int Coder_FLAG_PASS2_get(); + public final static native int Coder_FLAG_GRAY_get(); + public final static native int Coder_FLAG_EMU_EDGE_get(); + public final static native int Coder_FLAG_PSNR_get(); + public final static native int Coder_FLAG_TRUNCATED_get(); + public final static native int Coder_FLAG_NORMALIZE_AQP_get(); + public final static native int Coder_FLAG_INTERLACED_DCT_get(); + public final static native int Coder_FLAG_LOW_DELAY_get(); + public final static native int Coder_FLAG_GLOBAL_HEADER_get(); + public final static native int Coder_FLAG_BITEXACT_get(); + public final static native int Coder_FLAG_AC_PRED_get(); + public final static native int Coder_FLAG_LOOP_FILTER_get(); + public final static native int Coder_FLAG_INTERLACED_ME_get(); + public final static native int Coder_FLAG_CLOSED_GOP_get(); + public final static native int Coder_FLAG2_FAST_get(); + public final static native int Coder_FLAG2_NO_OUTPUT_get(); + public final static native int Coder_FLAG2_LOCAL_HEADER_get(); + public final static native int Coder_FLAG2_DROP_FRAME_TIMECODE_get(); + public final static native int Coder_FLAG2_IGNORE_CROP_get(); + public final static native int Coder_FLAG2_CHUNKS_get(); + public final static native int Coder_FLAG2_SHOW_ALL_get(); + public final static native void Coder_open(long jarg1, Coder jarg1_, long jarg2, KeyValueBag jarg2_, long jarg3, KeyValueBag jarg3_); + public final static native long Coder_getCodec(long jarg1, Coder jarg1_); + public final static native int Coder_getCodecType(long jarg1, Coder jarg1_); + public final static native int Coder_getCodecID(long jarg1, Coder jarg1_); + public final static native int Coder_getHeight(long jarg1, Coder jarg1_); + public final static native void Coder_setHeight(long jarg1, Coder jarg1_, int jarg2); + public final static native int Coder_getWidth(long jarg1, Coder jarg1_); + public final static native void Coder_setWidth(long jarg1, Coder jarg1_, int jarg2); + public final static native int Coder_getPixelFormat(long jarg1, Coder jarg1_); + public final static native void Coder_setPixelFormat(long jarg1, Coder jarg1_, int jarg2); + public final static native int Coder_getSampleRate(long jarg1, Coder jarg1_); + public final static native void Coder_setSampleRate(long jarg1, Coder jarg1_, int jarg2); + public final static native int Coder_getSampleFormat(long jarg1, Coder jarg1_); + public final static native void Coder_setSampleFormat(long jarg1, Coder jarg1_, int jarg2); + public final static native int Coder_getChannels(long jarg1, Coder jarg1_); + public final static native void Coder_setChannels(long jarg1, Coder jarg1_, int jarg2); + public final static native int Coder_getChannelLayout(long jarg1, Coder jarg1_); + public final static native void Coder_setChannelLayout(long jarg1, Coder jarg1_, int jarg2); + public final static native long Coder_getTimeBase(long jarg1, Coder jarg1_); + public final static native void Coder_setTimeBase(long jarg1, Coder jarg1_, long jarg2, Rational jarg2_); + public final static native int Coder_getState(long jarg1, Coder jarg1_); + public final static native int Coder_getFrameCount(long jarg1, Coder jarg1_); + public final static native int Coder_getFrameSize(long jarg1, Coder jarg1_); + public final static native int Coder_getFlags(long jarg1, Coder jarg1_); + public final static native int Coder_getFlag(long jarg1, Coder jarg1_, int jarg2); + public final static native int Coder_getFlags2(long jarg1, Coder jarg1_); + public final static native int Coder_getFlag2(long jarg1, Coder jarg1_, int jarg2); + public final static native void Coder_setFlags(long jarg1, Coder jarg1_, int jarg2); + public final static native void Coder_setFlag(long jarg1, Coder jarg1_, int jarg2, boolean jarg3); + public final static native void Coder_setFlags2(long jarg1, Coder jarg1_, int jarg2); + public final static native void Coder_setFlag2(long jarg1, Coder jarg1_, int jarg2, boolean jarg3); public final static native int ContainerFormat_INVALID_FLAG_get(); public final static native int ContainerFormat_NO_FILE_get(); public final static native int ContainerFormat_NEED_NUMBER_get(); @@ -1147,68 +1209,19 @@ public static void noop() { public final static native int IndexEntry_getSize(long jarg1, IndexEntry jarg1_); public final static native int IndexEntry_getMinDistance(long jarg1, IndexEntry jarg1_); public final static native boolean IndexEntry_isKeyFrame(long jarg1, IndexEntry jarg1_); - public final static native int Coder_FLAG_UNALIGNED_get(); - public final static native int Coder_FLAG_QSCALE_get(); - public final static native int Coder_FLAG_4MV_get(); - public final static native int Coder_FLAG_QPEL_get(); - public final static native int Coder_FLAG_GMC_get(); - public final static native int Coder_FLAG_MV0_get(); - public final static native int Coder_FLAG_INPUT_PRESERVED_get(); - public final static native int Coder_FLAG_PASS1_get(); - public final static native int Coder_FLAG_PASS2_get(); - public final static native int Coder_FLAG_GRAY_get(); - public final static native int Coder_FLAG_EMU_EDGE_get(); - public final static native int Coder_FLAG_PSNR_get(); - public final static native int Coder_FLAG_TRUNCATED_get(); - public final static native int Coder_FLAG_NORMALIZE_AQP_get(); - public final static native int Coder_FLAG_INTERLACED_DCT_get(); - public final static native int Coder_FLAG_LOW_DELAY_get(); - public final static native int Coder_FLAG_GLOBAL_HEADER_get(); - public final static native int Coder_FLAG_BITEXACT_get(); - public final static native int Coder_FLAG_AC_PRED_get(); - public final static native int Coder_FLAG_LOOP_FILTER_get(); - public final static native int Coder_FLAG_INTERLACED_ME_get(); - public final static native int Coder_FLAG_CLOSED_GOP_get(); - public final static native int Coder_FLAG2_FAST_get(); - public final static native int Coder_FLAG2_NO_OUTPUT_get(); - public final static native int Coder_FLAG2_LOCAL_HEADER_get(); - public final static native int Coder_FLAG2_DROP_FRAME_TIMECODE_get(); - public final static native int Coder_FLAG2_IGNORE_CROP_get(); - public final static native int Coder_FLAG2_CHUNKS_get(); - public final static native int Coder_FLAG2_SHOW_ALL_get(); - public final static native void Coder_open(long jarg1, Coder jarg1_, long jarg2, KeyValueBag jarg2_, long jarg3, KeyValueBag jarg3_); - public final static native long Coder_getCodec(long jarg1, Coder jarg1_); - public final static native int Coder_getCodecType(long jarg1, Coder jarg1_); - public final static native int Coder_getCodecID(long jarg1, Coder jarg1_); - public final static native int Coder_getHeight(long jarg1, Coder jarg1_); - public final static native void Coder_setHeight(long jarg1, Coder jarg1_, int jarg2); - public final static native int Coder_getWidth(long jarg1, Coder jarg1_); - public final static native void Coder_setWidth(long jarg1, Coder jarg1_, int jarg2); - public final static native int Coder_getPixelFormat(long jarg1, Coder jarg1_); - public final static native void Coder_setPixelType(long jarg1, Coder jarg1_, int jarg2); - public final static native int Coder_getSampleRate(long jarg1, Coder jarg1_); - public final static native void Coder_setSampleRate(long jarg1, Coder jarg1_, int jarg2); - public final static native int Coder_getSampleFormat(long jarg1, Coder jarg1_); - public final static native void Coder_setSampleFormat(long jarg1, Coder jarg1_, int jarg2); - public final static native int Coder_getChannels(long jarg1, Coder jarg1_); - public final static native void Coder_setChannels(long jarg1, Coder jarg1_, int jarg2); - public final static native int Coder_getChannelLayout(long jarg1, Coder jarg1_); - public final static native void Coder_setChannelLayout(long jarg1, Coder jarg1_, int jarg2); - public final static native long Coder_getTimeBase(long jarg1, Coder jarg1_); - public final static native void Coder_setTimeBase(long jarg1, Coder jarg1_, long jarg2, Rational jarg2_); - public final static native int Coder_getState(long jarg1, Coder jarg1_); - public final static native int Coder_getFrameCount(long jarg1, Coder jarg1_); - public final static native int Coder_getFrameSize(long jarg1, Coder jarg1_); public final static native long Decoder_make__SWIG_0(long jarg1, Codec jarg1_); public final static native long Decoder_make__SWIG_1(long jarg1, Coder jarg1_); public final static native void Decoder_flush(long jarg1, Decoder jarg1_); public final static native int Decoder_decodeAudio(long jarg1, Decoder jarg1_, long jarg2, MediaAudio jarg2_, long jarg3, MediaPacket jarg3_, int jarg4); public final static native int Decoder_decodeVideo(long jarg1, Decoder jarg1_, long jarg2, MediaPicture jarg2_, long jarg3, MediaPacket jarg3_, int jarg4); + public final static native int Decoder_decode(long jarg1, Decoder jarg1_, long jarg2, MediaSampled jarg2_, long jarg3, MediaPacket jarg3_, int jarg4); + public final static native long Encoder_getNumDroppedFrames(long jarg1, Encoder jarg1_); public final static native long Encoder_make__SWIG_0(long jarg1, Codec jarg1_); public final static native long Encoder_make__SWIG_1(long jarg1, Coder jarg1_); public final static native void Encoder_open(long jarg1, Encoder jarg1_, long jarg2, KeyValueBag jarg2_, long jarg3, KeyValueBag jarg3_); public final static native void Encoder_encodeVideo(long jarg1, Encoder jarg1_, long jarg2, MediaPacket jarg2_, long jarg3, MediaPicture jarg3_); public final static native void Encoder_encodeAudio(long jarg1, Encoder jarg1_, long jarg2, MediaPacket jarg2_, long jarg3, MediaAudio jarg3_); + public final static native void Encoder_encode(long jarg1, Encoder jarg1_, long jarg2, MediaPacket jarg2_, long jarg3, MediaSampled jarg3_); public final static native int ContainerStream_DISPOSITION_NONE_get(); public final static native int ContainerStream_DISPOSITION_DEFAULT_get(); public final static native int ContainerStream_DISPOSITION_DUB_get(); @@ -1383,6 +1396,8 @@ public static void noop() { public final static native void FilterLink_insertFilter(long jarg1, FilterLink jarg1_, long jarg2, Filter jarg2_, int jarg3, int jarg4); public final static native void FilterAudioSource_addAudio(long jarg1, FilterAudioSource jarg1_, long jarg2, MediaAudio jarg2_); public final static native void FilterPictureSource_addPicture(long jarg1, FilterPictureSource jarg1_, long jarg2, MediaPicture jarg2_); + public final static native void FilterSink_setFrameSize(long jarg1, FilterSink jarg1_, int jarg2); + public final static native int FilterSink_getFrameSize(long jarg1, FilterSink jarg1_); public final static native int FilterAudioSink_getAudio(long jarg1, FilterAudioSink jarg1_, long jarg2, MediaAudio jarg2_); public final static native int FilterPictureSink_getPicture(long jarg1, FilterPictureSink jarg1_, long jarg2, MediaPicture jarg2_); public final static native long PixelFormat_SWIGUpcast(long jarg1); @@ -1404,17 +1419,18 @@ public static void noop() { public final static native long MediaSubtitleRectangle_SWIGUpcast(long jarg1); public final static native long MediaPacket_SWIGUpcast(long jarg1); public final static native long Configurable_SWIGUpcast(long jarg1); + public final static native long MediaResampler_SWIGUpcast(long jarg1); public final static native long MediaPictureResampler_SWIGUpcast(long jarg1); public final static native long MediaAudioResampler_SWIGUpcast(long jarg1); public final static native long MediaDescriptor_SWIGUpcast(long jarg1); public final static native long CodecProfile_SWIGUpcast(long jarg1); public final static native long Codec_SWIGUpcast(long jarg1); public final static native long CodecDescriptor_SWIGUpcast(long jarg1); + public final static native long Coder_SWIGUpcast(long jarg1); public final static native long ContainerFormat_SWIGUpcast(long jarg1); public final static native long MuxerFormat_SWIGUpcast(long jarg1); public final static native long DemuxerFormat_SWIGUpcast(long jarg1); public final static native long IndexEntry_SWIGUpcast(long jarg1); - public final static native long Coder_SWIGUpcast(long jarg1); public final static native long Decoder_SWIGUpcast(long jarg1); public final static native long Encoder_SWIGUpcast(long jarg1); public final static native long ContainerStream_SWIGUpcast(long jarg1); diff --git a/humble-video-noarch/src/test/java/io/humble/video/FilterGraphTest.java b/humble-video-noarch/src/test/java/io/humble/video/FilterGraphTest.java index bc664edb..0d4df073 100644 --- a/humble-video-noarch/src/test/java/io/humble/video/FilterGraphTest.java +++ b/humble-video-noarch/src/test/java/io/humble/video/FilterGraphTest.java @@ -175,7 +175,7 @@ public void testFilterAudio() throws InterruptedException, IOException { bytesRead = decoder.decodeAudio(audio, packet, byteOffset); byteOffset += bytesRead; filterSource.addAudio(audio); - while(filterSink.getAudio(filteredAudio)>= 0) + while(filterSink.getAudio(filteredAudio)>= 0 && filteredAudio.isComplete()) { rawAudio = converter.toJavaAudio(rawAudio, filteredAudio); if (audioFrame != null) @@ -189,7 +189,7 @@ public void testFilterAudio() throws InterruptedException, IOException { bytesRead = decoder.decodeAudio(audio, null, 0); if (audio.isComplete()) { filterSource.addAudio(audio); - while(filterSink.getAudio(filteredAudio)>= 0) + while(filterSink.getAudio(filteredAudio)>= 0 && filteredAudio.isComplete()) { rawAudio = converter.toJavaAudio(rawAudio, filteredAudio); if (audioFrame != null) diff --git a/humble-video-parent/pom.xml b/humble-video-parent/pom.xml index 8ccbaa49..81bf5056 100644 --- a/humble-video-parent/pom.xml +++ b/humble-video-parent/pom.xml @@ -30,7 +30,8 @@ - https://github.com/artclarke/humble-video-main + https://github.com/artclarke/humble-video + scm:git:git://github.com/artclarke/humble-video.git @@ -92,8 +93,12 @@ org.apache.maven.plugins maven-surefire-plugin - 2.15 + 2.17 + false + + true + 1 false ${basedir}/target/test-workingdir @@ -170,7 +175,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 2.15 + 2.17 diff --git a/humble-video-stage/pom.xml b/humble-video-stage/pom.xml index 147902de..8ac17042 100644 --- a/humble-video-stage/pom.xml +++ b/humble-video-stage/pom.xml @@ -32,7 +32,25 @@ humble-video-arch-i686-pc-linux-gnu6 - humble-video-arch-x86_64-pc-linux-gnu6 + humble-video-arch-x86_64-pc-linux-gnu6 + + + humble-video-arch-x86_64-apple-darwin12-debug + + + humble-video-arch-i686-apple-darwin12-debug + + + humble-video-arch-x86_64-w64-mingw32-debug + + + humble-video-arch-i686-w64-mingw32-debug + + + humble-video-arch-i686-pc-linux-gnu6-debug + + + humble-video-arch-x86_64-pc-linux-gnu6-debug