Its because for some reason media player requests 3 times the media file! that's why its getting expired too soon.
Another thing, it redirects to the media file, so its not really hiding the location...
So try this: In show.php replace $site_sess->set_session_var("downloadpic", $pic[0]." ".$pic[1]." ".($pic[2]-$reduce));
if (!$image_info = @getimagesize($file) || is_remote_file($file) || !$mime = $mime_type_match[get_file_extension($file)][0])
with: $ext = get_file_extension($file);
if (in_array($ext, array("wmv","mp3","mpg","mpeg","avi","mov","wma","ogg")))
{
$reduce = 0;
$image_info = 1;
}
else
{
$image_info = @getimagesize($file);
}
$site_sess->set_session_var("downloadpic", $pic[0]." ".$pic[1]." ".($pic[2]-$reduce));
if (!$image_info || is_remote_file($file) || !$mime = $mime_type_match[$ext][0])