Commit c68517d: Fix delete query when multiple same channelid

Origin commit data
------------------
Branch: ni/coolstream
Commit: 8681a9c399
Author: Michael Liebmann <tuxcode.bbg@gmail.com>
Date: 2012-10-24 (Wed, 24 Oct 2012)

Origin message was:
------------------
* Commit c68517d: Fix delete query when multiple same channelid

------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Michael Liebmann
2012-10-24 11:46:22 +02:00
parent 088ee662d7
commit 1100717632
3 changed files with 30 additions and 12 deletions

View File

@@ -1096,6 +1096,18 @@ bool CRecordManager::Stop(const t_channel_id channel_id)
return (inst != NULL);
}
bool CRecordManager::IsRecording(const CTimerd::RecordingStopInfo * recinfo)
{
bool ret = false;
mutex.lock();
CRecordInstance * inst = FindInstanceID(recinfo->eventID);
if(inst != NULL && recinfo->eventID == inst->GetRecordingId())
ret = true;
mutex.unlock();
printf("[%s] eventID: %d, channel_id: 0x%llx, ret: %d\n", __FUNCTION__, recinfo->eventID, recinfo->channel_id, ret);
return ret;
}
bool CRecordManager::Stop(const CTimerd::RecordingStopInfo * recinfo)
{
bool ret = false;

View File

@@ -187,6 +187,7 @@ class CRecordManager : public CMenuTarget /*, public CChangeObserver*/
bool Record(const t_channel_id channel_id, const char * dir = NULL, bool timeshift = false);
bool Stop(const t_channel_id channel_id);
bool Stop(const CTimerd::RecordingStopInfo * recinfo);
bool IsRecording(const CTimerd::RecordingStopInfo * recinfo);
bool Update(const t_channel_id channel_id);
bool ShowMenu(void);
bool AskToStop(const t_channel_id channel_id, const int recid = 0);

View File

@@ -574,6 +574,10 @@ int CTimerList::show()
{
bool killTimer = true;
if (CRecordManager::getInstance()->RecordingStatus(timerlist[selected].channel_id)) {
CTimerd::RecordingStopInfo recinfo;
recinfo.channel_id = timerlist[selected].channel_id;
recinfo.eventID = timerlist[selected].eventID;
if (CRecordManager::getInstance()->IsRecording(&recinfo)) {
std::string title = "";
char buf1[1024];
CEPGData epgdata;
@@ -588,6 +592,7 @@ int CTimerList::show()
update = false;
}
}
}
if (killTimer) {
Timer->removeTimerEvent(timerlist[selected].eventID);
skipEventID=timerlist[selected].eventID;