xbmc-rpi: update to xbmc-rpi-1a55b45

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-04-29 18:00:01 +02:00
parent 3e57fefc5a
commit 6451d1e48d
22 changed files with 2 additions and 369 deletions

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xbmc-rpi-theme-Confluence"
PKG_VERSION="c2c161c"
PKG_VERSION="1a55b45"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xbmc-rpi"
PKG_VERSION="c2c161c"
PKG_VERSION="1a55b45"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,36 +0,0 @@
From f52dd9a555e8e4b087ec6fbf040dc1f1155c4136 Mon Sep 17 00:00:00 2001
From: "S. Davilla" <davilla@4pi.com>
Date: Sat, 21 Apr 2012 14:11:56 -0400
Subject: [PATCH] fixed, failure to broswe for smb shares. this hits all 1st
time installs
---
xbmc/filesystem/SmbFile.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/xbmc/filesystem/SmbFile.cpp b/xbmc/filesystem/SmbFile.cpp
index 382553c..c390031 100644
--- a/xbmc/filesystem/SmbFile.cpp
+++ b/xbmc/filesystem/SmbFile.cpp
@@ -61,7 +61,6 @@ SMBCSRV* xb_smbc_cache(SMBCCTX* c, const char* server, const char* share, const
m_IdleTimeout = 0;
#endif
m_context = NULL;
- smbc_init(xb_smbc_auth, 0);
}
CSMB::~CSMB()
@@ -149,6 +148,10 @@ void CSMB::Init()
}
#endif
+ // reads smb.conf so this MUST be after we create smb.conf
+ // multiple smbc_init calls are ignored by libsmbclient.
+ smbc_init(xb_smbc_auth, 0);
+
#ifdef TARGET_WINDOWS
// set the log function
set_log_callback(xb_smbc_log);
--
1.7.10

View File

@ -1,308 +0,0 @@
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayer.cpp xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayer.cpp
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayer.cpp 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayer.cpp 2012-04-26 18:47:42.702153142 +0200
@@ -65,7 +65,7 @@
{
m_speed = 1;
m_paused = false;
- m_bAbortRequest = false;
+ m_StopPlaying = false;
m_hdmi_clock_sync = false;
m_av_clock = NULL;
}
@@ -110,7 +110,7 @@
m_item = file;
m_options = options;
- m_bAbortRequest = false;
+ m_StopPlaying = false;
m_elapsed_ms = 0;
m_duration_ms = 0;
@@ -175,7 +175,7 @@
}
// Playback might have been stopped due to some error
- if (m_bStop || m_bAbortRequest)
+ if (m_bStop || m_StopPlaying)
return false;
return true;
@@ -191,7 +191,7 @@
{
CLog::Log(LOGDEBUG, "COMXPlayer::CloseFile");
- m_bAbortRequest = true;
+ m_StopPlaying = true;
CLog::Log(LOGDEBUG, "COMXPlayer: waiting for threads to exit");
// wait for the main thread to finish up
@@ -854,6 +854,7 @@
CStdString COMXPlayer::GetPlayingTitle()
{
+ //return video_title;
return "";
}
@@ -872,7 +873,7 @@
// if we didn't stop playing, advance to the next item in xbmc's playlist
if(m_options.identify == false)
{
- if (m_bAbortRequest)
+ if (m_StopPlaying)
m_callback.OnPlayBackStopped();
else
m_callback.OnPlayBackEnded();
@@ -887,6 +888,7 @@
CLog::Log(LOGDEBUG, "COMXPlayer: SetThreadPriority failed");
struct timespec starttime, endtime;
+ bool got_eof = false;
OMXPacket *omx_pkt = NULL;
//CLog::Log(LOGDEBUG, "COMXPlayer: Thread started");
@@ -897,10 +899,7 @@
m_stats = false;
if(!m_omx_reader.Open(m_filename, false))
- {
- m_bAbortRequest = true;
goto do_exit;
- }
m_video_count = m_omx_reader.VideoStreamCount();
m_audio_count = m_omx_reader.AudioStreamCount();
@@ -914,10 +913,7 @@
m_av_clock = new OMXClock();
if(!m_av_clock->OMXInitialize(m_video_count, m_audio_count))
- {
- m_bAbortRequest = true;
goto do_exit;
- }
if(m_hdmi_clock_sync && !m_av_clock->HDMIClockSync())
goto do_exit;
@@ -926,10 +922,7 @@
if(m_video_count && !m_player_video.Open(m_hints_video, m_av_clock, deinterlace,
m_bMpeg, m_hdmi_clock_sync, m_thread_player))
- {
- m_bAbortRequest = true;
goto do_exit;
- }
CStdString deviceString;
if(m_use_passthrough)
@@ -939,10 +932,7 @@
if(m_audio_count && !m_player_audio.Open(m_hints_audio, m_av_clock, &m_omx_reader, deviceString,
m_use_passthrough, m_use_hw_audio, m_thread_player))
- {
- m_bAbortRequest = true;
goto do_exit;
- }
RESOLUTION res = g_graphicsContext.GetVideoResolution();
int video_width = g_settings.m_ResInfo[res].iWidth;
@@ -1022,7 +1012,7 @@
CSingleLock lock(m_csection);
m_csection.unlock();
- while (!m_bAbortRequest)
+ while (!m_bStop && !m_StopPlaying)
{
if(m_paused)
{
@@ -1043,10 +1033,7 @@
m_player_video.Close();
if(m_video_count && !m_player_video.Open(m_hints_video, m_av_clock, deinterlace,
m_bMpeg, m_hdmi_clock_sync, m_thread_player))
- {
- m_bAbortRequest = true;
goto do_exit;
- }
m_flush = false;
}
@@ -1135,10 +1122,7 @@
/* player emergency exit */
if(m_player_audio.Error())
- {
- m_bAbortRequest = true;
goto do_exit;
- }
if(m_stats)
{
@@ -1158,8 +1142,10 @@
m_csection.unlock();
if(m_omx_reader.IsEof())
+ {
+ got_eof = true;
break;
-
+ }
}
}
catch(...)
@@ -1171,22 +1157,12 @@
try
{
- if(m_omx_reader.IsEof())
+ if(got_eof && !m_StopPlaying)
{
- bool running = true;
-
- while(running)
- {
- if(m_bAbortRequest)
- break;
-
- if(m_audio_count)
- running = m_player_audio.WaitCompletion();
- else if(m_video_count)
- running = m_player_video.WaitCompletion();
-
- OMXClock::OMXSleep(50);
- }
+ if(m_audio_count)
+ m_player_audio.WaitCompletion();
+ else if(m_video_count)
+ m_player_video.WaitCompletion();
}
if(m_av_clock)
@@ -1203,6 +1179,8 @@
OMXReader::FreePacket(omx_pkt);
omx_pkt = NULL;
}
+
+ m_StopPlaying = true;
}
catch(...)
{
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayer.h xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayer.h
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayer.h 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayer.h 2012-04-26 18:47:42.790154893 +0200
@@ -170,7 +170,7 @@
int m_speed;
bool m_paused;
- bool m_bAbortRequest;
+ bool m_StopPlaying;
CEvent m_ready;
CFileItem m_item;
CPlayerOptions m_options;
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerAudio.cpp xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerAudio.cpp
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerAudio.cpp 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerAudio.cpp 2012-04-26 18:47:43.003159130 +0200
@@ -674,22 +674,24 @@
return 0;
}
-bool OMXPlayerAudio::WaitCompletion()
+void OMXPlayerAudio::WaitCompletion()
{
if(!m_decoder)
- return false;
+ return;
- Lock();
- if(m_packets.empty())
+ while(true)
{
+ Lock();
+ if(m_packets.empty())
+ {
+ UnLock();
+ break;
+ }
UnLock();
- return true;
+ OMXClock::OMXSleep(50);
}
- UnLock();
m_decoder->WaitCompletion();
-
- return false;
}
void OMXPlayerAudio::RegisterAudioCallback(IAudioCallback *pCallback)
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerAudio.h xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerAudio.h
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerAudio.h 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerAudio.h 2012-04-26 18:47:43.561170233 +0200
@@ -122,7 +122,7 @@
double GetDelay();
double GetCacheTime();
double GetCurrentPTS() { return m_iCurrentPts; };
- bool WaitCompletion();
+ void WaitCompletion();
unsigned int GetCached() { return m_cached_size; };
void RegisterAudioCallback(IAudioCallback* pCallback);
void UnRegisterAudioCallback();
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerVideo.cpp xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerVideo.cpp
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerVideo.cpp 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerVideo.cpp 2012-04-26 18:47:44.088180715 +0200
@@ -560,22 +560,24 @@
return 0;
}
-bool OMXPlayerVideo::WaitCompletion()
+void OMXPlayerVideo::WaitCompletion()
{
if(!m_decoder)
- return false;
+ return;
- Lock();
- if(m_packets.empty())
+ while(true)
{
+ Lock();
+ if(m_packets.empty())
+ {
+ UnLock();
+ break;
+ }
UnLock();
- return true;
+ OMXClock::OMXSleep(50);
}
- UnLock();
m_decoder->WaitCompletion();
-
- return false;
}
void OMXPlayerVideo::SetSpeed(int speed)
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerVideo.h xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerVideo.h
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXPlayerVideo.h 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXPlayerVideo.h 2012-04-26 18:47:44.325185435 +0200
@@ -116,7 +116,7 @@
double GetCurrentPTS() { return m_pts; };
double GetFPS() { return m_fps; };
unsigned int GetCached() { return m_cached_size; };
- bool WaitCompletion();
+ void WaitCompletion();
void SetDelay(double delay) { m_iVideoDelay = delay; }
double GetDelay() { return m_iVideoDelay; }
void SetSpeed(int iSpeed);
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXVideo.cpp xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXVideo.cpp
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXVideo.cpp 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXVideo.cpp 2012-04-26 18:47:44.579190487 +0200
@@ -1079,7 +1079,7 @@
if(m_omx_render.IsEOS())
break;
clock_gettime(CLOCK_REALTIME, &endtime);
- if((endtime.tv_sec - starttime.tv_sec) > 2)
+ if((endtime.tv_sec - starttime.tv_sec) > 5)
{
CLog::Log(LOGERROR, "%s::%s - wait for eos timed out\n", CLASSNAME, __func__);
break;

View File

@ -1,11 +0,0 @@
diff -Naur xbmc-rpi-c2c161c/xbmc/guilib/Texture.h xbmc-rpi-c2c161c.patch/xbmc/guilib/Texture.h
--- xbmc-rpi-c2c161c/xbmc/guilib/Texture.h 2012-04-26 16:26:57.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/guilib/Texture.h 2012-04-29 01:54:25.479859785 +0200
@@ -45,6 +45,7 @@
#endif
#ifdef TARGET_RASPBERRY_PI
+#define EGL_EGLEXT_PROTOTYPES
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include "xbmc/filesystem/File.h"

View File

@ -1,12 +0,0 @@
diff -Naur xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
--- xbmc-rpi-c2c161c/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp 2012-04-26 16:26:58.000000000 +0200
+++ xbmc-rpi-c2c161c.patch/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp 2012-04-26 18:15:42.988848797 +0200
@@ -310,7 +310,7 @@
else
{
CLog::Log(LOGINFO, "COMXAudioCodecOMX::GetChannelMap - FFmpeg reported %d channels, but the layout contains %d ignoring", m_pCodecContext->channels, bits);
- layout = m_dllAvCodec.avcodec_guess_channel_layout(m_pCodecContext->channels, m_pCodecContext->codec_id, NULL);
+ layout = m_dllAvUtil.av_get_default_channel_layout(m_pCodecContext->channels);
}
int index = 0;