Ticket #11457: stream.php

File stream.php, 2.0 KB (added by awaldram@…, 12 years ago)

fixed video stream.php

Line 
1<?php
2/**
3 * Stream a music file
4 *
5 * @license GPL
6 *
7 * @package MythWeb
8 * @subpackage Music
9/**/
10
11// Yes, a db connection
12 global $db;
13
14// Pull video ID
15 $vid_id = $_GET['Id'];
16
17// Get filename
18 list($fname) = $db->query_row('SELECT filename
19 FROM videometadata
20 WHERE intid = ?', $vid_id);
21
22// Mime type
23 //switch (substr($fname, strrpos($fname, '.'))) {
24 switch (substr($fname, strrpos($fname, '.')+1)) {
25 case 'mpg':
26 case 'mpeg':
27 $mime = 'video/mpeg';
28 break;
29 case 'mp4':
30 $mime = 'video/mp4';
31 break;
32 case 'ogg':
33 case 'ogm':
34 case 'ogv':
35 $mime = 'video/ogg';
36 break;
37 case 'qt':
38 $mime = 'video/quicktime';
39 break;
40 case 'webm':
41 $mime = 'video/webm';
42 break;
43 case 'mkv':
44 $mime = 'video/x-matroska';
45 break;
46 case 'wmv':
47 $mime = 'video/x-ms-wmv';
48 break;
49 case 'flv':
50 $mime = 'video/x-flv';
51 break;
52 case 'avi':
53 $mime = 'video/x-msvideo';
54 break;
55 default:
56 $mime = 'application/octet-stream';
57 }
58
59// $mime = 'video/x-msvideo';
60
61 header('Content-Type: '.$mime);
62
63// Send the filename
64 header('Content-Disposition: filename="'.$fname.'"');
65
66// Send data via the backend
67 $Master_Host = setting('MasterServerIP');
68 $port = _or(get_backend_setting('BackendStatusPort', $Master_Host),
69 get_backend_setting('BackendStatusPort'));
70 if (stripos($Master_Host,':') !== false) {
71 $Master_Host = '['.$Master_Host.']';
72 }
73
74// while (ob_get_level()) {
75 // ob_end_flush();
76// }
77 if (ob_get_level()) {
78 ob_end_clean();
79 }
80
81 readfile("http://$Master_Host:$port/Content/GetVideo?Id=".$vid_id);
82
83// Nothing else to do
84 exit;
85