mirror of
https://github.com/rofafor/vdr-plugin-iptv.git
synced 2023-10-10 13:37:03 +02:00
Fixed EXT protocol execution (Thanks to Peter Holik).
Changed scripts to use bash instead of sh.
This commit is contained in:
parent
fd06641449
commit
a6d4e850fc
4
HISTORY
4
HISTORY
@ -142,7 +142,7 @@ VDR Plugin 'iptv' Revision History
|
||||
|
||||
- Updated for vdr-1.7.15.
|
||||
|
||||
2010-09-19: Version 0.4.3
|
||||
2010-xx-xx: Version 0.4.3
|
||||
|
||||
- Updated for vdr-1.7.16.
|
||||
- Renamed Sid scanner to section id scanner and added
|
||||
@ -152,3 +152,5 @@ VDR Plugin 'iptv' Revision History
|
||||
- Changed ProvidesChannel() to set the need of detaching
|
||||
receivers due to VDR's channel selection mechanism.
|
||||
- Enabled partial content responses for HTTP protocol.
|
||||
- Fixed EXT protocol execution (Thanks to Peter Holik).
|
||||
- Changed scripts to use bash instead of sh.
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# internetradio.sh is used by the VDR iptv plugin to transcode an internet
|
||||
# radio stream.
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# iptvstream.sh can be used by the VDR iptv plugin to transcode external
|
||||
# sources
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# iptvstream.sh can be used by the VDR iptv plugin to transcode external
|
||||
# sources
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# linein.sh is used by the VDR iptv plugin to transcode line-in of
|
||||
# a soundcard.
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# vlc2iptv is used by the VDR iptv plugin to transcode external sources
|
||||
#
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# webcam.sh is used by the VDR iptv plugin to transcode an internet radio
|
||||
# stream remuxed with images (e.g. webcam) to provide a video stream.
|
||||
|
@ -38,6 +38,8 @@ void cIptvProtocolExt::ExecuteScript(void)
|
||||
{
|
||||
debug("cIptvProtocolExt::ExecuteScript()\n");
|
||||
// Check if already executing
|
||||
if (isActive || isempty(scriptFile))
|
||||
return;
|
||||
if (pid > 0) {
|
||||
error("Cannot execute script!");
|
||||
return;
|
||||
@ -53,7 +55,7 @@ void cIptvProtocolExt::ExecuteScript(void)
|
||||
// Execute the external script
|
||||
cString cmd = cString::sprintf("%s %d %d", *scriptFile, scriptParameter, socketPort);
|
||||
debug("cIptvProtocolExt::ExecuteScript(child): %s\n", *cmd);
|
||||
if (execl("/bin/sh", "sh", "-c", *cmd, (char *)NULL) == -1) {
|
||||
if (execl("/bin/bash", "sh", "-c", *cmd, (char *)NULL) == -1) {
|
||||
error("Script execution failed: %s", *cmd);
|
||||
_exit(-1);
|
||||
}
|
||||
@ -67,6 +69,8 @@ void cIptvProtocolExt::ExecuteScript(void)
|
||||
void cIptvProtocolExt::TerminateScript(void)
|
||||
{
|
||||
debug("cIptvProtocolExt::TerminateScript(): pid=%d\n", pid);
|
||||
if (!isActive || isempty(scriptFile))
|
||||
return;
|
||||
if (pid > 0) {
|
||||
const unsigned int timeoutms = 100;
|
||||
unsigned int waitms = 0;
|
||||
@ -119,11 +123,11 @@ bool cIptvProtocolExt::Open(void)
|
||||
bool cIptvProtocolExt::Close(void)
|
||||
{
|
||||
debug("cIptvProtocolExt::Close()\n");
|
||||
// Close the socket
|
||||
CloseSocket();
|
||||
// Terminate the external script
|
||||
TerminateScript();
|
||||
isActive = false;
|
||||
// Close the socket
|
||||
CloseSocket();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user