1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
<?php
require_once('program.php');
function link_index()
{
return '';
}
function link_room($room)
{
return rawurlencode($room).'/';
}
function link_player($room, $format = 'sd', $translated = false)
{
$isDefaultFormat = in_array($format, array('sd', 'video'));
return rawurlencode($room).'/'.($isDefaultFormat ? '' : rawurlencode($format).'/').($translated ? 'translated/' : '');
}
function link_stream($protocol, $room, $format, $translated = false)
{
$language = $translated ? 'translated' : 'native';
switch ($protocol) {
case 'rtmp':
return 'rtmp://rtmp.stream.c3voc.de:1935/stream/'.rawurlencode(streamname($room)).'_'.rawurlencode($language).'_'.rawurlencode($format);
case 'hls':
return 'http://hls.stream.c3voc.de/hls/'.rawurlencode(streamname($room)).'_'.rawurlencode($language).($format == 'auto' ? '' : '_'.rawurlencode($format)).'.m3u8';
case 'webm':
return 'http://webm.stream.c3voc.de:8000/'.rawurlencode(streamname($room)).'_'.rawurlencode($language).'_'.rawurlencode($format).'.webm';
case 'audio':
if(in_array($room, array('lounge', 'ambient')))
return 'http://audio.stream.c3voc.de:8000/'.rawurlencode(streamname($room)).'.'.rawurlencode($format);
else
return 'http://audio.stream.c3voc.de:8000/'.rawurlencode(streamname($room)).'_'.rawurlencode($language).'.'.rawurlencode($format);
case 'slide':
return 'http://www.stream.c3voc.de/slides/'.rawurlencode(streamname($room)).'/current.png';
}
return '#';
}
function link_vod($id)
{
return 'relive/'.rawurlencode($id).'/';
}
function streamname($room)
{
switch($room)
{
case 'saal1': return 's1';
case 'saal2': return 's2';
case 'saalg': return 's3';
case 'saal6': return 's4';
case 'sendezentrum': return 's5';
default: return $room;
}
}
function irc_channel($room)
{
return '31C3-hall-'.strtoupper(substr($room, 4, 1));
}
function twitter_hashtag($room)
{
return '#hall'.strtoupper(substr($room, 4, 1));
}
function format_text($format)
{
return @$GLOBALS['CONFIG']['FORMAT_TEXT'][$format] ?: '';
}
function baseurl()
{
if(isset($GLOBALS['CONFIG']['baseurl']))
return $GLOBALS['CONFIG']['baseurl'];
$base = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']) ? 'https://' : 'http://';
$base .= $_SERVER['HTTP_HOST'];
$base .= rtrim(dirname($_SERVER['SCRIPT_NAME']), '/').'/';
return $base;
}
function strtoduration($str)
{
$parts = explode(':', $str);
return ((int)$parts[0] * 60 + (int)$parts[1]) * 60;
}
|