24 lines
743 B
PHP
24 lines
743 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Blax\WebRtc\Contracts;
|
|
|
|
/**
|
|
* Where a call's audio is stored. The browser streams its mic to the server over
|
|
* the WebSocket as binary frames; the relay appends them here per participant and
|
|
* finalizes on leave/disconnect. Implement this to store to S3, a DB blob, etc.
|
|
*/
|
|
interface RecordingStore
|
|
{
|
|
/** Append a chunk of a participant's audio for a call. */
|
|
public function append(string $roomId, string $peerId, string $chunk): void;
|
|
|
|
/**
|
|
* Finish a participant's recording (they left / the call ended).
|
|
*
|
|
* @return string|null a locator (path/URL) for the finished recording, or null
|
|
*/
|
|
public function finalize(string $roomId, string $peerId): ?string;
|
|
}
|