diff --git a/lib/PiTube/Controller/Stream.pm b/lib/PiTube/Controller/Stream.pm index b9f7954dcf80bf0b65c02a13613901b39390b238..17e07e27671527fe7a23f7d733b810c76caad548 100644 --- a/lib/PiTube/Controller/Stream.pm +++ b/lib/PiTube/Controller/Stream.pm @@ -8,6 +8,7 @@ use constant CONTENT_TYPE => { }; use constant CONTROL_URL => '%s/control/record/%s?app=stream&name=%s&rec=%s'; +use constant HLS_URL => '/hls/%s.m3u8'; sub list { my $c = shift; @@ -53,7 +54,6 @@ sub list { $c->render( json => \@streams ); } - sub player { my $c = shift; @@ -82,6 +82,7 @@ sub player { return; } + $c->stash->{url} = sprintf(HLS_URL, $stream->key); $c->render(); } @@ -157,11 +158,19 @@ sub recording { my $recording = ( $c->param('action') eq 'start' ) ? 1 : 0; if ($res->is_success) { - # TRANSAKCE + + my $guard = $c->schema->txn_scope_guard; + $stream->update({ recording => $recording }); - # create/update records + + if ( $recording ) { + $stream->add_to_records({ + publish_user_id => $stream->publish_user_id, + }); + } + $guard->commit; } $c->render( json => { recording => $stream->recording } );