Buffer overflow fixes, speedup in proxy
This commit is contained in:
parent
00fd6e5f04
commit
bc3356337e
2 changed files with 6 additions and 7 deletions
|
@ -287,7 +287,6 @@ namespace Connector_HTTP {
|
||||||
H.SetHeader("X-UID", uid);
|
H.SetHeader("X-UID", uid);
|
||||||
H.SetHeader("Server", "mistserver/" PACKAGE_VERSION "/" + Util::Config::libver);
|
H.SetHeader("Server", "mistserver/" PACKAGE_VERSION "/" + Util::Config::libver);
|
||||||
conn->SendNow(H.BuildResponse("200", "OK"));
|
conn->SendNow(H.BuildResponse("200", "OK"));
|
||||||
conn->flush();
|
|
||||||
}else{
|
}else{
|
||||||
//unknown length
|
//unknown length
|
||||||
H.SetHeader("X-UID", uid);
|
H.SetHeader("X-UID", uid);
|
||||||
|
|
|
@ -321,7 +321,7 @@ namespace Connector_HTTP {
|
||||||
}
|
}
|
||||||
WritePesHeader = true;
|
WritePesHeader = true;
|
||||||
while (ToPack.size()){
|
while (ToPack.size()){
|
||||||
if ((PacketNumber % 42) == 0){
|
if (PacketNumber == 0){
|
||||||
PackData.DefaultPAT();
|
PackData.DefaultPAT();
|
||||||
TSBuf.write(PackData.ToString(), 188);
|
TSBuf.write(PackData.ToString(), 188);
|
||||||
PackData.DefaultPMT();
|
PackData.DefaultPMT();
|
||||||
|
@ -340,12 +340,12 @@ namespace Connector_HTTP {
|
||||||
}else{
|
}else{
|
||||||
PackData.AdaptationField(1);
|
PackData.AdaptationField(1);
|
||||||
}
|
}
|
||||||
PackData.AddStuffing(184 - (20 + ToPack.size()));
|
PackData.AddStuffing(PackData.BytesFree( ) - (25 + ToPack.size()));
|
||||||
PackData.PESVideoLeadIn(ToPack.size(), Strm.getPacket(0)["time"].asInt() * 90);
|
PackData.PESVideoLeadIn(ToPack.size(), Strm.getPacket(0)["time"].asInt() * 90);
|
||||||
WritePesHeader = false;
|
WritePesHeader = false;
|
||||||
}else{
|
}else{
|
||||||
PackData.AdaptationField(1);
|
PackData.AdaptationField(1);
|
||||||
PackData.AddStuffing(184 - (ToPack.size()));
|
PackData.AddStuffing(PackData.BytesFree( ) - (ToPack.size()));
|
||||||
}
|
}
|
||||||
PackData.FillFree(ToPack);
|
PackData.FillFree(ToPack);
|
||||||
TSBuf.write(PackData.ToString(), 188);
|
TSBuf.write(PackData.ToString(), 188);
|
||||||
|
@ -357,7 +357,7 @@ namespace Connector_HTTP {
|
||||||
ToPack = TS::GetAudioHeader(DTMIData.size(), Strm.metadata["audio"]["init"].asString());
|
ToPack = TS::GetAudioHeader(DTMIData.size(), Strm.metadata["audio"]["init"].asString());
|
||||||
ToPack += DTMIData;
|
ToPack += DTMIData;
|
||||||
while (ToPack.size()){
|
while (ToPack.size()){
|
||||||
if ((PacketNumber % 42) == 0){
|
if (PacketNumber == 0){
|
||||||
PackData.DefaultPAT();
|
PackData.DefaultPAT();
|
||||||
TSBuf.write(PackData.ToString(), 188);
|
TSBuf.write(PackData.ToString(), 188);
|
||||||
PackData.DefaultPMT();
|
PackData.DefaultPMT();
|
||||||
|
@ -370,12 +370,12 @@ namespace Connector_HTTP {
|
||||||
AudioCounter++;
|
AudioCounter++;
|
||||||
if (WritePesHeader){
|
if (WritePesHeader){
|
||||||
PackData.UnitStart(1);
|
PackData.UnitStart(1);
|
||||||
PackData.AddStuffing(184 - (14 + ToPack.size()));
|
PackData.AddStuffing(PackData.BytesFree( ) - (14 + ToPack.size()));
|
||||||
PackData.PESAudioLeadIn(ToPack.size(), Strm.getPacket(0)["time"].asInt() * 90);
|
PackData.PESAudioLeadIn(ToPack.size(), Strm.getPacket(0)["time"].asInt() * 90);
|
||||||
WritePesHeader = false;
|
WritePesHeader = false;
|
||||||
}else{
|
}else{
|
||||||
PackData.AdaptationField(1);
|
PackData.AdaptationField(1);
|
||||||
PackData.AddStuffing(184 - ToPack.size());
|
PackData.AddStuffing(PackData.BytesFree( ) - ToPack.size());
|
||||||
}
|
}
|
||||||
PackData.FillFree(ToPack);
|
PackData.FillFree(ToPack);
|
||||||
TSBuf.write(PackData.ToString(), 188);
|
TSBuf.write(PackData.ToString(), 188);
|
||||||
|
|
Loading…
Add table
Reference in a new issue