CC-4702Webstream: When webstream is playing, it isn't marked as 'media_item_played' in cc_schedule
-fixed
This commit is contained in:
parent
8483439551
commit
3a1945a818
3 changed files with 23 additions and 25 deletions
|
@ -926,31 +926,33 @@ class ApiController extends Zend_Controller_Action
|
||||||
|
|
||||||
$data_arr = json_decode($data);
|
$data_arr = json_decode($data);
|
||||||
|
|
||||||
if (!is_null($media_id) && isset($data_arr->title) && strlen($data_arr->title) < 1024) {
|
if (!is_null($media_id)) {
|
||||||
|
if (isset($data_arr->title) &&
|
||||||
|
strlen($data_arr->title) < 1024) {
|
||||||
|
|
||||||
$previous_metadata = CcWebstreamMetadataQuery::create()
|
$previous_metadata = CcWebstreamMetadataQuery::create()
|
||||||
->orderByDbStartTime('desc')
|
->orderByDbStartTime('desc')
|
||||||
->filterByDbInstanceId($media_id)
|
->filterByDbInstanceId($media_id)
|
||||||
->findOne();
|
->findOne();
|
||||||
|
|
||||||
$do_insert = true;
|
$do_insert = true;
|
||||||
if ($previous_metadata) {
|
if ($previous_metadata) {
|
||||||
if ($previous_metadata->getDbLiquidsoapData() == $data_arr->title) {
|
if ($previous_metadata->getDbLiquidsoapData() == $data_arr->title) {
|
||||||
Logging::debug("Duplicate found: ".$data_arr->title);
|
Logging::debug("Duplicate found: ".$data_arr->title);
|
||||||
$do_insert = false;
|
$do_insert = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($do_insert) {
|
||||||
|
$webstream_metadata = new CcWebstreamMetadata();
|
||||||
|
$webstream_metadata->setDbInstanceId($media_id);
|
||||||
|
$webstream_metadata->setDbStartTime(new DateTime("now", new DateTimeZone("UTC")));
|
||||||
|
$webstream_metadata->setDbLiquidsoapData($data_arr->title);
|
||||||
|
$webstream_metadata->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($do_insert) {
|
|
||||||
$webstream_metadata = new CcWebstreamMetadata();
|
|
||||||
$webstream_metadata->setDbInstanceId($media_id);
|
|
||||||
$webstream_metadata->setDbStartTime(new DateTime("now", new DateTimeZone("UTC")));
|
|
||||||
$webstream_metadata->setDbLiquidsoapData($data_arr->title);
|
|
||||||
$webstream_metadata->save();
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
throw new Error("Unexpected error. media_id $media_id has a null stream value in cc_schedule!");
|
throw new Exception("Null value of media_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->view->response = $data;
|
$this->view->response = $data;
|
||||||
|
|
|
@ -53,11 +53,6 @@ http = input.http_restart(id="http")
|
||||||
http = cross_http(http_input_id="http",http)
|
http = cross_http(http_input_id="http",http)
|
||||||
stream_queue = http_fallback(http_input_id="http",http=http,default=queue)
|
stream_queue = http_fallback(http_input_id="http",http=http,default=queue)
|
||||||
|
|
||||||
#stream_queue = switch(id="stream_queue_switch", track_sensitive=false,
|
|
||||||
# transitions=[transition, transition],
|
|
||||||
# [({!webstream_enabled},web_stream),
|
|
||||||
# ({true}, queue)])
|
|
||||||
|
|
||||||
ignore(output.dummy(stream_queue, fallible=true))
|
ignore(output.dummy(stream_queue, fallible=true))
|
||||||
|
|
||||||
server.register(namespace="vars",
|
server.register(namespace="vars",
|
||||||
|
|
|
@ -114,6 +114,7 @@ class Notify:
|
||||||
self.notify_source_status(options.source_name, options.source_status)
|
self.notify_source_status(options.source_name, options.source_status)
|
||||||
elif options.webstream:
|
elif options.webstream:
|
||||||
self.notify_webstream_data(options.webstream, options.media_id)
|
self.notify_webstream_data(options.webstream, options.media_id)
|
||||||
|
self.notify_media_start_playing(options.media_id)
|
||||||
elif options.media_id:
|
elif options.media_id:
|
||||||
self.notify_media_start_playing(options.media_id)
|
self.notify_media_start_playing(options.media_id)
|
||||||
elif options.liquidsoap_started:
|
elif options.liquidsoap_started:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue