diff options
author | Timo Teräs <timo.teras@iki.fi> | 2016-05-16 07:40:46 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2016-05-16 07:40:46 +0000 |
commit | 83bb4f23dc439c99df6dc39abb8626631f705e48 (patch) | |
tree | 87d5a8f62eb4aad08606ee5b19aad1d72be6c519 /main/omxplayer | |
parent | a224e7438ba752caa259dc3c0bfcb3aa1e38a379 (diff) | |
download | aports-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/APKBUILD | 28 | ||||
-rw-r--r-- | main/omxplayer/fix-makefile.patch | 16 | ||||
-rw-r--r-- | main/omxplayer/omxplayer-alsa.patch | 45 | ||||
-rw-r--r-- | main/omxplayer/pull-req-465.patch | 73 |
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); |