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 "
Encoder Status:
";
print " Flix2_GetEncoderState: ".Flix2_GetEncoderState($flix)."
";
my ($sc,@err) = Flix2_Errno($flix);
printf(" Flix2_Errno: sc:%d flixerrno:%d syserrno:%d
",$sc,@err);
}
sub process_sc($$)
{
my ($funcname,$sc) = @_;
package On2::flixengine2;
print "
if($sc != $ON2_OK) {
my $esc;
@_ = Flix2_Errno($flix); $esc= shift;
printf("
$esc,($sc==$ON2_NET_ERROR)?"rpcerr":"flixerrno",@_);
die "Error calling $funcname, sc= $sc;".
"esc= $esc Flix2_Errno( $_[0], $_[1] )\n";
}
print "";
}
sub leadin()
{
package On2::flixengine2;
print "
$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 "
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