Added a replacement for xxd, fixed a bug in flv.

This commit is contained in:
Erik Zandvliet 2014-01-06 15:10:16 +01:00
parent 2599769b9c
commit 453d3ac885
4 changed files with 55 additions and 10 deletions

View file

@ -172,14 +172,12 @@ $(warning Java not installed - not compressing javascript codes before inclusion
CLOSURE=cat CLOSURE=cat
endif endif
XXD := $(shell which xxd 2> /dev/null) sourcery: src/sourcery.cpp
ifndef XXD $(CXX) -o $@ $(CPPFLAGS) $^
$(error xxd not installed - cannot continue. Please install xxd)
endif
src/connectors/embed.js.h: src/connectors/embed.js src/connectors/embed.js.h: src/connectors/embed.js sourcery
$(CLOSURE) src/connectors/embed.js > embed.min.js $(CLOSURE) src/connectors/embed.js > embed.min.js
xxd -i embed.min.js | sed s/_min_/_/g > src/connectors/embed.js.h ./sourcery embed.min.js embed_js > src/connectors/embed.js.h
rm embed.min.js rm embed.min.js
src/controller/server.html: $(lspDATA) $(lspSOURCES) src/controller/server.html: $(lspDATA) $(lspSOURCES)
@ -191,8 +189,8 @@ src/controller/server.html: $(lspDATA) $(lspSOURCES)
echo "</style>" >> $@ echo "</style>" >> $@
cat lsp/footer.html >> $@ cat lsp/footer.html >> $@
src/controller/server.html.h: src/controller/server.html src/controller/server.html.h: src/controller/server.html sourcery
cd src/controller; xxd -i server.html server.html.h cd src/controller; ../../sourcery server.html server_html > server.html.h
docs: src/* Doxyfile docs: src/* Doxyfile
doxygen ./Doxyfile > /dev/null doxygen ./Doxyfile > /dev/null

View file

@ -600,7 +600,7 @@ function showTab(tabName,streamName) {
) )
).append( ).append(
$('<label>').text('The embed code is:').css('overflow','hidden').append( $('<label>').text('The embed code is:').css('overflow','hidden').append(
$('<textarea>').val('<div>\n <script src="'+embedbase+'embed_'+streamName+'.js"></script>\n</div>') $('<textarea>').val('<div>\n <script src="'+embedbase+'embed_'+streamName+'.js"></' + 'script>\n</div>')
) )
).append( ).append(
$('<button>').text('Back').addClass('escape-to-cancel').click(function(){ $('<button>').text('Back').addClass('escape-to-cancel').click(function(){

View file

@ -30,7 +30,7 @@ namespace Converters {
bool sending = false; bool sending = false;
unsigned int counter = 0; unsigned int counter = 0;
while ( !feof(stdin)){ while ( !feof(stdin) && !FLV::Parse_Error){
if (FLV_in.FileLoader(stdin)){ if (FLV_in.FileLoader(stdin)){
pack_out = FLV_in.toJSON(meta_out); pack_out = FLV_in.toJSON(meta_out);
if (pack_out.isNull()){ if (pack_out.isNull()){
@ -53,6 +53,10 @@ namespace Converters {
output << pack_out.toNetPacked(); output << pack_out.toNetPacked();
} }
} }
if (FLV::Parse_Error){
std::cerr << "Conversion failed: " << FLV::Error_Str << std::endl;
return 0;
}
// if the FLV input is very short, do output it correctly... // if the FLV input is very short, do output it correctly...
if ( !sending){ if ( !sending){

43
src/sourcery.cpp Normal file
View file

@ -0,0 +1,43 @@
///\file sourcery.cpp
///Utility program used for c-string dumping files.
#include <iomanip>
#include <iostream>
#include <fstream>
int main(int argc, char* argv[]){
if (argc < 3) {
std::cerr << "Usage: " << argv[0] << " <inputFile> <variableName>" << std::endl;
}
std::cout << "const char *" << argv[2] << " = " << std::endl << " \"";
int i = 0;
int total = 0;
std::ifstream inFile(argv[1]);
while (inFile.good()){
unsigned char thisChar = inFile.get();
if (!inFile.good()){break;}
switch (thisChar){
//Filter special characters.
case '\n': std::cout << "\\n"; i += 2; total--; break;
case '\r': std::cout << "\\r"; i += 2; total--; break;
case '\t': std::cout << "\\t"; i += 2; total--; break;
case '\\': std::cout << "\\\\"; i += 2; total --; break;
case '\"': std::cout << "\\\""; i += 2; total --; break;
default:
if (thisChar < 32 || thisChar > 126){
//Convert to octal.
std::cout << '\\' << std::oct << std::setw(3) << std::setfill('0') << (unsigned int)thisChar << std::dec;
i += 4;
}else{
std::cout << thisChar;
i ++;
}
}
if (i >= 80){
std::cout << "\" \\" << std::endl << " \"";
total += i;
i = 0;
}
}
std::cout << "\";" << std::endl << "unsigned int " << argv[2] << "_len = " << i + total << ";";
return 0;
}