Commit b7675bf4 authored by Timo Teräs's avatar Timo Teräs

main/omxplayer: upgrade snapshot to 20151205, and issue 297 patch

parent a895e518
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=omxplayer
pkgver=0.20150911
_commitid=d99bd86c9fd80ea01f98761e130d7ac9a2bb7588
pkgrel=2
pkgver=0.20151205
_commitid=f5440845cdd91e7816de1937c30057f58c10c268
pkgrel=0
pkgdesc="Commandline OMX player for Raspberry Pi"
url="https://github.com/popcornmix/omxplayer"
arch="armhf"
......@@ -58,25 +58,25 @@ package() {
"$pkgdir"/etc/conf.d/$pkgname || return 1
}
md5sums="2adaa9216776cc903479bbf7e9fc0308 omxplayer-0.20150911.tar.gz
md5sums="7afc357b183d3c3b5b8e17cdec0e50fd omxplayer-0.20151205.tar.gz
a900cdded87b7df503c6599ac43bd8de issue-260.patch
4cd10bfb7e995288f4efc312acbc4252 issue-297.patch
c858882036b9fb03859edf7ce4a1d942 issue-297.patch
d8f335e1dff4b34faf36c25ad2c2b881 fix-makefile.patch
9ebd96155288809fe0a657cf491e433f default-font.patch
628a9bc0b26f75547299e92542e65d47 omxplayer-alsa.patch
b4054a311d76aef91aa10bacd68bc9c4 omxplayer.initd
80e37e7ac04402808015084e26e6072d omxplayer.confd"
sha256sums="9be32352afd9198c733b74b1a2ec9a9b73a0ee2777c79e76914df00c9c6e5115 omxplayer-0.20150911.tar.gz
sha256sums="de129817e5fda01f49e0fd80727caa14f2a715f7af9f035d77b1d0e9d0dc57d2 omxplayer-0.20151205.tar.gz
5eb797de354c63a23847a574b103a28d451a4329320f3335f82dc000adbc5c63 issue-260.patch
75cf8af95b35bc734550c55036ef49dbff04b6940f3317b51eddea06866ecf3a issue-297.patch
389c97df4919a3fe4d115f092cb256246e33374150102f0e2cb9ce11456cadb1 issue-297.patch
799b0aba6aef8c665a685777cd912268315309d0d74ce76be5fdfd0dcffbb422 fix-makefile.patch
2bab3d05b12d730737220b8c0052498a34bbebc12b7beb8afb3c054beb0fb3bb default-font.patch
87dc80b61ce6c69a52637dffb64f526e7fa213e4c2b0c97177457c95851ec594 omxplayer-alsa.patch
e2db0f7ffbe2488dd69ee0bfad006bd863f418554f078ca3432f643de7589d2f omxplayer.initd
530eb9aa50e72fb4828af410b965e0ec7653d1bed87aa86bf04fc340ff3232bd omxplayer.confd"
sha512sums="a552b508981ebbed8c70fc92d3556502da97902d4ed1d2c4c68670d0eba0565759ddecf4d8821697dab7388bed1d3246673e0a9ee558ee1a817c1483db3c89f3 omxplayer-0.20150911.tar.gz
sha512sums="2993319f710b107d7ce431ec92868b0ba48a6209d06fa978b2d609cfe267abe432db73b4fe3e1fde18b250b8a256d0f6a3af4e344168b6f7128bdf6c31fd3b94 omxplayer-0.20151205.tar.gz
c349eea5f7c513a07d82a6cf6467c4d21bcb29c053bc5e39d8f675b1212db9beef0abf5248d50ac5a2f14fda73055786f94f421377ffcf5f6bcf8daa2f1b56e8 issue-260.patch
606c71dc4e47bd1303ecb21bd6f265f61223f792e45661b724fbdc09619d4c0cf1f9c10fd2680a2889685516849076d1bddabfed5edbcbf09e9a246e92a25c4e issue-297.patch
2a8a6def1e09f726cba58c0b9109fa6c4fbd4a3b4f1d27d200488f262a0e0978579d83db7fe24f1d3e03beef318c3674ed79cbd2f1994c4551a59c9fe0f63489 issue-297.patch
3210242f9b834ffec9d3077d5a25caf8be84aa7f4f13c73eb7f61c0a406ec787e4055951fc5a6236f1da7897c95db94a5e11e25d1b3e859a6ea67f31fc6eb517 fix-makefile.patch
8aa58aaa07453186302dc68d92f28c1b50bf0f8fccd50359640a7fc8339b233b32a0c8c02284a9974599e56d69cc557acc25e76e6438c6d64d15afd9c1788a8e default-font.patch
bc11327631453026784a7b80efb259f6f86a670a12dfc3ba8b92b841611db73408ffab89b9c131bc7ff59695a5eef6f3e94af19136ffcfcbac9a9a7362a93f5f omxplayer-alsa.patch
......
https://github.com/popcornmix/omxplayer/issues/297
Not a proper fix, but works as an ugly hack to workaround the issue.
--- omxplayer-a4ee0743ecf49ffa1818510e8cc7872282ca66a8/omxplayer.cpp.orig
+++ omxplayer-a4ee0743ecf49ffa1818510e8cc7872282ca66a8/omxplayer.cpp
@@ -1683,6 +1683,10 @@
diff --git a/OMXReader.cpp b/OMXReader.cpp
index df15a01..97ed20f 100644
--- a/OMXReader.cpp
+++ b/OMXReader.cpp
@@ -261,9 +261,6 @@ bool OMXReader::Open(std::string filename, bool dump_format, bool live /* =false
if(/*m_bAVI || */m_bMatroska)
m_pFormatContext->max_analyze_duration = 0;
if(m_omx_reader.IsEof() && !m_omx_pkt)
{
+ // EOF before playback started, stop.
+ if (m_av_clock->OMXIsPaused())
+ break;
- if (live)
- m_pFormatContext->flags |= AVFMT_FLAG_NOBUFFER;
-
result = m_dllAvFormat.avformat_find_stream_info(m_pFormatContext, NULL);
if(result < 0)
{
diff --git a/OMXVideo.cpp b/OMXVideo.cpp
index acd055e..b69f451 100644
--- a/OMXVideo.cpp
+++ b/OMXVideo.cpp
@@ -670,6 +670,8 @@ bool COMXVideo::Open(OMXClock *clock, const OMXVideoConfig &config)
float fAspect = m_config.hints.aspect ? (float)m_config.hints.aspect / (float)m_config.hints.width * (float)m_config.hints.height : 1.0f;
m_pixel_aspect = fAspect / m_config.display_aspect;
+ PortSettingsChanged();
+
// demuxer EOF, but may have not played out data yet
if ( (m_has_video && m_player_video.GetCached()) ||
(m_has_audio && m_player_audio.GetCached()) )
return true;
}
diff --git a/omxplayer.cpp b/omxplayer.cpp
index c03760b..071fb60 100644
--- a/omxplayer.cpp
+++ b/omxplayer.cpp
@@ -1642,30 +1642,33 @@ int main(int argc, char *argv[])
latency = audio_fifo;
else if (!m_has_audio && m_has_video && video_pts != DVD_NOPTS_VALUE)
latency = video_fifo;
- if (!m_Pause && latency != DVD_NOPTS_VALUE)
+ if (!m_Pause && (m_omx_reader.IsEof() || latency != DVD_NOPTS_VALUE))
{
if (m_av_clock->OMXIsPaused())
{
- if (latency > m_threshold)
+ if (m_omx_reader.IsEof() || latency > m_threshold)
{
CLog::Log(LOGDEBUG, "Resume %.2f,%.2f (%d,%d,%d,%d) EOF:%d PKT:%p\n", audio_fifo, video_fifo, audio_fifo_low, video_fifo_low, audio_fifo_high, video_fifo_high, m_omx_reader.IsEof(), m_omx_pkt);
m_av_clock->OMXResume();
- m_latency = latency;
+ if (latency > 0)
+ m_latency = latency;
}
}
else
{
- m_latency = m_latency*0.99f + latency*0.01f;
float speed = 1.0f;
- if (m_latency < 0.5f*m_threshold)
- speed = 0.990f;
- else if (m_latency < 0.9f*m_threshold)
- speed = 0.999f;
- else if (m_latency > 2.0f*m_threshold)
- speed = 1.010f;
- else if (m_latency > 1.1f*m_threshold)
- speed = 1.001f;
-
+ if (latency != DVD_NOPTS_VALUE)
+ {
+ m_latency = m_latency*0.99f + latency*0.01f;
+ if (m_latency < 0.5f*m_threshold)
+ speed = 0.990f;
+ else if (m_latency < 0.9f*m_threshold)
+ speed = 0.999f;
+ else if (m_latency > 2.0f*m_threshold)
+ speed = 1.010f;
+ else if (m_latency > 1.1f*m_threshold)
+ speed = 1.001f;
+ }
m_av_clock->OMXSetSpeed(S(speed));
m_av_clock->OMXSetSpeed(S(speed), true, true);
CLog::Log(LOGDEBUG, "Live: %.2f (%.2f) S:%.3f T:%.2f\n", m_latency, latency, speed, m_threshold);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment