Skip to content

Commit

Permalink
PVRIptvData: Do better channel# & order handling
Browse files Browse the repository at this point in the history
  • Loading branch information
palinek committed Jan 2, 2020
1 parent 7433ab5 commit 07ca551
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/PVRIptvData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -775,7 +775,7 @@ PVR_ERROR PVRIptvData::GetChannelStreamUrl(const PVR_CHANNEL* channel, std::stri
channels = m_channels;
}

auto channel_i = std::find_if(channels->cbegin(), channels->cend(), [channel] (const PVRIptvChannel & c) { return c.iChannelNumber == channel->iUniqueId; });
auto channel_i = std::find_if(channels->cbegin(), channels->cend(), [channel] (const PVRIptvChannel & c) { return c.iUniqueId == channel->iUniqueId; });
if (channels->cend() == channel_i)
{
XBMC->Log(LOG_NOTICE, "%s can't find channel %d", __FUNCTION__, channel->iUniqueId);
Expand Down Expand Up @@ -850,6 +850,7 @@ PVR_ERROR PVRIptvData::GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHA
auto group_i = std::find_if(groups->cbegin(), groups->cend(), [&group] (PVRIptvChannelGroup const & g) { return g.strGroupName == group.strGroupName; });
if (group_i != groups->cend())
{
int order = 0;
for (const auto & member : group_i->members)
{
if (member < 0 || member >= channels->size())
Expand All @@ -861,7 +862,7 @@ PVR_ERROR PVRIptvData::GetChannelGroupMembers(ADDON_HANDLE handle, const PVR_CHA

strncpy(xbmcGroupMember.strGroupName, group.strGroupName, sizeof(xbmcGroupMember.strGroupName) - 1);
xbmcGroupMember.iChannelUniqueId = channel.iUniqueId;
xbmcGroupMember.iChannelNumber = channel.iChannelNumber;
xbmcGroupMember.iChannelNumber = ++order;

xbmc_group_members.push_back(std::move(xbmcGroupMember));
}
Expand Down Expand Up @@ -893,7 +894,7 @@ static PVR_ERROR GetEPGData(const EPG_TAG* tag
, bool * isChannelPinLocked = nullptr
)
{
auto channel_i = std::find_if(channels->cbegin(), channels->cend(), [tag] (const PVRIptvChannel & c) { return c.iChannelNumber == tag->iUniqueChannelId; });
auto channel_i = std::find_if(channels->cbegin(), channels->cend(), [tag] (const PVRIptvChannel & c) { return c.iUniqueId == tag->iUniqueChannelId; });
if (channels->cend() == channel_i)
{
XBMC->Log(LOG_NOTICE, "%s can't find channel %d", __FUNCTION__, tag->iUniqueChannelId);
Expand Down

0 comments on commit 07ca551

Please sign in to comment.