new package: transcode
This commit is contained in:
parent
0d6d755667
commit
fc79a51a92
56
packages/transcode/build.sh
Normal file
56
packages/transcode/build.sh
Normal file
@ -0,0 +1,56 @@
|
||||
# Dead upstream.
|
||||
TERMUX_PKG_HOMEPAGE=https://packages.gentoo.org/packages/media-video/transcode
|
||||
TERMUX_PKG_DESCRIPTION="A video stream processing utility"
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=1.1.7
|
||||
TERMUX_PKG_SRCURL=(https://ftp-osl.osuosl.org/pub/gentoo/distfiles/transcode-${TERMUX_PKG_VERSION}.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/transcode-${TERMUX_PKG_VERSION}-patchset.tar.bz2)
|
||||
TERMUX_PKG_SHA256=(1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92
|
||||
487866077b7227fe9921b742edea9d01749edb3b7e50162923c6a60748d94248)
|
||||
TERMUX_PKG_DEPENDS="freetype, gawk, imagemagick, libandroid-glob, libandroid-shmem, libdvdread, libjpeg-turbo, liblzo, libmp3lame, libogg, libtheora, libvorbis, libxml2, zlib"
|
||||
TERMUX_PKG_BUILD_DEPENDS="libiconv, libx264, xvidcore"
|
||||
# FFmpeg 5.0 is not yet supported by the current patchset.
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
--disable-ffmpeg
|
||||
--enable-freetype2
|
||||
--enable-xvid
|
||||
--enable-x264
|
||||
--enable-ogg
|
||||
--enable-vorbis
|
||||
--enable-theora
|
||||
--enable-lzo
|
||||
--enable-libxml2
|
||||
--enable-imagemagick
|
||||
--with-x=no
|
||||
"
|
||||
|
||||
termux_step_post_get_source() {
|
||||
local _PATCH_FILES="
|
||||
transcode-1.1.7-freetype251.patch
|
||||
transcode-1.1.7-imagemagick7.patch
|
||||
"
|
||||
pushd transcode-${TERMUX_PKG_VERSION}-patchset
|
||||
cat ${_PATCH_FILES} | patch --silent -p1 -d ..
|
||||
popd
|
||||
}
|
||||
|
||||
termux_step_pre_configure() {
|
||||
autoreconf -fi
|
||||
|
||||
CFLAGS+=" -fcommon"
|
||||
LDFLAGS+=" -landroid-glob -landroid-shmem"
|
||||
|
||||
local p
|
||||
for p in lame xvid libdvdread pvm3 lzo a52 faac libjpegmmx libjpeg bsdav iconv; do
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+="
|
||||
--with-${p}-prefix=$TERMUX_PREFIX
|
||||
--with-${p}-includes=$TERMUX_PREFIX/include
|
||||
--with-${p}-libs=$TERMUX_PREFIX/lib
|
||||
"
|
||||
done
|
||||
|
||||
if [ "$TERMUX_ARCH" = "i686" ]; then
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-mmx"
|
||||
fi
|
||||
}
|
108
packages/transcode/configure.in.patch
Normal file
108
packages/transcode/configure.in.patch
Normal file
@ -0,0 +1,108 @@
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -776,42 +776,6 @@
|
||||
LAME_CFLAGS="$lame_ii"
|
||||
fi
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
-
|
||||
- AC_MSG_CHECKING([lame version])
|
||||
- ac_save_CFLAGS="$CFLAGS"
|
||||
- ac_save_LIBS="$LIBS"
|
||||
- CFLAGS="$CFLAGS $LAME_CFLAGS"
|
||||
- LIBS="$LIBS $LAME_LIBS"
|
||||
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
-#include <stdio.h>
|
||||
-
|
||||
-#ifdef HAVE_LAME_INC
|
||||
-#include <lame/lame.h>
|
||||
-#else
|
||||
-#include <lame.h>
|
||||
-#endif
|
||||
-
|
||||
-int main () {
|
||||
- lame_version_t lv;
|
||||
- get_lame_version_numerical(&lv);
|
||||
- if(lv.alpha || lv.beta) lv.minor--;
|
||||
- printf("%d%d\n", lv.major, lv.minor);
|
||||
- return 0;
|
||||
-}
|
||||
-]])],
|
||||
- [lame_version="`./conftest$ac_exeext`"],
|
||||
- [AC_MSG_RESULT([failed])
|
||||
- TC_PKG_ERROR(lame, lame.h, yes, lame, [http://www.mp3dev.org/],
|
||||
- [cannot compile and run a test program])],,
|
||||
- [AC_MSG_RESULT([cross compiling; assumed OK...])])
|
||||
- CFLAGS="$ac_save_CFLAGS"
|
||||
- LIBS="$ac_save_LIBS"
|
||||
-
|
||||
- if test 393 -ge "$lame_version" ; then
|
||||
- have_lame="no"
|
||||
- TC_PKG_ERROR(lame, lame.h, yes, lame, [http://www.mp3dev.org/],
|
||||
- [lame version < 3.93])
|
||||
- fi
|
||||
fi
|
||||
TC_PKG_HAVE(lame, LAME)
|
||||
|
||||
@@ -820,62 +784,12 @@
|
||||
dnl
|
||||
TC_PKG_CHECK(xvid, no, xvid, no, xvid.h, xvidcore, xvid_global, xvid,
|
||||
[http://www.xvid.org/])
|
||||
-if test x"$have_xvid" = x"yes" ; then
|
||||
- AC_MSG_CHECKING([xvid version >= 1.0])
|
||||
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
-#include <stdio.h>
|
||||
-#include <xvid.h>
|
||||
-
|
||||
-int main() {
|
||||
- printf("%s\n", (XVID_API >= XVID_MAKE_API(4, 0)) ?"yes" :"no");
|
||||
- return 0;
|
||||
-}
|
||||
-]])],
|
||||
- [xvid_version_ok="`./conftest$ac_exeext`"],
|
||||
- [AC_MSG_RESULT([failed])
|
||||
- TC_PKG_ERROR(xvid, xvid.h, yes, xvid, [http://www.xvid.org/],
|
||||
- [cannot compile and run a test program])],,
|
||||
- [AC_MSG_RESULT([cross compiling; assumed OK...])])
|
||||
- if test x"$xvid_version_ok" = x"yes"; then
|
||||
- XVID_LIBS="-lxvidcore"
|
||||
- else
|
||||
- have_xvid="no"
|
||||
- TC_PKG_ERROR(xvid, xvid.h, yes, xvid, [http://www.xvid.org/],
|
||||
- [XviD version < 1.0])
|
||||
- fi
|
||||
-fi
|
||||
TC_PKG_HAVE(xvid, XVID)
|
||||
|
||||
dnl
|
||||
dnl x264
|
||||
dnl
|
||||
TC_PKG_CONFIG_CHECK(x264, no, X264, x264, [http://developers.videolan.org/x264.html])
|
||||
-if test x"$have_x264" = x"yes" ; then
|
||||
- AC_MSG_CHECKING([x264 version])
|
||||
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
-#include <stdio.h>
|
||||
-#include <stdint.h> /* required by x264.h */
|
||||
-#include <x264.h>
|
||||
-
|
||||
-int main() {
|
||||
- printf("%d\n", X264_BUILD);
|
||||
- return 0;
|
||||
-}
|
||||
-]])],
|
||||
- [x264_version="`./conftest$ac_exeext`"],
|
||||
- [AC_MSG_RESULT([failed])
|
||||
- TC_PKG_ERROR(x264, x264.h, yes, x264,
|
||||
- [http://developers.videolan.org/x264.html],
|
||||
- [cannot compile and run a test program])],
|
||||
- [AC_MSG_RESULT([cross compiling; assumed OK...])
|
||||
- x264_version=54])
|
||||
- if test 54 -gt "$x264_version"; then
|
||||
- have_x264="no"
|
||||
- TC_PKG_ERROR(x264, x264.h, yes, x264,
|
||||
- [http://developers.videolan.org/x264.html],
|
||||
- [x264 version too old (must be at least 54)])
|
||||
- fi
|
||||
-fi
|
||||
TC_PKG_HAVE(x264, X264)
|
||||
|
||||
dnl
|
11
packages/transcode/export-ffmpeg_cfg.c.patch.txt
Normal file
11
packages/transcode/export-ffmpeg_cfg.c.patch.txt
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/export/ffmpeg_cfg.c
|
||||
+++ b/export/ffmpeg_cfg.c
|
||||
@@ -125,7 +125,7 @@
|
||||
//int lavc_param_abitrate = 224;
|
||||
|
||||
char *lavc_param_video_preset = "none";
|
||||
-char *lavc_param_ffmpeg_datadir = "/usr/share/ffmpeg";
|
||||
+char *lavc_param_ffmpeg_datadir = "@TERMUX_PREFIX@/share/ffmpeg";
|
||||
|
||||
TCConfigEntry lavcopts_conf[]={
|
||||
// {"acodec", &lavc_param_acodec, TCCONF_TYPE_STRING, 0, 0, 0},
|
11
packages/transcode/filter-filter_compare.c.patch
Normal file
11
packages/transcode/filter-filter_compare.c.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/filter/filter_compare.c
|
||||
+++ b/filter/filter_compare.c
|
||||
@@ -182,7 +182,7 @@
|
||||
|
||||
if (strlen(results_name) == 0) {
|
||||
// Ponemos el nombre del fichero al original con extension dat
|
||||
- strlcpy(results_name, "/tmp/compare.dat", sizeof(results_name));
|
||||
+ strlcpy(results_name, "@TERMUX_PREFIX@/tmp/compare.dat", sizeof(results_name));
|
||||
|
||||
}
|
||||
if (!(compare[instance]->results = fopen(results_name, "w")))
|
11
packages/transcode/filter-filter_text.c.patch
Normal file
11
packages/transcode/filter-filter_text.c.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/filter/filter_text.c
|
||||
+++ b/filter/filter_text.c
|
||||
@@ -232,7 +232,7 @@
|
||||
static float elapsed_ss;
|
||||
static uint8_t *buf = NULL;
|
||||
static uint8_t *p, *q;
|
||||
- char *default_font = "/usr/share/fonts/corefonts/arial.ttf";
|
||||
+ char *default_font = "/system/fonts/DroidSans.ttf";
|
||||
extern int flip; // transcode.c
|
||||
|
||||
if (ptr->tag & TC_AUDIO)
|
11
packages/transcode/filter-parse_csv.awk.in.patch
Normal file
11
packages/transcode/filter-parse_csv.awk.in.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/filter/parse_csv.awk.in
|
||||
+++ b/filter/parse_csv.awk.in
|
||||
@@ -3,7 +3,7 @@
|
||||
# "strength", "Blending factor.", "%f", "0.9", "0.0", "2.0"
|
||||
# "range", "Apply the filter only to a range", "%u-%u", "0-0", "0", "-1", "0", "-1"
|
||||
# "pre", "Run as a PRE filter", "", "0"
|
||||
-# "log", "Logfile for verbose info", "%s", "/tmp/logfile"
|
||||
+# "log", "Logfile for verbose info", "%s", "@TERMUX_PREFIX@/tmp/logfile"
|
||||
|
||||
|
||||
# "filter_logoaway.so", "remove an image from the video", "v0.1.0 (2002-12-04)", "Thomas Wehrspann", "VRY", "1"
|
13
packages/transcode/filter-preview-filter_pv.c.patch
Normal file
13
packages/transcode/filter-preview-filter_pv.c.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- a/filter/preview/filter_pv.c
|
||||
+++ b/filter/preview/filter_pv.c
|
||||
@@ -474,8 +474,8 @@
|
||||
{
|
||||
FILE *f;
|
||||
FILE *g;
|
||||
- char tmpfile[] = "/tmp/filter-select";
|
||||
- char infile[] = "/tmp/filter-in";
|
||||
+ char tmpfile[] = "@TERMUX_PREFIX@/tmp/filter-select";
|
||||
+ char infile[] = "@TERMUX_PREFIX@/tmp/filter-in";
|
||||
char buf[1024];
|
||||
char filter_name[255];
|
||||
char *config, *c;
|
11
packages/transcode/import-clone.c.patch
Normal file
11
packages/transcode/import-clone.c.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/import/clone.c
|
||||
+++ b/import/clone.c
|
||||
@@ -323,7 +323,7 @@
|
||||
if ((a = getenv("TMPDIR")) != NULL)
|
||||
tc_snprintf(b, PATH_MAX, "%s/%s", a, "fileXXXXXX");
|
||||
else
|
||||
- tc_snprintf(b, PATH_MAX, "%s/%s", "/tmp", "fileXXXXXX");
|
||||
+ tc_snprintf(b, PATH_MAX, "%s/%s", "@TERMUX_PREFIX@/tmp", "fileXXXXXX");
|
||||
|
||||
name = mktemp(b);
|
||||
|
11
packages/transcode/import-dvd_reader.c.patch
Normal file
11
packages/transcode/import-dvd_reader.c.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/import/dvd_reader.c
|
||||
+++ b/import/dvd_reader.c
|
||||
@@ -48,7 +48,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
-static char lock_file[] = "/tmp/LCK..dvd";
|
||||
+static char lock_file[] = "@TERMUX_PREFIX@/tmp/LCK..dvd";
|
||||
|
||||
/*
|
||||
* lock - create a lock file for the device
|
17
packages/transcode/import-import_mplayer.c.patch
Normal file
17
packages/transcode/import-import_mplayer.c.patch
Normal file
@ -0,0 +1,17 @@
|
||||
--- a/import/import_mplayer.c
|
||||
+++ b/import/import_mplayer.c
|
||||
@@ -37,10 +37,10 @@
|
||||
|
||||
|
||||
|
||||
-#define VIDEOPIPE_TEMPLATE "/tmp/mplayer2transcode-video.XXXXXX"
|
||||
-#define AUDIOPIPE_TEMPLATE "/tmp/mplayer2transcode-audio.XXXXXX"
|
||||
-static char videopipe[40];
|
||||
-static char audiopipe[40];
|
||||
+#define VIDEOPIPE_TEMPLATE "@TERMUX_PREFIX@/tmp/mplayer2transcode-video.XXXXXX"
|
||||
+#define AUDIOPIPE_TEMPLATE "@TERMUX_PREFIX@/tmp/mplayer2transcode-audio.XXXXXX"
|
||||
+static char videopipe[strlen(VIDEOPIPE_TEMPLATE)+1];
|
||||
+static char audiopipe[strlen(AUDIOPIPE_TEMPLATE)+1];
|
||||
static FILE *videopipefd = NULL;
|
||||
static FILE *audiopipefd = NULL;
|
||||
|
11
packages/transcode/import-import_vnc.c.patch
Normal file
11
packages/transcode/import-import_vnc.c.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/import/import_vnc.c
|
||||
+++ b/import/import_vnc.c
|
||||
@@ -33,7 +33,7 @@
|
||||
char fps[32];
|
||||
char cmdbuf[1024];
|
||||
|
||||
- tc_snprintf (fifo, 256, "%s-%d", "/tmp/tc-vncfifo", getpid());
|
||||
+ tc_snprintf (fifo, 256, "%s-%d", "@TERMUX_PREFIX@/tmp/tc-vncfifo", getpid());
|
||||
tc_snprintf (fps, 32, "%f", vob->fps);
|
||||
tc_snprintf (cmdbuf, 1024, "%s -o %s", PROGTOCALL, fifo);
|
||||
|
20
packages/transcode/pvm3-tcpvmexportd.c.patch
Normal file
20
packages/transcode/pvm3-tcpvmexportd.c.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- a/pvm3/tcpvmexportd.c
|
||||
+++ b/pvm3/tcpvmexportd.c
|
||||
@@ -91,7 +91,7 @@
|
||||
fprintf(stderr,"\t -c name name of slave function req in slave mode [none]\n");
|
||||
fprintf(stderr,"\t -x parameters multiplex parameters [none]\n");
|
||||
fprintf(stderr,"\t -t type elab video or audio frame (video|audio|system|multisystem) [video]\n");
|
||||
- fprintf(stderr,"\t -f name out file name [/tmp/my_file_name]\n");
|
||||
+ fprintf(stderr,"\t -f name out file name [@TERMUX_PREFIX@/tmp/my_file_name]\n");
|
||||
fprintf(stderr,"\t -1 param first parameter to pass to the slave function [null]\n");
|
||||
fprintf(stderr,"\t -2 param second parameter to pass to the slave function [null]\n");
|
||||
fprintf(stderr,"\t -3 param third parameter to pass to the slave function [null]\n");
|
||||
@@ -188,7 +188,7 @@
|
||||
char s_cmd;
|
||||
char *p_argv[]={"-s",(char*)0,(char*)0,(char*)0,(char*)0,(char*)0,(char*)0,(char*)0,(char*)0,(char*)0,(char*)0};
|
||||
int s_slave=0,s_cont=1,s_file_dest;
|
||||
- char *p_tmp_file="/tmp/my_file_name";
|
||||
+ char *p_tmp_file="@TERMUX_PREFIX@/tmp/my_file_name";
|
||||
pvm_config_env *p_pvm_conf;
|
||||
pvm_config_filelist *p_my_filelist=NULL;
|
||||
char s_hostname[MAX_BUF];
|
11
packages/transcode/src-tc_defaults.h.patch
Normal file
11
packages/transcode/src-tc_defaults.h.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/tc_defaults.h
|
||||
+++ b/src/tc_defaults.h
|
||||
@@ -30,7 +30,7 @@
|
||||
#ifndef TC_DEFAULTS_H
|
||||
#define TC_DEFAULTS_H
|
||||
|
||||
-#define TC_DEFAULT_MOD_PATH "/usr/local/lib/transcode"
|
||||
+#define TC_DEFAULT_MOD_PATH "@TERMUX_PREFIX@/lib/transcode"
|
||||
|
||||
#define TC_DEFAULT_IN_FILE "/dev/zero"
|
||||
#define TC_DEFAULT_OUT_FILE "/dev/null"
|
53
packages/transcode/src-transcode.c.patch
Normal file
53
packages/transcode/src-transcode.c.patch
Normal file
@ -0,0 +1,53 @@
|
||||
--- a/src/transcode.c
|
||||
+++ b/src/transcode.c
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
#include <ctype.h>
|
||||
#include <math.h>
|
||||
+#include <stdatomic.h>
|
||||
|
||||
#include "cmdline.h"
|
||||
|
||||
@@ -215,6 +216,7 @@
|
||||
/*************************************************************************/
|
||||
|
||||
static pthread_t event_thread_id = (pthread_t)0;
|
||||
+static atomic_flag event_thread_cancel;
|
||||
static const char *signame = "unknown signal";
|
||||
|
||||
static void tc_stop_all(void)
|
||||
@@ -271,7 +273,7 @@
|
||||
|
||||
/* Loop waiting for external events */
|
||||
for (;;) {
|
||||
- pthread_testcancel();
|
||||
+ if (!atomic_flag_test_and_set(&event_thread_cancel)) pthread_exit(NULL);
|
||||
|
||||
tc_socket_wait();
|
||||
|
||||
@@ -283,7 +285,7 @@
|
||||
if (tc_probe_pid > 0)
|
||||
kill(tc_probe_pid, SIGTERM);
|
||||
}
|
||||
- pthread_testcancel();
|
||||
+ if (!atomic_flag_test_and_set(&event_thread_cancel)) pthread_exit(NULL);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -305,7 +307,7 @@
|
||||
void *thread_status = NULL;
|
||||
|
||||
// pthread_kill(event_thread_id, SIGINT);
|
||||
- pthread_cancel(event_thread_id);
|
||||
+ atomic_flag_clear(&event_thread_cancel);
|
||||
pthread_join(event_thread_id, &thread_status);
|
||||
}
|
||||
}
|
||||
@@ -2721,6 +2723,7 @@
|
||||
tc_error("failed to initialize socket handler");
|
||||
|
||||
// now we start the signal handler thread
|
||||
+ atomic_flag_test_and_set(&event_thread_cancel);
|
||||
if (pthread_create(&event_thread_id, NULL, event_thread, &sigs_to_block) != 0)
|
||||
tc_error("failed to start signal handler thread");
|
||||
|
11
packages/transcode/tools-avisync.c.patch
Normal file
11
packages/transcode/tools-avisync.c.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/tools/avisync.c
|
||||
+++ b/tools/avisync.c
|
||||
@@ -103,7 +103,7 @@
|
||||
/* for null frame encoding */
|
||||
char nulls[32000];
|
||||
long nullbytes=0;
|
||||
- char tmp0[] = "/tmp/nullfile.00.avi"; /* XXX: use mktemp*() */
|
||||
+ char tmp0[] = "@TERMUX_PREFIX@/tmp/nullfile.00.avi"; /* XXX: use mktemp*() */
|
||||
|
||||
buffer_list_t *ptr;
|
||||
|
Loading…
x
Reference in New Issue
Block a user