beautypg.com

Google Flix Engine Linux Reference Manual User Manual

Page 421

background image

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 "$sc";

if($sc != $ON2_OK) {

my $esc;

@_ = Flix2_Errno($flix); $esc= shift;

printf("Flix2_Errno: sc:%d %s:%d syserrno:%d",

$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 "Flix2_CreateEx()";

$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 "$funcname( $funcparam )";

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