function updateRemoteAssetUrls($ingester, $video)
{
    global $dryRun, $skipped, $failed;
    if (empty($video['metadata']['source']) || $video['metadata']['source'] != $ingester->getProvider()) {
        echo "\tSKIP: {$video['name']} (Id: {$video['embed_code']}) - Invalid source value (Provider: {$ingester->getProvider()}, Source: {$video['metadata']['source']}).\n";
        $skipped++;
        return;
    }
    if (empty($video['metadata']['sourceid'])) {
        echo "\tSKIP: {$video['name']} (Id: {$video['embed_code']}) - Empty source id.\n";
        $skipped++;
        return;
    }
    if (!empty($video['metadata']['updateAssetUrls'])) {
        echo "\tSKIP: {$video['name']} (Id: {$video['embed_code']}) - Already updated.\n";
        $skipped++;
        return;
    }
    $urls = $ingester->getRemoteAssetUrls($video['metadata']['sourceid']);
    // for debugging
    //echo "\n\tNEW URLs (".$video['embed_code']."):\n";
    //foreach ( $video['stream_urls'] as $key => &$value ) {
    //	if ( is_null( $value ) ) {
    //		unset( $video['stream_urls'][$key] );
    //	}
    //}
    //compareMetadata( $video['stream_urls'], $urls );
    //echo "\n";
    $resp = true;
    if (!$dryRun) {
        $resp = OoyalaAsset::updateRemoteAssetUrls($video['embed_code'], $urls);
        if ($resp) {
            $metadata = ['updateAssetUrls' => 1];
            $resp = OoyalaAsset::updateMetadata($video['embed_code'], $metadata);
            if (!$resp) {
                "ERROR: {$video['name']} (Id: {$video['embed_code']}) - Cannot set updateAssetUrls to 1 in metadata.\n";
            }
        } else {
            $failed++;
        }
    }
    if ($resp) {
        echo "\tUPDATED: {$video['name']} (Id: {$video['embed_code']}) ... DONE.\n";
    }
}