mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	The LIRC remote control now connects to the socket even if it doesn't yet exist whe VDR is started
This commit is contained in:
		@@ -2847,6 +2847,8 @@ Lars Hanisch <dvb@flensrocker.de>
 | 
			
		||||
 for reporting an invalid line in channels.conf.terr
 | 
			
		||||
 for fixing handling '/' and '~' in recording file names in case DirectoryEncoding is
 | 
			
		||||
 used
 | 
			
		||||
 for making the LIRC remote control connect to the socket even if it doesn't yet exist
 | 
			
		||||
 when VDR is started
 | 
			
		||||
 | 
			
		||||
Alex Lasnier <alex@fepg.org>
 | 
			
		||||
 for adding tuning support for ATSC devices
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							@@ -7853,3 +7853,8 @@ Video Disk Recorder Revision History
 | 
			
		||||
  is unexpected at this point (reported by Helmut Auer). You can still navigate to
 | 
			
		||||
  the last replayed recording (if any) by pressing Ok repeatedly in the Recordings
 | 
			
		||||
  menu.
 | 
			
		||||
 | 
			
		||||
2013-10-29: Version 2.0.5
 | 
			
		||||
 | 
			
		||||
- The LIRC remote control now connects to the socket even if it doesn't yet exist when
 | 
			
		||||
  VDR is started (thanks to Lars Hanisch).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								config.h
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: config.h 2.76.1.4 2013/09/07 10:25:10 kls Exp $
 | 
			
		||||
 * $Id: config.h 2.76.1.5 2013/10/29 16:06:45 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __CONFIG_H
 | 
			
		||||
@@ -22,8 +22,8 @@
 | 
			
		||||
 | 
			
		||||
// VDR's own version number:
 | 
			
		||||
 | 
			
		||||
#define VDRVERSION  "2.0.4"
 | 
			
		||||
#define VDRVERSNUM   20004  // Version * 10000 + Major * 100 + Minor
 | 
			
		||||
#define VDRVERSION  "2.0.5"
 | 
			
		||||
#define VDRVERSNUM   20005  // Version * 10000 + Major * 100 + Minor
 | 
			
		||||
 | 
			
		||||
// The plugin API's version number:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								lirc.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								lirc.c
									
									
									
									
									
								
							@@ -6,7 +6,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 * LIRC support added by Carsten Koch <Carsten.Koch@icem.de>  2000-06-16.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: lirc.c 2.5.1.1 2013/08/22 09:36:49 kls Exp $
 | 
			
		||||
 * $Id: lirc.c 2.5.1.2 2013/10/29 16:06:20 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "lirc.h"
 | 
			
		||||
@@ -21,11 +21,9 @@ cLircRemote::cLircRemote(const char *DeviceName)
 | 
			
		||||
{
 | 
			
		||||
  addr.sun_family = AF_UNIX;
 | 
			
		||||
  strcpy(addr.sun_path, DeviceName);
 | 
			
		||||
  if (Connect()) {
 | 
			
		||||
     Start();
 | 
			
		||||
     return;
 | 
			
		||||
     }
 | 
			
		||||
  f = -1;
 | 
			
		||||
  if (!Connect())
 | 
			
		||||
     f = -1;
 | 
			
		||||
  Start();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cLircRemote::~cLircRemote()
 | 
			
		||||
@@ -67,14 +65,15 @@ void cLircRemote::Action(void)
 | 
			
		||||
  bool repeat = false;
 | 
			
		||||
  int timeout = -1;
 | 
			
		||||
 | 
			
		||||
  while (Running() && f >= 0) {
 | 
			
		||||
  while (Running()) {
 | 
			
		||||
 | 
			
		||||
        bool ready = cFile::FileReady(f, timeout);
 | 
			
		||||
        bool ready = f >= 0 && cFile::FileReady(f, timeout);
 | 
			
		||||
        int ret = ready ? safe_read(f, buf, sizeof(buf)) : -1;
 | 
			
		||||
 | 
			
		||||
        if (ready && ret <= 0 ) {
 | 
			
		||||
        if (f < 0 || ready && ret <= 0) {
 | 
			
		||||
           esyslog("ERROR: lircd connection broken, trying to reconnect every %.1f seconds", float(RECONNECTDELAY) / 1000);
 | 
			
		||||
           close(f);
 | 
			
		||||
           if (f >= 0)
 | 
			
		||||
              close(f);
 | 
			
		||||
           f = -1;
 | 
			
		||||
           while (Running() && f < 0) {
 | 
			
		||||
                 cCondWait::SleepMs(RECONNECTDELAY);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user