From 1ebe3d18121a41059df8ef90c220938b2bf6b657 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 23 Feb 2012 11:51:20 -0500 Subject: [PATCH] CC-3224: "On-the-fly" stream rebroadcasting - Live source is created when only both port and mount point are specified --- .../application/controllers/PreferenceController.php | 7 ++++--- .../application/forms/LiveStreamingPreferences.php | 1 + airtime_mvc/application/models/Preference.php | 2 +- python_apps/api_clients/api_client.py | 2 +- python_apps/pypo/liquidsoap_scripts/ls_script.liq | 12 +++++++++--- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 3d5234368..2d64effbb 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -206,9 +206,10 @@ class PreferenceController extends Zend_Controller_Action Application_Model_StreamSetting::setStreamSetting($values); $data = array(); - $data['setting'] = Application_Model_StreamSetting::getStreamSetting(); - $data['setting']['harbor_input_port'] = $values["harbor_input_port"]; - $data['setting']['harbor_input_mount_point'] = $values["harbor_input_mount_point"]; + $info = Application_Model_StreamSetting::getStreamSetting(); + $info[] = (array("keyname" =>"harbor_input_port", "value"=>$values["harbor_input_port"], "type"=>"integer")); + $info[] = (array("keyname" =>"harbor_input_mount_point", "value"=>$values["harbor_input_mount_point"], "type"=>"string")); + $data['setting'] = $info; for($i=1;$i<=$num_of_stream;$i++){ Application_Model_StreamSetting::setLiquidsoapError($i, "waiting"); } diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php index c73bf2269..ce210343f 100644 --- a/airtime_mvc/application/forms/LiveStreamingPreferences.php +++ b/airtime_mvc/application/forms/LiveStreamingPreferences.php @@ -32,6 +32,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm $master_password->setAttrib('autocomplete', 'off') ->setAttrib('renderPassword','true') ->setAllowEmpty(true) + ->setValue(Application_Model_Preference::GetLiveSteamMasterPassword()) ->setLabel('Master Password') ->setFilters(array('StringTrim')) ->setDecorators(array('ViewHelper')); diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index e19638301..d2b82e74b 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -722,7 +722,7 @@ class Application_Model_Preference } public static function SetLiveSteamMasterPassword($value){ - self::SetValue("live_stream_master_password", md5($value), false); + self::SetValue("live_stream_master_password", $value, false); } public static function GetLiveSteamMasterPassword(){ diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index a40fe1cf1..de73fc68a 100755 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -373,7 +373,7 @@ class AirTimeApiClient(ApiClientInterface): url = url.replace("%%api_key%%", self.config["api_key"]) url = url.replace("%%username%%", username) - url = url.replace("%%password%%", hashlib.md5(password).hexdigest()) + url = url.replace("%%password%%", password) req = urllib2.Request(url) response = urllib2.urlopen(req).read() diff --git a/python_apps/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/liquidsoap_scripts/ls_script.liq index 865603d15..a4c1ac92f 100644 --- a/python_apps/pypo/liquidsoap_scripts/ls_script.liq +++ b/python_apps/pypo/liquidsoap_scripts/ls_script.liq @@ -54,10 +54,16 @@ def check_client(user,password) = end end -live = input.harbor(harbor_input_mount_point, port=harbor_input_port, auth=check_client) - -s = fallback(track_sensitive=false, [live, queue, default]) +def configure_live(harbor_input_port, harbor_input_mount_point) = + if harbor_input_port != 0 and harbor_input_mount_point != "" then + live = input.harbor(harbor_input_mount_point, port=harbor_input_port, auth=check_client) + fallback(track_sensitive=false, [live, queue, default]) + else + fallback(track_sensitive=false, [queue, default]) + end +end +s = configure_live(harbor_input_port, harbor_input_mount_point) s = on_metadata(notify, s) s = crossfade(s) # Attach a skip command to the source s: