Commit Graph

132 Commits

Author SHA1 Message Date
Frank Schmirler
fffd5aef4f Proper fix for "client sends ABRT after TUNE". Obsoletes many hacks in client 2012-05-21 00:42:08 +02:00
Frank Schmirler
6a47e20435 Silenced warning (thanks to Rolf Ahrenberg) 2012-05-17 17:01:15 +02:00
Frank Schmirler
12b48591be Updated Finnish translation (thanks to Rolf Ahrenberg) 2012-05-17 16:59:42 +02:00
Frank Schmirler
c3ac597623 Replaced server-side suspend modes with priority based precedence handling 2012-05-12 12:58:42 +02:00
Frank Schmirler
ae634538f8 Dropped compatibility of streamdev-server with VDR < 1.7.25 2012-05-12 12:58:42 +02:00
Frank Schmirler
316ac3344d Use fileno() to retrieve the fd from a FILE structure (fixes #958) 2012-05-03 08:30:32 +02:00
Frank Schmirler
8719007f5a New special meaning "show current channel" when channel 0 is requested.
Applies to HTTP streaming only (thanks to Rolf Ahrenberg)
2012-04-21 22:47:36 +02:00
Frank Schmirler
a1797719de Using SetOccupied() won't work as it isn't considered in GetDevice(). Trying
to compensate the loss of SetAvoidDevice() with streamdevs CheckConnection(),
ignoring the current live TV device. If a new device is returned it is just
switched to the new channel. Hopefully the main loop will pick it up later,
after streamdev switched aways live TV.
2012-03-11 09:41:33 +01:00
Frank Schmirler
5a3c535778 API change of VDR 1.7.26: Use "occupied" instead of "avoid device". 2012-03-10 23:44:51 +01:00
Frank Schmirler
a047fc7d32 Report the server-side HTTP status "503 Service unavailable" instead of
the client-side error "409 Conflict" when a channel is unavailable
(suggested by Methodus)
2012-03-01 09:01:37 +01:00
Frank Schmirler
229e8fbfff Update of po headers and Finnish translation (thanks to Rolf Ahrenberg) 2011-12-13 12:59:31 +01:00
Frank Schmirler
ba7c61fb39 Support for non-cycle-free setups (e.g. where two VDRs mutually share
their DVB cards through streamdev-client/-server).
Must be enabled in streamdev-server setup. Obsoletes recursion patches.
2011-12-11 17:03:09 +01:00
Frank Schmirler
d93ca82bd1 Update and UTF-8 conversion of Finnish po files (thanks to Rolf Ahrenberg) 2011-12-08 13:11:43 +01:00
Frank Schmirler
ffb8707118 Added "Hide mainmenu entry" option on server (thanks to Rolf Ahrenberg) 2011-12-08 13:07:17 +01:00
Frank Schmirler
afe255aa0b Added server menu with list of clients. Connections can be terminated
with the "red" key. The former main menu action of suspending live TV
moved to the "blue" key.

Squashed commit of the following:

commit 7175d7de91
Author: Frank Schmirler <vdr@schmirler.de>
Date:   Sun Nov 27 11:51:26 2011 +0100

    Updated README

commit 94aef85adc
Author: Frank Schmirler <vdr@schmirler.de>
Date:   Sun Nov 27 11:32:16 2011 +0100

    Moved "closing connection" log message to overload of cTBSocket::Close() in
    cServerConnection.

commit 9b91301d94
Author: Frank Schmirler <vdr@schmirler.de>
Date:   Fri Nov 25 00:24:37 2011 +0100

    Don't keep a pointer to the connection in components MulticastGroup
    structure as the connection may now be deleted from outside via menu.

commit 7347e24123
Author: Frank Schmirler <vdr@schmirler.de>
Date:   Thu Nov 24 23:45:59 2011 +0100

    Fixed missing Display() call after disconnecting a client.

commit c652e8fa81
Author: Frank Schmirler <vdr@schmirler.de>
Date:   Tue Nov 22 01:15:09 2011 +0100

    Added server menu with list of clients. Connections can be terminated
    with the "red" key. The former main menu action of suspending live TV
    moved to the "blue" key.
2011-11-28 16:23:57 +01:00
Frank Schmirler
ce1583a756 Code cleanup and optimization (thanks to Ville Skytt) 2011-11-21 13:03:06 +01:00
Frank Schmirler
f9224d0618 properly shutdown IGMP timeout handler thread when the plugin is stopped.
Fixes occasional segfaults on VDR exit.
2011-11-13 23:27:46 +01:00
Frank Schmirler
6c9c6ca77f restricted VTP command RENR to liemikuutio patch < 1.32 (fixes #786).
Build fails with newer versions of this patch. RENR was introduced for XBMC
which is no longer using streamdev at all, so the impact should be low.
2011-11-07 17:15:10 +01:00
Frank Schmirler
b9d2f66295 include SDT and TDT in TS streams 2011-10-25 17:18:23 +02:00
Frank Schmirler
077398fdef Revert "dropped cServerConnection::m_Pending"
Required by VTP

This reverts commit bdaea38b86.
2011-10-24 08:44:31 +02:00
Frank Schmirler
bdaea38b86 dropped cServerConnection::m_Pending 2011-10-20 23:45:44 +02:00
Frank Schmirler
6b633dbfa2 the icy-name HTTP header sent with radio streams makes VLC pick the wrong
demuxer. Send icy-name only for ES audio streams (fixes #746)
2011-10-20 23:37:27 +02:00
Frank Schmirler
615f101b9d fixed regression of "live TV must be switched in VDR main thread" change:
deadlock in IGMP streaming server when switching live TV.

Previously cComponentIGMP::Accept did all the work including the channel
switch with the new cConnectionIGMP waiting for MainThreadHook. But as the
new connection is stored *after* Accept, MainThreadHook didn't see it and
so wasn't able to switch. The streamdev main thread waited forever.

Moved the main work into cComponentIGMP::Welcome.
2011-10-18 08:50:54 +02:00
Frank Schmirler
475e7bbd6a updated device selection to code of VDR 1.7.19 2011-09-10 00:04:08 +02:00
Frank Schmirler
4c0888d483 adaption to VDR 1.7.12 cReceiver API change 2011-09-09 23:26:45 +02:00
Frank Schmirler
24a1638ddd increased WRITERBUFSIZE. Has been reported to fix some ringbuffer overflows
(thanks to Lubo Doleel)
2011-09-02 13:18:01 +02:00
Frank Schmirler
cc74cba396 check availability of channel if VTP command TUNE is called without prior
PROV call (e.g. client side EPG scan)
2011-09-02 13:11:13 +02:00
Frank Schmirler
2c8377d42a added support for VDR 1.7.19 SignalStrength/SignalQuality 2011-07-06 09:13:50 +02:00
Frank Schmirler
f73665a0bd Server must close the VTP connection also if filter stream is broken
Otherwise, if a client which is not livestreaming (e.g. watching a recording)
doesn't properly shutdown the port 2004 connection, the filter stream remains
open until TCP keepalive takes care of it. In the meantime, the log will show
ringbuffer overflows.
2011-06-03 13:24:12 +02:00
Frank Schmirler
19e8cf2a28 writer must not spend too much time waiting in select() without checking
if the thread has been cancelled.

Delayed the streamdev main thread for up to 3 seconds. As the command timeou
of VTP connections is 1.5 seconds, one hanging connection could have caused
VTP connections to die.
2011-04-11 13:56:49 +02:00
Frank Schmirler
17bb6390f9 Merge branch 'master' of projects.vdr-developer.org:vdr-plugin-streamdev
Conflicts:
	HISTORY
2011-03-18 15:56:34 +01:00
Frank Schmirler
58a4f3dbe5 Added Spanish translation 2011-03-18 15:52:42 +01:00
Frank Schmirler
1a933d6cc9 Merge branch 'switch_livetv'
Conflicts:
	HISTORY
	server/connection.c
2011-03-07 23:06:27 +01:00
Frank Schmirler
c06970123c Live TV must be switched in VDR main thread (fixes #568). 2011-03-07 23:04:18 +01:00
Frank Schmirler
2cb0ba6cf1 Dropped compatibility with VDR < 1.5.16 2011-03-07 22:05:36 +01:00
Frank Schmirler
3a2936a140 updated copy of GetClippedNumProvidedSystems to the version used since VDR 1.7.15 2011-02-01 14:24:47 +01:00
Frank Schmirler
06d5418e42 Fixed the code deciding if a device is in use for live TV or not. It did
not work as expected for FF cards (fixes #536)
2011-01-28 12:42:33 +01:00
Frank Schmirler
316a1f884f connection runs as thread, so it must not use Skins.Message 2011-01-14 17:03:17 +01:00
Frank Schmirler
9fbc166848 Improved channel switch code
- Avoid device allows more efficient code when trying to move live TV to different card
- Added some more dsyslog messages to help debugging channel switch issues
2010-12-14 13:22:55 +01:00
Frank Schmirler
abf8a62fe9 make sure that a client doesn't interrupt replaying on server's FF card
http://www.vdr-portal.de/board/thread.php?postid=948311 (reported by wtor)
2010-12-10 18:06:39 +01:00
Frank Schmirler
a35675490d switching away live TV failed even when "always suspended"
The vdr main loop usually switches back to the previous channel at
"Make sure we have a visible programme in case device usage has changed"
(#472)
2010-12-10 17:03:04 +01:00
Frank Schmirler
0c07109974 fixed regression: no receiver created for ES/PS/PES
(reported by Gavin Hamill)
2010-12-10 16:38:54 +01:00
Frank Schmirler
6ea5efe939 Snapshot 2010-09-15 2011-03-22 21:16:18 +02:00
schmirl
0a860a1e3e don't use std::map.at(). It's not available in older libstdc++ version
Modified Files:
	CONTRIBUTORS HISTORY remux/extern.c server/connectionHTTP.c
2010-07-22 14:18:17 +00:00
schmirl
c0a7f1610a fixed wrong URL path in m3u playlists 2010-07-20 12:26:29 +00:00
schmirl
1a1141e4a1 Switched to proper tsplay-0.2 patch detection
Modified Files:
	server/recplayer.c Makefile CONTRIBUTORS HISTORY
2010-06-04 18:32:34 +00:00
schmirl
7517b874d8 added compatibility with VDR 1.6 tsplay-0.1 patch 2010-05-14 06:23:59 +00:00
schmirl
6f984b87e3 Added support for EnhancedAC3 2010-04-19 10:17:33 +00:00
schmirl
8a128f7c57 fixed a memory leak in cStreamdevPatFilter::GetPid (thanks to lhanisch) 2010-02-20 23:02:10 +00:00
schmirl
2f027a6ffc - length -1 is the correct value for streams in M3U playlists 2010-02-20 22:18:14 +00:00