CC-1665: Scheduled stream rebroadcasting and recording

-ability to preview webstreams inside of playlists
This commit is contained in:
Martin Konecny 2012-08-09 16:49:20 -04:00
parent 952f18dc3c
commit c73328e297
2 changed files with 85 additions and 63 deletions

View File

@ -180,19 +180,33 @@ class AudiopreviewController extends Zend_Controller_Action
$this->_helper->json($result);
}
function createElementMap($track){
private function createElementMap($track)
{
$elementMap = array( 'element_title' => isset($track['track_title'])?$track['track_title']:"",
'element_artist' => isset($track['artist_name'])?$track['artist_name']:"",
'element_id' => isset($track['id'])?$track['id']:"",
'element_position' => isset($track['position'])?$track['position']:"",
);
$elementMap['type'] = $track['type'];
if ($track['type'] == 0) {
$fileExtension = pathinfo($track['path'], PATHINFO_EXTENSION);
//type is file
//TODO: use MIME type for this
if (strtolower($fileExtension) === 'mp3') {
$elementMap['element_mp3'] = $track['item_id'];
} else if (strtolower($fileExtension) === 'ogg') {
$elementMap['element_oga'] = $track['item_id'];
} else {
//the media was neither mp3 or ogg
throw new Exception("Unknown file type");
}
$elementMap['uri'] = "/api/get-media/file/".$track['item_id'];
} else {
$elementMap['uri'] = $track['path'];
}
return $elementMap;
}

View File

@ -125,19 +125,27 @@ function buildplaylist(p_url, p_playIndex) {
var total = 0;
for(index in data){
if (data[index]['type'] == 0) {
if (data[index]['element_mp3'] != undefined){
media = {title: data[index]['element_title'],
artist: data[index]['element_artist'],
mp3:"/api/get-media/file/"+data[index]['element_mp3']
mp3:data[index]['uri']
};
} else if (data[index]['element_oga'] != undefined) {
media = {title: data[index]['element_title'],
artist: data[index]['element_artist'],
oga:"/api/get-media/file/"+data[index]['element_oga']
oga:data[index]['uri']
};
}
} else if (data[index]['type'] == 1) {
media = {title: data[index]['element_title'],
artist: data[index]['element_artist'],
mp3:data[index]['uri']
};
}
if (media) {
myPlaylist[index] = media;
}
// we should create a map according to the new position in the player itself
// total is the index on the player
_idToPostionLookUp[data[index]['element_id']] = total;