Version 1.4.1-4

- Fixed converting the port number in the "connect from..." log message of SVDRP
  (thanks to Ville Skyttä).
- Made the cCiSession members sessionId and resourceId uint16_t and uint32_t,
  respectively, to match their types in the CI session data (thanks to Ville Skyttä
  for reporting that there are places where ntohs() is assigned to different types).
- Changed the way a device is selected for receiving in order to keep devices with
  CAMs better available, even if this means recording on the primary device (reported
  by Jörn Reder; thanks to Anssi Hannula for improving handling Transfer Mode devices
  in this).
- No longer stopping removing empty directories if an error occurs (thanks to
  Oliver Endriss).
- Added a log error message to cPlugin::ConfigDirectory() in case a plugin calls it
  from a separate thread (reported by Udo Richter).
This commit is contained in:
Klaus Schmidinger
2006-08-13 18:00:00 +02:00
parent 33f1491b18
commit f5ad8fc5d7
9 changed files with 81 additions and 53 deletions

14
ci.h
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: ci.h 1.21 2006/01/07 15:03:05 kls Exp $
* $Id: ci.h 1.22 2006/08/12 09:43:31 kls Exp $
*/
#ifndef __CI_H
@@ -110,14 +110,14 @@ private:
int source;
int transponder;
cList<cCiCaProgramData> caProgramList;
int ResourceIdToInt(const uint8_t *Data);
bool Send(uint8_t Tag, int SessionId, int ResourceId = 0, int Status = -1);
uint32_t ResourceIdToInt(const uint8_t *Data);
bool Send(uint8_t Tag, uint16_t SessionId, uint32_t ResourceId = 0, int Status = -1);
const unsigned short *GetCaSystemIds(int Slot);
cCiSession *GetSessionBySessionId(int SessionId);
cCiSession *GetSessionByResourceId(int ResourceId, int Slot);
cCiSession *CreateSession(int ResourceId);
cCiSession *GetSessionBySessionId(uint16_t SessionId);
cCiSession *GetSessionByResourceId(uint32_t ResourceId, int Slot);
cCiSession *CreateSession(uint32_t ResourceId);
bool OpenSession(int Length, const uint8_t *Data);
bool CloseSession(int SessionId);
bool CloseSession(uint16_t SessionId);
int CloseAllSessions(int Slot);
cCiHandler(int Fd, int NumSlots);
void SendCaPmt(void);