aboutsummaryrefslogtreecommitdiffstats
path: root/main/omxplayer
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2016-05-16 07:40:46 +0000
committerTimo Teräs <timo.teras@iki.fi>2016-05-16 07:40:46 +0000
commit83bb4f23dc439c99df6dc39abb8626631f705e48 (patch)
tree87d5a8f62eb4aad08606ee5b19aad1d72be6c519 /main/omxplayer
parenta224e7438ba752caa259dc3c0bfcb3aa1e38a379 (diff)
downloadaports-83bb4f23dc439c99df6dc39abb8626631f705e48.tar.bz2
aports-83bb4f23dc439c99df6dc39abb8626631f705e48.tar.xz
main/omxplayer: upgrade to 20160513, add dbus fix
Diffstat (limited to 'main/omxplayer')
-rw-r--r--main/omxplayer/APKBUILD28
-rw-r--r--main/omxplayer/fix-makefile.patch16
-rw-r--r--main/omxplayer/omxplayer-alsa.patch45
-rw-r--r--main/omxplayer/pull-req-465.patch73
4 files changed, 133 insertions, 29 deletions
diff --git a/main/omxplayer/APKBUILD b/main/omxplayer/APKBUILD
index 1d7475525..72e96670e 100644
--- a/main/omxplayer/APKBUILD
+++ b/main/omxplayer/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=omxplayer
-pkgver=0.20160206
-_commitid=19efb03b881da0bcc70632eaf7f7292edcf33eeb
-pkgrel=1
+pkgver=0.20160513
+_commitid=8a0fba4128759cc85cf794fc530aa8f91ebad449
+pkgrel=0
pkgdesc="Commandline OMX player for Raspberry Pi"
url="https://github.com/popcornmix/omxplayer"
arch="armhf"
@@ -15,6 +15,7 @@ subpackages="$pkgname-doc $pkgname-dbg"
source="omxplayer-$pkgver.tar.gz::https://github.com/popcornmix/omxplayer/archive/$_commitid.tar.gz
issue-260.patch
issue-297.patch
+ pull-req-465.patch
fix-makefile.patch
default-font.patch
omxplayer-alsa.patch
@@ -58,27 +59,30 @@ package() {
"$pkgdir"/etc/conf.d/$pkgname || return 1
}
-md5sums="d4fa33de6e46c49ef6bde16848d849b0 omxplayer-0.20160206.tar.gz
+md5sums="30455f3ba035377f21b1e897c496be07 omxplayer-0.20160513.tar.gz
a900cdded87b7df503c6599ac43bd8de issue-260.patch
c858882036b9fb03859edf7ce4a1d942 issue-297.patch
-d8f335e1dff4b34faf36c25ad2c2b881 fix-makefile.patch
+26c3f7593762c604943f09a9b65f331d pull-req-465.patch
+7e95d7c8c6bba3a6775473e34df2a2c9 fix-makefile.patch
9ebd96155288809fe0a657cf491e433f default-font.patch
-930ff50f91bc2a7c24661b6313581868 omxplayer-alsa.patch
+d84acddc949742c1474ed4f99b88ae47 omxplayer-alsa.patch
b4054a311d76aef91aa10bacd68bc9c4 omxplayer.initd
80e37e7ac04402808015084e26e6072d omxplayer.confd"
-sha256sums="bfdcd411e759f7791ceace6c700b5ee6f5a6e8b34abbc261f01c32b8e71d559e omxplayer-0.20160206.tar.gz
+sha256sums="b256bd1f8e74422f23bc9162f89f7b7941ef2ff4a500f9f37d8caf3a779e0526 omxplayer-0.20160513.tar.gz
5eb797de354c63a23847a574b103a28d451a4329320f3335f82dc000adbc5c63 issue-260.patch
389c97df4919a3fe4d115f092cb256246e33374150102f0e2cb9ce11456cadb1 issue-297.patch
-799b0aba6aef8c665a685777cd912268315309d0d74ce76be5fdfd0dcffbb422 fix-makefile.patch
+8223f7cf72af6c7be282807edd79ed5e7777f7e08339de5fe7d782297a02fba0 pull-req-465.patch
+967533d6e13da74a2cf2f78822e55b3cbe7a7736eb8a9a0caed4653c5a98d197 fix-makefile.patch
2bab3d05b12d730737220b8c0052498a34bbebc12b7beb8afb3c054beb0fb3bb default-font.patch
-2dedced50fd1d40aadade37651abfb1edeb36de3d6446e1308bd98404069276f omxplayer-alsa.patch
+4ab9a3084321a75bca44b534d92f552b2569a656940eff86d29d76b6ec665722 omxplayer-alsa.patch
e2db0f7ffbe2488dd69ee0bfad006bd863f418554f078ca3432f643de7589d2f omxplayer.initd
530eb9aa50e72fb4828af410b965e0ec7653d1bed87aa86bf04fc340ff3232bd omxplayer.confd"
-sha512sums="be14f94876a47b107aea13a23379c0be1df245f064f03b7de7e8cd18fd42a3f5c3a6f2b95a1aa791290c8ea6c202dd9885a76a61d1a56a9a0f6d20dc84e2fa7a omxplayer-0.20160206.tar.gz
+sha512sums="e0c34fff244a730f2bafdf8e331ccc386338d618f3017b81a7d28d94897da9f67c48fe97cca0430747f47095af411a3337970e72fd8c9bf9e6bc3ffdbf98ec0b omxplayer-0.20160513.tar.gz
c349eea5f7c513a07d82a6cf6467c4d21bcb29c053bc5e39d8f675b1212db9beef0abf5248d50ac5a2f14fda73055786f94f421377ffcf5f6bcf8daa2f1b56e8 issue-260.patch
2a8a6def1e09f726cba58c0b9109fa6c4fbd4a3b4f1d27d200488f262a0e0978579d83db7fe24f1d3e03beef318c3674ed79cbd2f1994c4551a59c9fe0f63489 issue-297.patch
-3210242f9b834ffec9d3077d5a25caf8be84aa7f4f13c73eb7f61c0a406ec787e4055951fc5a6236f1da7897c95db94a5e11e25d1b3e859a6ea67f31fc6eb517 fix-makefile.patch
+8ac946bf10ad072c7495aa2ad38e66bb718d49c8d73b88e4eeaece24ac7154e0f1e5447f8f101041da4f22db93fd03e770068e6c1c032465d66dbab19ee20183 pull-req-465.patch
+48fc451efb9b74da749fe414258b7c4f16e624a86d74a6044025e2134addd994940b7fdda5a4b15cef87a49ebf65dbd1e19d8b73d075a94b485980e4ebd0052a fix-makefile.patch
8aa58aaa07453186302dc68d92f28c1b50bf0f8fccd50359640a7fc8339b233b32a0c8c02284a9974599e56d69cc557acc25e76e6438c6d64d15afd9c1788a8e default-font.patch
-911defaed9ca6d0ef1f919517d0cdc0dc6b1c979595cb508958928c892e55c0361cc9929d1fb5bea8ccb3d3556d9028e9c8adf47783a83701f53972a984c1887 omxplayer-alsa.patch
+f97ffc5deb8c3ca715dbadd7c1893ea43e2755e891431943fcc836f325493b236181d82c47bd8779c63246a78d471e642c1539bc14240198f388845ade19b95c omxplayer-alsa.patch
3ddd32235d87a46478d0237ee9b253edeb75729e377b09a33069ecdca2ee230d2851f308897ee75ff69a9f3bdd2876f490bc1667a572dce1c186f80fddcf6df3 omxplayer.initd
4f906ada035869a0e515e7615056b18b0f6906ce4b3a2d34081c0efa79bb9455380f729e7c5270180f5ace89c53a7ac7c93f609e6761825f639f44aa22346bb2 omxplayer.confd"
diff --git a/main/omxplayer/fix-makefile.patch b/main/omxplayer/fix-makefile.patch
index 96d57a262..d809c1d65 100644
--- a/main/omxplayer/fix-makefile.patch
+++ b/main/omxplayer/fix-makefile.patch
@@ -1,6 +1,6 @@
---- omxplayer-6ee9a0a5488119786990b6f91990d59d6e35427c/Makefile.orig
-+++ omxplayer-6ee9a0a5488119786990b6f91990d59d6e35427c/Makefile
-@@ -48,7 +48,7 @@
+--- omxplayer/Makefile.orig
++++ omxplayer/Makefile
+@@ -48,10 +49,10 @@
omxplayer.o: help.h keys.h
version:
@@ -8,8 +8,12 @@
+ sh gen_version.sh > version.h
omxplayer.bin: version $(OBJS)
- $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
-@@ -79,14 +79,12 @@
+- $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvchostif -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
++ $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
+ $(STRIP) omxplayer.bin
+
+ help.h: README.md Makefile
+@@ -79,14 +80,12 @@
make -f Makefile.ffmpeg
make -f Makefile.ffmpeg install
@@ -24,5 +28,5 @@
cp COPYING $(DIST)/usr/share/doc/omxplayer
cp README.md $(DIST)/usr/share/doc/omxplayer/README
cp omxplayer.1 $(DIST)/usr/share/man/man1
-- cp -a ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/
+- cp -P ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/
- cd $(DIST); tar -czf ../$(DIST).tgz *
diff --git a/main/omxplayer/omxplayer-alsa.patch b/main/omxplayer/omxplayer-alsa.patch
index 931c59fdc..7b9f3c8c2 100644
--- a/main/omxplayer/omxplayer-alsa.patch
+++ b/main/omxplayer/omxplayer-alsa.patch
@@ -1,5 +1,23 @@
+From b03115afd6322093e83b37660727a1a7257cc11d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Sat, 14 May 2016 16:27:32 +0300
+Subject: [PATCH] Initial alsa support
+
+---
+ Makefile | 5 +-
+ OMXAudio.cpp | 5 +-
+ OMXAudio.h | 1 +
+ OMXCore.cpp | 11 +
+ README.md | 1 +
+ linux/OMXAlsa.cpp | 1314 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ linux/OMXAlsa.h | 11 +
+ omxplayer.cpp | 6 +-
+ 8 files changed, 1349 insertions(+), 5 deletions(-)
+ create mode 100644 linux/OMXAlsa.cpp
+ create mode 100644 linux/OMXAlsa.h
+
diff --git a/Makefile b/Makefile
-index 9fc45de..5337ee7 100644
+index bcfadfb..2857e94 100644
--- a/Makefile
+++ b/Makefile
@@ -2,13 +2,14 @@ include Makefile.include
@@ -20,7 +38,7 @@ index 9fc45de..5337ee7 100644
DynamicDll.cpp \
utils/PCMRemap.cpp \
diff --git a/OMXAudio.cpp b/OMXAudio.cpp
-index 6da019f..434ced7 100644
+index e5d6365..99aa093 100644
--- a/OMXAudio.cpp
+++ b/OMXAudio.cpp
@@ -104,7 +104,8 @@ bool COMXAudio::PortSettingsChanged()
@@ -91,7 +109,7 @@ index 9d5fe61..548ed2f 100644
if (omx_err != OMX_ErrorNone)
{
diff --git a/README.md b/README.md
-index 726127c..cc718b1 100644
+index 777de57..8c78ade 100644
--- a/README.md
+++ b/README.md
@@ -56,6 +56,7 @@ Usage: omxplayer [OPTIONS] [FILE]
@@ -104,10 +122,10 @@ index 726127c..cc718b1 100644
-s --stats Pts and buffer stats
diff --git a/linux/OMXAlsa.cpp b/linux/OMXAlsa.cpp
new file mode 100644
-index 0000000..fe51eb1
+index 0000000..6bac222
--- /dev/null
+++ b/linux/OMXAlsa.cpp
-@@ -0,0 +1,1313 @@
+@@ -0,0 +1,1314 @@
+/*
+ * OMX IL Alsa Sink component
+ * Copyright (c) 2016 Timo Teräs
@@ -1238,6 +1256,7 @@ index 0000000..fe51eb1
+ spx_int16_t *in_ptr;
+ uint8_t *out_ptr;
+ spx_uint32_t in_len, out_len;
++
+ pthread_mutex_unlock(&comp->mutex);
+
+ in_ptr = (spx_int16_t *)(buf->pBuffer + buf->nOffset);
@@ -1439,10 +1458,10 @@ index 0000000..b849288
+OMX_API OMX_ERRORTYPE OMX_APIENTRY OMXALSA_FreeHandle(
+ OMX_IN OMX_HANDLETYPE hComponent);
diff --git a/omxplayer.cpp b/omxplayer.cpp
-index 3b5e6d2..4032ba3 100644
+index 7e5dd03..7dddd31 100644
--- a/omxplayer.cpp
+++ b/omxplayer.cpp
-@@ -574,6 +574,7 @@ int main(int argc, char *argv[])
+@@ -578,6 +578,7 @@ int main(int argc, char *argv[])
{ "keys", no_argument, NULL, 'k' },
{ "aidx", required_argument, NULL, 'n' },
{ "adev", required_argument, NULL, 'o' },
@@ -1450,16 +1469,16 @@ index 3b5e6d2..4032ba3 100644
{ "stats", no_argument, NULL, 's' },
{ "passthrough", no_argument, NULL, 'p' },
{ "vol", required_argument, NULL, vol_opt },
-@@ -640,7 +641,7 @@ int main(int argc, char *argv[])
+@@ -646,7 +647,7 @@ int main(int argc, char *argv[])
//Build default keymap just in case the --key-config option isn't used
map<int,int> keymap = KeyConfig::buildDefaultKeymap();
-- while ((c = getopt_long(argc, argv, "wiIhvkn:l:o:cslbpd3:Myzt:rg", longopts, NULL)) != -1)
-+ while ((c = getopt_long(argc, argv, "wiIhvkn:l:o:A:cslbpd3:Myzt:rg", longopts, NULL)) != -1)
+- while ((c = getopt_long(argc, argv, "wiIhvkn:l:o:cslb::pd3:Myzt:rg", longopts, NULL)) != -1)
++ while ((c = getopt_long(argc, argv, "wiIhvkn:l:o:A:cslb::pd3:Myzt:rg", longopts, NULL)) != -1)
{
switch (c)
{
-@@ -708,6 +709,9 @@ int main(int argc, char *argv[])
+@@ -714,6 +715,9 @@ int main(int argc, char *argv[])
}
m_config_audio.device = "omx:" + m_config_audio.device;
break;
@@ -1469,3 +1488,7 @@ index 3b5e6d2..4032ba3 100644
case 'i':
m_dump_format = true;
m_dump_format_exit = true;
+--
+2.8.2
+
+
diff --git a/main/omxplayer/pull-req-465.patch b/main/omxplayer/pull-req-465.patch
new file mode 100644
index 000000000..a9cd11836
--- /dev/null
+++ b/main/omxplayer/pull-req-465.patch
@@ -0,0 +1,73 @@
+From 2cf933915ccd21ccecb791484ad91a9ee6089336 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Mon, 16 May 2016 10:11:56 +0300
+Subject: [PATCH] Fix dbus message handling problems
+
+- make sure dbus messages are released after handling
+- return error to unknown method calls to avoid timeouts
+---
+ OMXControl.cpp | 24 ++++++++++++++++++++++++
+ OMXControl.h | 2 ++
+ 2 files changed, 26 insertions(+)
+
+diff --git a/OMXControl.cpp b/OMXControl.cpp
+index 834461f..7188834 100644
+--- a/OMXControl.cpp
++++ b/OMXControl.cpp
+@@ -158,7 +158,14 @@ OMXControlResult OMXControl::getEvent()
+ return KeyConfig::ACTION_BLANK;
+
+ CLog::Log(LOGDEBUG, "Popped message member: %s interface: %s type: %d path: %s", dbus_message_get_member(m), dbus_message_get_interface(m), dbus_message_get_type(m), dbus_message_get_path(m) );
++ OMXControlResult result = handle_event(m);
++ dbus_message_unref(m);
+
++ return result;
++}
++
++OMXControlResult OMXControl::handle_event(DBusMessage *m)
++{
+ if (dbus_message_is_method_call(m, OMXPLAYER_DBUS_INTERFACE_ROOT, "Quit"))
+ {
+ dbus_respond_ok(m);
+@@ -649,11 +656,28 @@ OMXControlResult OMXControl::getEvent()
+ }
+ else {
+ CLog::Log(LOGWARNING, "Unhandled dbus message, member: %s interface: %s type: %d path: %s", dbus_message_get_member(m), dbus_message_get_interface(m), dbus_message_get_type(m), dbus_message_get_path(m) );
++ if (dbus_message_get_type(m) == DBUS_MESSAGE_TYPE_METHOD_CALL)
++ dbus_respond_error(m);
+ }
+
+ return KeyConfig::ACTION_BLANK;
+ }
+
++DBusHandlerResult OMXControl::dbus_respond_error(DBusMessage *m)
++{
++ DBusMessage *reply;
++
++ reply = dbus_message_new_error(m, DBUS_ERROR_UNKNOWN_METHOD, "Unknown method");
++
++ if (!reply)
++ return DBUS_HANDLER_RESULT_NEED_MEMORY;
++
++ dbus_connection_send(bus, reply, NULL);
++ dbus_message_unref(reply);
++
++ return DBUS_HANDLER_RESULT_HANDLED;
++}
++
+ DBusHandlerResult OMXControl::dbus_respond_ok(DBusMessage *m)
+ {
+ DBusMessage *reply;
+diff --git a/OMXControl.h b/OMXControl.h
+index b2786d5..b0c9a06 100644
+--- a/OMXControl.h
++++ b/OMXControl.h
+@@ -38,6 +38,8 @@ class OMXControl
+ private:
+ int dbus_connect(std::string& dbus_name);
+ void dbus_disconnect();
++ OMXControlResult handle_event(DBusMessage *m);
++ DBusHandlerResult dbus_respond_error(DBusMessage *m);
+ DBusHandlerResult dbus_respond_ok(DBusMessage *m);
+ DBusHandlerResult dbus_respond_int64(DBusMessage *m, int64_t i);
+ DBusHandlerResult dbus_respond_double(DBusMessage *m, double d);