Google Flix Engine Linux Reference Manual User Manual

Page 421

Advertising
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 "<br>Encoder Status:<br>";

print "&nbsp;Flix2_GetEncoderState: ".Flix2_GetEncoderState($flix)."<br>";

my ($sc,@err) = Flix2_Errno($flix);

printf("&nbsp;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

Advertising