1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02: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:
Klaus Schmidinger 2013-10-29 16:09:03 +01:00
parent 578cfe64a8
commit 25e05054a6
4 changed files with 19 additions and 13 deletions

View File

@ -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

View File

@ -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).

View File

@ -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:

15
lirc.c
View File

@ -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;
}
if (!Connect())
f = -1;
Start();
}
cLircRemote::~cLircRemote()
@ -67,13 +65,14 @@ 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);
if (f >= 0)
close(f);
f = -1;
while (Running() && f < 0) {