- 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:
svenhoefer
2013-08-09 11:04:26 +02:00
parent 9c175234e5
commit ff161a699c
6 changed files with 34 additions and 4 deletions

View File

@@ -1737,7 +1737,8 @@ void CControlAPI::SendAllCurrentVAPid(CyhookHandler *hh)
hh->printf("%05u vtxt\n",pids.PIDs.vtxtpid);
if (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)
@@ -2067,9 +2068,17 @@ void CControlAPI::YWeb_SendVideoStreamingPids(CyhookHandler *hh, int apid_no)
if(!pids.APIDs.empty())
apid = pids.APIDs[apid_idx].pid;
if(hh->ParamList["no_commas"] != "")
{
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
{
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())
apid = pids.APIDs[apid_idx].pid;
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)
{

View File

@@ -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 yresult;
CZapitClient::responseGetPIDs pids;
int apid=0,apid_no=0,apid_idx=0;
pids.PIDs.vpid=0;
@@ -532,7 +533,10 @@ std::string CNeutrinoYParser::func_get_video_pids(CyhookHandler *, std::string
apid_idx=apid_no;
if(!pids.APIDs.empty())
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)
@@ -738,6 +742,7 @@ std::string CNeutrinoYParser::func_get_current_stream_info(CyhookHandler *hh, s
hh->ParamList["apid"] = itoh(serviceinfo.apid);
hh->ParamList["vtxtpid"] = (serviceinfo.vtxtpid != 0)?itoh(serviceinfo.vtxtpid):"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["polarisation"] = serviceinfo.polarisation==1?"h":"v";
hh->ParamList["ServiceName"] = NeutrinoAPI->GetServiceName(CZapit::getInstance()->GetCurrentChannelID());

View File

@@ -79,6 +79,16 @@
<td>&nbsp;</td>
<td class="set"> <div align="left">{=vpid=}</div></td>
</tr>
<tr>
<td class="set"><b>{=L:epg.si.pcrpid=}:</b></td>
<td>&nbsp;</td>
<td class="set"> <div align="left">{=pcrpid=}</div></td>
</tr>
<tr>
<td class="set"><b>{=L:epg.si.pmtpid=}:</b></td>
<td>&nbsp;</td>
<td class="set"> <div align="left">{=pmtpid=}</div></td>
</tr>
<tr>
<td class="set"><b>{=L:epg.si.apid=}:</b></td>
<td>&nbsp;</td>

View File

@@ -1,4 +1,4 @@
version=2.8.0.43
date=07.07.2013
version=2.8.0.44
date=09.08.2013
type=Release
info=Port CST

View File

@@ -196,6 +196,8 @@ epg.si.onid=Original Network ID
epg.si.sid=Service ID
epg.si.tsid=Transponder Stream ID
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.vtxtpid=Teletext PID
epg.si.crypt=Crypt Systeme

View File

@@ -199,6 +199,8 @@ epg.si.onid=Original Network ID
epg.si.sid=Service ID
epg.si.tsid=Transponder Stream ID
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.vtxtpid=Teletext PID
epg.si.crypt=Crypt systems