xbmc / xbmc/inputstream.ffmpegdirect
I had to adjust some things to build under Archlinux - Nexus/20.X
Open
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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