Index: /trunk/install/perl/foltia_conf1.pl.template =================================================================== --- /trunk/install/perl/foltia_conf1.pl.template (リビジョン 94) +++ /trunk/install/perl/foltia_conf1.pl.template (リビジョン 131) @@ -11,5 +11,5 @@ #config section $toolpath = '/home/foltia'; #「perl」ディレクトリがあるPATH -$recunits = '4'; #搭載エンコーダの数 +$recunits = 0; #アナログキャプチャカード搭載エンコーダの数 $recfolderpath = '/home/foltia/php/tv'; #録画ファイルを置くPATH $uhfbandtype = 1; # CATVなら1 UHF帯なら0 : 0=ntsc-bcast-jp 1=ntsc-cable-jp Index: /trunk/install/perl/digitaltvrecording.pl =================================================================== --- /trunk/install/perl/digitaltvrecording.pl (リビジョン 115) +++ /trunk/install/perl/digitaltvrecording.pl (リビジョン 131) @@ -400,6 +400,7 @@ }else{ # エラー recfriioがありません - &writelog("digitaltvrecording :ERROR :recfriio not found. You must install $toolpath/perl/tool/b25 and $toolpath/perl/tool/recfriio."); - exit 1; + &writelog("digitaltvrecording :ERROR :recfriio not found. You must install $toolpath/perl/tool/b25 and $toolpath/perl/tool/recfriio:$errorflag"); + #exit 1; + exit $errorflag; } }#end if errorflag Index: /trunk/install/perl/recwrap.pl =================================================================== --- /trunk/install/perl/recwrap.pl (リビジョン 115) +++ /trunk/install/perl/recwrap.pl (リビジョン 131) @@ -117,5 +117,5 @@ exit; }elsif ($oserr == 2){ - &writelog("recwrap ERR 2:friio busy;retry."); + &writelog("recwrap ERR 2:Device busy;retry."); &continuousrecordingcheck;#もうすぐ終わる番組をkill sleep(2); @@ -123,5 +123,9 @@ $oserr = $oserr / 256; if ($oserr == 2){ - &writelog("recwrap ERR 2:friio busy;Giving up digital recording."); + &writelog("recwrap ERR 2:Device busy;Giving up digital recording."); + if ($recunits > 0 ){ + }else{ + exit; + } } }elsif ($oserr == 3){ @@ -130,36 +134,34 @@ } }else{ # NOT $usedigital == 1 -#リモコン操作 -# $haveirdaunit = 1;リモコンつないでるかどうか確認 -if ($haveirdaunit == 1){ -# 録画チャンネルが0なら - if ($recch == 0){ -# &つけて非同期でchangestbch.pl呼び出し - &writelog("recwrap Call Change STB CH :$pid"); - system ("$toolpath/perl/changestbch.pl $pid &"); + if ($recunits > 0 ){ + #リモコン操作 + # $haveirdaunit = 1;リモコンつないでるかどうか確認 + if ($haveirdaunit == 1){ + # 録画チャンネルが0なら + if ($recch == 0){ + # &つけて非同期でchangestbch.pl呼び出し + &writelog("recwrap Call Change STB CH :$pid"); + system ("$toolpath/perl/changestbch.pl $pid &"); + }#end if }#end if -}#end if - -if($recch == -10){ -#非受信局なら - &writelog("recwrap Not recordable channel;exit:PID $pid"); - exit; - }#end if -# アナログ録画 -&writelog("recwrap RECSTART $recch $reclength 0 $outputfilename $bitrate $tid $countno $pid $usedigital $digitalstationband $digitalch"); - -#録画 -#system("$toolpath/perl/tvrecording.pl $recch $reclength 0 $outputfile $bitrate $tid $countno"); - $starttime = time(); - -$oserr = system("$toolpath/perl/tvrecording.pl $recch $reclength 0 $outputfilename $bitrate $tid $countno"); -$oserr = $oserr / 256; -if ($oserr == 1){ - &writelog("recwrap ABORT recfile exist. [$outputfilename] $recch $reclength 0 0 $bitrate $tid $countno $pid"); - exit; -} - -}#endif #デジタル優先フラグ - + + if($recch == -10){ + #非受信局なら + &writelog("recwrap Not recordable channel;exit:PID $pid"); + exit; + }#end if + # アナログ録画 + &writelog("recwrap RECSTART $recch $reclength 0 $outputfilename $bitrate $tid $countno $pid $usedigital $digitalstationband $digitalch"); + + #録画 + #system("$toolpath/perl/tvrecording.pl $recch $reclength 0 $outputfile $bitrate $tid $countno"); + $starttime = time(); + + $oserr = system("$toolpath/perl/tvrecording.pl $recch $reclength 0 $outputfilename $bitrate $tid $countno"); + $oserr = $oserr / 256; + if ($oserr == 1){ + &writelog("recwrap ABORT recfile exist. [$outputfilename] $recch $reclength 0 0 $bitrate $tid $countno $pid"); + exit; + } #デバイスビジーで即死してないか検出 $now = time(); @@ -189,4 +191,7 @@ &writelog("recwrap RECEND [$outputfilename] $recch $reclength 0 0 $bitrate $tid $countno $pid"); + + }#end if $recunits > 0 +}#endif #デジタル優先フラグ @@ -285,4 +290,6 @@ system("kill $pid"); &writelog("recwrap recording process killed $pid/$endtimeepoch/$now"); + }else{ + &writelog("recwrap No processes killed: $endtimeepoch/$now"); } }#endif m2t Index: /trunk/install/php/foltialib.php =================================================================== --- /trunk/install/php/foltialib.php (リビジョン 128) +++ /trunk/install/php/foltialib.php (リビジョン 131) @@ -766,3 +766,17 @@ }// end page_display +function getnextstationid($con){ +//stationidの最大値を取得して+1する。 +$query2 = "SELECT max(stationid) FROM foltia_station"; +$rs2 = sql_query($con, $query2, "DBクエリに失敗しました"); +$rowdata2 = $rs2->fetch(); +if (! $rowdata2) { //レコードにデータが無い時、$id =1 + $sid = 1 ; +}else{ //stationidの最大値を$idに入れて、+1する。 + $sid = $rowdata2[0]; + $sid ++ ; +} +return ($sid); +}//end getnextstationid + ?>