xbmc / xbmc/inputstream.ffmpegdirect

I had to adjust some things to build under Archlinux - Nexus/20.X

Open
#164 21 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
101
Forks
56
PR merge metrics
No merged PRs in 30d

Description

I had to roll a couple files back and adjust as below, not sure if this matters, as Arch uses bleeding edge packages sometimes...

diff --git a/src/stream/FFmpegCatchupStream.cpp b/src/stream/FFmpegCatchupStream.cpp
index a47ad8f..dd2e995 100644
--- a/src/stream/FFmpegCatchupStream.cpp
+++ b/src/stream/FFmpegCatchupStream.cpp
@@ -371,7 +371,7 @@ void FFmpegCatchupStream::UpdateCurrentPTS()
 
 bool FFmpegCatchupStream::IsRealTimeStream()
 {
-  if (kodi::addon::GetSettingBoolean("forceRealtimeOffCatchup"))
+  if (kodi::GetSettingBoolean("forceRealtimeOffCatchup"))
     return false;
 
   return m_isRealTimeStream && m_pFormatContext->duration <= 0;
diff --git a/src/stream/FFmpegStream.cpp b/src/stream/FFmpegStream.cpp
index 05dbc39..8fd9c00 100644
--- a/src/stream/FFmpegStream.cpp
+++ b/src/stream/FFmpegStream.cpp
@@ -151,7 +151,7 @@ FFmpegStream::FFmpegStream(IManageDemuxPacket* demuxPacketManager, const Propert
   m_dtsAtDisplayTime = STREAM_NOPTS_VALUE;
 
   FFmpegLog::SetLogLevel(AV_LOG_INFO);
-  FFmpegLog::SetEnabled(kodi::addon::GetSettingBoolean("allowFFmpegLogging"));
+  FFmpegLog::SetEnabled(kodi::GetSettingBoolean("allowFFmpegLogging"));
   av_log_set_callback(ff_avutil_log);
 }
 
@@ -181,7 +181,7 @@ bool FFmpegStream::Open(const std::string& streamUrl, const std::string& mimeTyp
     FFmpegLog::SetEnabled(true);
     av_dump_format(m_pFormatContext, 0, CURL::GetRedacted(streamUrl).c_str(), 0);
   }
-  FFmpegLog::SetEnabled(kodi::addon::GetSettingBoolean("allowFFmpegLogging"));
+  FFmpegLog::SetEnabled(kodi::GetSettingBoolean("allowFFmpegLogging"));
 
   return m_opened;
 }
@@ -709,7 +709,7 @@ bool FFmpegStream::Open(bool fileinfo)
   }
 
   // Avoid detecting framerate if our advanced settings says so
-  if (!kodi::addon::GetSettingBoolean("probeForFps"))
+  if (!kodi::GetSettingBoolean("probeForFps"))
     m_pFormatContext->fps_probe_size = 0;
 
   // analyse very short to speed up mjpeg playback start
@@ -924,7 +924,7 @@ bool FFmpegStream::OpenWithFFmpeg(AVInputFormat* iformat, const AVIOInterruptCB&
   if (result < 0)
   {
     // We only process this condition for manifest streams when this setting is disabled
-    if (!kodi::addon::GetSettingBoolean("useFastOpenForManifestStreams") || m_manifestType.empty())
+    if (!kodi::GetSettingBoolean("useFastOpenForManifestStreams") || m_manifestType.empty())
     {
       m_pFormatContext->flags |= AVFMT_FLAG_PRIV_OPT;
       if (avformat_open_input(&m_pFormatContext, strFile.c_str(), iformat, &options) < 0)
@@ -1244,7 +1244,7 @@ unsigned int FFmpegStream::HLSSelectProgram()
 {
   unsigned int prog = UINT_MAX;
 
-  int bandwidth = kodi::addon::GetSettingInt("streamBandwidth") * 1000;
+  int bandwidth = kodi::GetSettingInt("streamBandwidth") * 1000;
   if (bandwidth <= 0)
     bandwidth = INT_MAX;
 
@@ -1907,7 +1907,7 @@ DemuxStream* FFmpegStream::AddStream(int streamIdx)
       // }
       case AVMEDIA_TYPE_SUBTITLE:
       {
-        if (pStream->codecpar->codec_id == AV_CODEC_ID_DVB_TELETEXT && kodi::addon::GetSettingBoolean("enableTeletext"))
+        if (pStream->codecpar->codec_id == AV_CODEC_ID_DVB_TELETEXT && kodi::GetSettingBoolean("enableTeletext"))
         {
           DemuxStreamTeletext* st = new DemuxStreamTeletext();
           stream = st;
diff --git a/src/stream/TimeshiftBuffer.cpp b/src/stream/TimeshiftBuffer.cpp
index 78e5c1b..9e7f08e 100644
--- a/src/stream/TimeshiftBuffer.cpp
+++ b/src/stream/TimeshiftBuffer.cpp
@@ -20,7 +20,7 @@ using namespace kodi::tools;
 TimeshiftBuffer::TimeshiftBuffer(IManageDemuxPacket* demuxPacketManager)
   : m_demuxPacketManager(demuxPacketManager)
 {
-  m_timeshiftBufferPath = kodi::addon::GetSettingString("timeshiftBufferPath");
+  m_timeshiftBufferPath = kodi::GetSettingString("timeshiftBufferPath");
   if (m_timeshiftBufferPath.empty())
   {
     m_timeshiftBufferPath = DEFAULT_TIMESHIFT_BUFFER_PATH;
@@ -34,9 +34,9 @@ TimeshiftBuffer::TimeshiftBuffer(IManageDemuxPacket* demuxPacketManager)
   if (!kodi::vfs::DirectoryExists(m_timeshiftBufferPath))
     kodi::vfs::CreateDirectory(m_timeshiftBufferPath);
 
-  if (!kodi::addon::CheckSettingBoolean("timeshiftEnableLimit", m_enableOnDiskSegmentLimit))
+  if (!kodi::CheckSettingBoolean("timeshiftEnableLimit", m_enableOnDiskSegmentLimit))
     m_enableOnDiskSegmentLimit = true;
-  float onDiskTotalLengthHours = kodi::addon::GetSettingFloat("timeshiftOnDiskLength");
+  float onDiskTotalLengthHours = kodi::GetSettingFloat("timeshiftOnDiskLength");
   if (onDiskTotalLengthHours <= 0.0f)
     onDiskTotalLengthHours = DEFAULT_TIMESHIFT_SEGMENT_ON_DISK_LENGTH_HOURS;
   int onDiskTotalLengthSeconds = onDiskTotalLengthHours * 60 * 60;


Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the reported changes in src/stream/FFmpegCatchupStream.cpp, src/stream/FFmpegStream.cpp, and src/stream/TimeshiftBuffer.cpp, starting with the existing setting-access APIs and the Arch Linux build context. Confirm whether the reported adjustments are required and verify that the addon builds successfully with the corrected references.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.