mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 08:21:12 +02:00
- yweb: add PCR PID handling to live streaming ...
... and add PCR PID and PMT PID to streaminfo based on patches by Christian Schuett <Gaucho316@hotmail.com> in Tuxbox Git
This commit is contained in:
@@ -1737,7 +1737,8 @@ void CControlAPI::SendAllCurrentVAPid(CyhookHandler *hh)
|
|||||||
hh->printf("%05u vtxt\n",pids.PIDs.vtxtpid);
|
hh->printf("%05u vtxt\n",pids.PIDs.vtxtpid);
|
||||||
if (pids.PIDs.pmtpid)
|
if (pids.PIDs.pmtpid)
|
||||||
hh->printf("%05u pmt\n",pids.PIDs.pmtpid);
|
hh->printf("%05u pmt\n",pids.PIDs.pmtpid);
|
||||||
|
if (pids.PIDs.pcrpid)
|
||||||
|
hh->printf("%05u pcr\n",pids.PIDs.pcrpid);
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void CControlAPI::SendTimers(CyhookHandler *hh)
|
void CControlAPI::SendTimers(CyhookHandler *hh)
|
||||||
@@ -2067,9 +2068,17 @@ void CControlAPI::YWeb_SendVideoStreamingPids(CyhookHandler *hh, int apid_no)
|
|||||||
if(!pids.APIDs.empty())
|
if(!pids.APIDs.empty())
|
||||||
apid = pids.APIDs[apid_idx].pid;
|
apid = pids.APIDs[apid_idx].pid;
|
||||||
if(hh->ParamList["no_commas"] != "")
|
if(hh->ParamList["no_commas"] != "")
|
||||||
|
{
|
||||||
hh->printf("0x%04x 0x%04x 0x%04x",pids.PIDs.pmtpid,pids.PIDs.vpid,apid);
|
hh->printf("0x%04x 0x%04x 0x%04x",pids.PIDs.pmtpid,pids.PIDs.vpid,apid);
|
||||||
|
if (pids.PIDs.pcrpid != pids.PIDs.vpid)
|
||||||
|
hh->printf(" 0x%04x", pids.PIDs.pcrpid);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
hh->printf("0x%04x,0x%04x,0x%04x",pids.PIDs.pmtpid,pids.PIDs.vpid,apid);
|
hh->printf("0x%04x,0x%04x,0x%04x",pids.PIDs.pmtpid,pids.PIDs.vpid,apid);
|
||||||
|
if (pids.PIDs.pcrpid != pids.PIDs.vpid)
|
||||||
|
hh->printf(",0x%04x", pids.PIDs.pcrpid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -2543,6 +2552,8 @@ void CControlAPI::build_live_url(CyhookHandler *hh)
|
|||||||
if(!pids.APIDs.empty())
|
if(!pids.APIDs.empty())
|
||||||
apid = pids.APIDs[apid_idx].pid;
|
apid = pids.APIDs[apid_idx].pid;
|
||||||
xpids = string_printf("0x%04x,0x%04x,0x%04x",pids.PIDs.pmtpid,pids.PIDs.vpid,apid);
|
xpids = string_printf("0x%04x,0x%04x,0x%04x",pids.PIDs.pmtpid,pids.PIDs.vpid,apid);
|
||||||
|
if (pids.PIDs.pcrpid != pids.PIDs.vpid)
|
||||||
|
xpids += string_printf(",0x%04x", pids.PIDs.pcrpid);
|
||||||
}
|
}
|
||||||
else if ( mode == CZapitClient::MODE_RADIO)
|
else if ( mode == CZapitClient::MODE_RADIO)
|
||||||
{
|
{
|
||||||
|
@@ -520,6 +520,7 @@ std::string CNeutrinoYParser::func_get_mode(CyhookHandler *, std::string)
|
|||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
std::string CNeutrinoYParser::func_get_video_pids(CyhookHandler *, std::string para)
|
std::string CNeutrinoYParser::func_get_video_pids(CyhookHandler *, std::string para)
|
||||||
{
|
{
|
||||||
|
std::string yresult;
|
||||||
CZapitClient::responseGetPIDs pids;
|
CZapitClient::responseGetPIDs pids;
|
||||||
int apid=0,apid_no=0,apid_idx=0;
|
int apid=0,apid_no=0,apid_idx=0;
|
||||||
pids.PIDs.vpid=0;
|
pids.PIDs.vpid=0;
|
||||||
@@ -532,7 +533,10 @@ std::string CNeutrinoYParser::func_get_video_pids(CyhookHandler *, std::string
|
|||||||
apid_idx=apid_no;
|
apid_idx=apid_no;
|
||||||
if(!pids.APIDs.empty())
|
if(!pids.APIDs.empty())
|
||||||
apid = pids.APIDs[apid_idx].pid;
|
apid = pids.APIDs[apid_idx].pid;
|
||||||
return string_printf("0x%04x,0x%04x,0x%04x",pids.PIDs.pmtpid,pids.PIDs.vpid,apid);
|
yresult = string_printf("0x%04x,0x%04x,0x%04x", pids.PIDs.pmtpid, pids.PIDs.vpid, apid);
|
||||||
|
if (pids.PIDs.pcrpid != pids.PIDs.vpid)
|
||||||
|
yresult += string_printf(",0x%04x", pids.PIDs.pcrpid);
|
||||||
|
return yresult;
|
||||||
}
|
}
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// y-func : get_radio_pids (returns: 0x0000)
|
// y-func : get_radio_pids (returns: 0x0000)
|
||||||
@@ -738,6 +742,7 @@ std::string CNeutrinoYParser::func_get_current_stream_info(CyhookHandler *hh, s
|
|||||||
hh->ParamList["apid"] = itoh(serviceinfo.apid);
|
hh->ParamList["apid"] = itoh(serviceinfo.apid);
|
||||||
hh->ParamList["vtxtpid"] = (serviceinfo.vtxtpid != 0)?itoh(serviceinfo.vtxtpid):"not available";
|
hh->ParamList["vtxtpid"] = (serviceinfo.vtxtpid != 0)?itoh(serviceinfo.vtxtpid):"not available";
|
||||||
hh->ParamList["pmtpid"] = (serviceinfo.pmtpid != 0)?itoh(serviceinfo.pmtpid):"not available";
|
hh->ParamList["pmtpid"] = (serviceinfo.pmtpid != 0)?itoh(serviceinfo.pmtpid):"not available";
|
||||||
|
hh->ParamList["pcrpid"] = (serviceinfo.pcrpid != 0)?itoh(serviceinfo.pcrpid):"not available";
|
||||||
hh->ParamList["tsfrequency"] = string_printf("%d.%d MHz", serviceinfo.tsfrequency/1000, serviceinfo.tsfrequency%1000);
|
hh->ParamList["tsfrequency"] = string_printf("%d.%d MHz", serviceinfo.tsfrequency/1000, serviceinfo.tsfrequency%1000);
|
||||||
hh->ParamList["polarisation"] = serviceinfo.polarisation==1?"h":"v";
|
hh->ParamList["polarisation"] = serviceinfo.polarisation==1?"h":"v";
|
||||||
hh->ParamList["ServiceName"] = NeutrinoAPI->GetServiceName(CZapit::getInstance()->GetCurrentChannelID());
|
hh->ParamList["ServiceName"] = NeutrinoAPI->GetServiceName(CZapit::getInstance()->GetCurrentChannelID());
|
||||||
|
@@ -79,6 +79,16 @@
|
|||||||
<td> </td>
|
<td> </td>
|
||||||
<td class="set"> <div align="left">{=vpid=}</div></td>
|
<td class="set"> <div align="left">{=vpid=}</div></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="set"><b>{=L:epg.si.pcrpid=}:</b></td>
|
||||||
|
<td> </td>
|
||||||
|
<td class="set"> <div align="left">{=pcrpid=}</div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="set"><b>{=L:epg.si.pmtpid=}:</b></td>
|
||||||
|
<td> </td>
|
||||||
|
<td class="set"> <div align="left">{=pmtpid=}</div></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="set"><b>{=L:epg.si.apid=}:</b></td>
|
<td class="set"><b>{=L:epg.si.apid=}:</b></td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
version=2.8.0.43
|
version=2.8.0.44
|
||||||
date=07.07.2013
|
date=09.08.2013
|
||||||
type=Release
|
type=Release
|
||||||
info=Port CST
|
info=Port CST
|
||||||
|
@@ -196,6 +196,8 @@ epg.si.onid=Original Network ID
|
|||||||
epg.si.sid=Service ID
|
epg.si.sid=Service ID
|
||||||
epg.si.tsid=Transponder Stream ID
|
epg.si.tsid=Transponder Stream ID
|
||||||
epg.si.vpid=Video PID
|
epg.si.vpid=Video PID
|
||||||
|
epg.si.pmtpid=Program Map Table PID
|
||||||
|
epg.si.pcrpid=Program Clock Reference PID
|
||||||
epg.si.apid=Audio PID
|
epg.si.apid=Audio PID
|
||||||
epg.si.vtxtpid=Teletext PID
|
epg.si.vtxtpid=Teletext PID
|
||||||
epg.si.crypt=Crypt Systeme
|
epg.si.crypt=Crypt Systeme
|
||||||
|
@@ -199,6 +199,8 @@ epg.si.onid=Original Network ID
|
|||||||
epg.si.sid=Service ID
|
epg.si.sid=Service ID
|
||||||
epg.si.tsid=Transponder Stream ID
|
epg.si.tsid=Transponder Stream ID
|
||||||
epg.si.vpid=Video PID
|
epg.si.vpid=Video PID
|
||||||
|
epg.si.pmtpid=Program Map Table PID
|
||||||
|
epg.si.pcrpid=Program Clock Reference PID
|
||||||
epg.si.apid=Audio PID
|
epg.si.apid=Audio PID
|
||||||
epg.si.vtxtpid=Teletext PID
|
epg.si.vtxtpid=Teletext PID
|
||||||
epg.si.crypt=Crypt systems
|
epg.si.crypt=Crypt systems
|
||||||
|
Reference in New Issue
Block a user