<?php
/**
 * FLVInfo2 class examples
 * 
 * @author        Tommy Lacroix <tlacroix@quantiksolutions.com>
 * @copyright   Copyright (c) 2006-2008 Tommy Lacroix
 * @license        LGPL
 */

require_once('libraries/flvinfo2.php');

function 
rewriteTagsForFile($in$out$xml) {
    
// Build array with META information
    
$flvinfo = new FLVInfo2();
    
$metas $flvinfo->getMeta($in);
    
$baseMeta $metas['metas'][0][1];
    foreach (
$baseMeta as $k=>$v) {
        switch (
$k) {
            case 
'duration':
            case 
'width':
            case 
'height':
            case 
'videodatarate':
            case 
'canSeekToEnd':
            case 
'videocodecid':
            case 
'audiodatarate':
            case 
'audiocodecid':
            case 
'framerate':
            case 
'creationdate':
                
$meta[$k] = $v;
                break;
        }
    }
    
$meta['metadatacreator'] = 'Tommy Lacroix\'s FLV meta data writer';

    
// Build array with cuepoints
    
$cuepoints = array();
    
$str file_get_contents($xml);
    
$dom = new DOMDocument();
    
$dom->loadXML($str);
    
$cpNodes $dom->getElementsByTagName('CuePoint');
    foreach (
$cpNodes as $cpNode) {
        
$info = array();
        foreach (
$cpNode->childNodes as $subNode) {
            if (
$subNode->nodeType == XML_ELEMENT_NODE)
                
$info[$subNode->nodeName] = $subNode->nodeValue;
        }
        
        if ((isset(
$info['Name'])) && (isset($info['Time']))) {
            
$cuepoints[] = array(
                
'name'=>$info['Name'],
                
'time'=>$info['Time']/1000,
                
'type'=>'event',
            );
        }
    }

    
// Rewrite it!
    
$flvinfo->rewriteMeta($in,$out,$meta,$cuepoints);
}

// Rewrite metas
rewriteTagsForFile('input.flv','output.flv','cuepoints.xml');

// Get FLV information
$flvinfo = new FLVInfo2();
$info $flvinfo->getInfo('input.flv',true,true);
var_export($info);

?>