Update LiveStream events

This commit is contained in:
Daniel Supernault 2022-06-26 20:24:32 -06:00
parent b55e91d1e3
commit 4630c5d67a
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
3 changed files with 11 additions and 13 deletions

View file

@ -9,22 +9,21 @@ use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use App\Models\LiveStream;
class StreamEnd implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $livestream;
public $id;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(LiveStream $livestream)
public function __construct($id)
{
$this->livestream = $livestream;
$this->id = $id;
}
/**
@ -34,7 +33,7 @@ class StreamEnd implements ShouldBroadcast
*/
public function broadcastOn()
{
return new PrivateChannel('live.chat.' . $this->livestream->profile_id);
return new PrivateChannel('live.chat.' . $this->id);
}
public function broadcastAs()

View file

@ -9,22 +9,21 @@ use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use App\Models\LiveStream;
class StreamStart implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $livestream;
public $id;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(LiveStream $livestream)
public function __construct($id)
{
$this->livestream = $livestream;
$this->id = $id;
}
/**
@ -34,7 +33,7 @@ class StreamStart implements ShouldBroadcast
*/
public function broadcastOn()
{
return new PrivateChannel('live.chat.' . $this->livestream->profile_id);
return new PrivateChannel('live.chat.' . $this->id);
}
public function broadcastAs()

View file

@ -147,7 +147,7 @@ class LiveStreamController extends Controller
->each(function($stream) {
Storage::deleteDirectory("public/live-hls/{$stream->stream_id}");
LiveStreamService::clearChat($stream->profile_id);
StreamEnd::dispatch($stream);
StreamEnd::dispatch($stream->profile_id);
$stream->delete();
});
@ -377,7 +377,7 @@ class LiveStreamController extends Controller
$stream->live_at = now();
$stream->save();
StreamStart::dispatch($stream);
StreamStart::dispatch($stream->profile_id);
return [];
} else {
abort(400);
@ -394,7 +394,7 @@ class LiveStreamController extends Controller
$name = $url['name'] ?? $request->input('name');
$stream = LiveStream::whereStreamId($name)->whereStreamKey($url['key'])->firstOrFail();
StreamEnd::dispatch($stream);
StreamEnd::dispatch($stream->profile_id);
LiveStreamService::clearChat($stream->profile_id);
if(config('livestreaming.broadcast.delete_token_after_finished')) {