Files » ext_head.diff
remux/extern.c | ||
---|---|---|
}
|
||
cExternRemux::cExternRemux(const cServerConnection *Connection, const cChannel *Channel, const int *Apids, const int *Dpids):
|
||
m_ResultBuffer(new cRingBufferLinear(WRITERBUFSIZE, TS_SIZE * 2)),
|
||
m_ResultBuffer(new cRingBufferLinear(WRITERBUFSIZE)),
|
||
m_Remux(new cTSExt(m_ResultBuffer, Connection, Channel, Apids, Dpids))
|
||
{
|
||
m_ResultBuffer->SetTimeouts(500, 100);
|
server/connectionHTTP.c | ||
---|---|---|
&& Respond("");
|
||
}
|
||
} else if (it_method->second.compare("HEAD") == 0 && ProcessURI(it_pathinfo->second)) {
|
||
DeferClose();
|
||
if (m_ChannelList)
|
||
if (m_ChannelList) {
|
||
DeferClose();
|
||
return Respond("%s", true, m_ChannelList->HttpHeader().c_str());
|
||
}
|
||
else if (m_Channel != NULL) {
|
||
if (ProvidesChannel(m_Channel, 0)) {
|
||
if (ProvidesChannel(m_Channel, StreamdevServerSetup.HTTPPriority)) {
|
||
if (m_StreamType == stEXT) {
|
||
// TODO
|
||
return Respond("HTTP/1.0 200 OK")
|
||
&& Respond("");
|
||
m_LiveStreamer = new cStreamdevLiveStreamer(StreamdevServerSetup.HTTPPriority, this);
|
||
m_LiveStreamer->SetChannel(m_Channel, m_StreamType, m_Apid[0] ? m_Apid : NULL, m_Dpid[0] ? m_Dpid : NULL);
|
||
return Respond("HTTP/1.0 200 OK");
|
||
} else if (m_StreamType == stES && (m_Apid[0] || m_Dpid[0] || ISRADIO(m_Channel))) {
|
||
DeferClose();
|
||
return Respond("HTTP/1.0 200 OK")
|
||
&& Respond("Content-Type: audio/mpeg")
|
||
&& Respond("icy-name: %s", true, m_Channel->Name())
|
||
&& Respond("");
|
||
} else if (ISRADIO(m_Channel)) {
|
||
DeferClose();
|
||
return Respond("HTTP/1.0 200 OK")
|
||
&& Respond("Content-Type: audio/mpeg")
|
||
&& Respond("");
|
||
} else {
|
||
DeferClose();
|
||
return Respond("HTTP/1.0 200 OK")
|
||
&& Respond("Content-Type: video/mpeg")
|
||
&& Respond("");
|
||
}
|
||
}
|
||
DeferClose();
|
||
return Respond("HTTP/1.0 503 Service unavailable")
|
||
&& Respond("");
|
||
}
|
||
else {
|
||
DeferClose();
|
||
return Respond("HTTP/1.0 404 not found")
|
||
&& Respond("");
|
||
}
|
server/streamer.c | ||
---|---|---|
{
|
||
Dprintf("start streamer\n");
|
||
m_Writer = new cStreamdevWriter(Socket, this);
|
||
m_Writer->Start();
|
||
Attach();
|
||
}
|
||
... | ... | |
{
|
||
if (On && !Active()) {
|
||
Dprintf("activate streamer\n");
|
||
m_Writer->Start();
|
||
cThread::Start();
|
||
}
|
||
}
|