Google Flix Engine Linux Reference Manual User Manual
Page 421

7.11 CGI
415
#once setup is complete, call encode to produce an output file located in outdir
use CGI qw(:standard);
use On2::flixengine2;
sub print_encoder_status()
{
package On2::flixengine2;
print "<br>Encoder Status:<br>";
print " Flix2_GetEncoderState: ".Flix2_GetEncoderState($flix)."<br>";
my ($sc,@err) = Flix2_Errno($flix);
printf(" Flix2_Errno: sc:%d flixerrno:%d syserrno:%d<br>",$sc,@err);
}
sub process_sc($$)
{
my ($funcname,$sc) = @_;
package On2::flixengine2;
print "<td align=\"center\">$sc</td>";
if($sc != $ON2_OK) {
my $esc;
@_ = Flix2_Errno($flix); $esc= shift;
printf("<td>Flix2_Errno: sc:%d %s:%d syserrno:%d</td>",
$esc,($sc==$ON2_NET_ERROR)?"rpcerr":"flixerrno",@_);
die "Error calling $funcname, sc= $sc;".
"esc= $esc Flix2_Errno( $_[0], $_[1] )\n";
}
print "</tr>";
}
sub leadin()
{
package On2::flixengine2;
print "<tr><td>Flix2_CreateEx()</td>";
$flixptr = new_flix2handlep();
my $sc = Flix2_CreateEx($flixptr,$::rpchost,0);
#extract the handle value returned from _Create. $flix will be used in
#every Flix API call that follows
$flix = flix2handlep_value($flixptr);
::process_sc(’Flix2_CreateEx’,$sc);
}
sub setfunc($$)
{
my ($funcname,$funcparam) = @_;
package On2::flixengine2;
print "<tr><td>$funcname( $funcparam )</td>";
my $sc;
if($funcname eq ’Flix2_SetInputFile’ || $funcname eq ’Flix2_SetOutputFile’) {
$sc = &$funcname($flix,$funcparam);
} else {
$sc = &$funcname($flix,${$funcparam});
}
::process_sc($funcname,$sc);
}
sub init_codec($)
{
my $name= $_[0];
Generated on Tue Jul 20 17:39:03 2010 for Flix Engine Linux by Doxygen