6217a216a7
Safari/iPhone recording now uses MP4/AAC when WebM is unavailable. WebM remains the default when supported and FFmpeg is disabled. Added optional FFmpeg profiles: recommended M4A/AAC-LC or requested MP4/H.264 + AAC. Added MIME-aware, playsinline audio playback. Added dashboard controls under Plans & Platform → Voice Transcoding / FFmpeg. Added Apache/Nginx media MIME configuration and documentation. Core implementation: voice_transcoder.php (line 72), messages.php (line 86), and cyberchat-app.js (line 635).
29 lines
1.4 KiB
PHP
29 lines
1.4 KiB
PHP
<?php
|
|
define('CYBERCHAT_API', true);
|
|
require_once __DIR__ . '/../bootstrap.php';
|
|
sendCorsHeaders();
|
|
|
|
$config = getConfig();
|
|
jsonResponse([
|
|
'chat' => [
|
|
'max_message_length' => $config['chat']['max_message_length'] ?? 500,
|
|
'max_username_length' => $config['chat']['max_username_length'] ?? 12,
|
|
'poll_interval_ms' => $config['chat']['poll_interval_ms'] ?? 2000,
|
|
'poll_timeout_ms' => $config['chat']['poll_timeout_ms'] ?? 12000,
|
|
'poll_max_backoff_ms' => $config['chat']['poll_max_backoff_ms'] ?? 15000,
|
|
'max_rendered_messages' => $config['chat']['max_rendered_messages'] ?? 500,
|
|
],
|
|
'ui' => $config['ui'] ?? [],
|
|
'security' => ['min_password_length' => $config['security']['min_password_length'] ?? 4],
|
|
'colors' => ['user_palette' => $config['colors']['user_palette'] ?? []],
|
|
'voice' => [
|
|
'enabled' => $config['voice']['enabled'] ?? true,
|
|
'max_duration_seconds' => $config['voice']['max_duration_seconds'] ?? 60,
|
|
'max_upload_bytes' => $config['voice']['max_upload_bytes'] ?? 12582912,
|
|
'auto_play_default' => $config['voice']['auto_play_default'] ?? true,
|
|
'transcoding_enabled' => $config['voice']['transcoding']['enabled'] ?? false,
|
|
'output_profile' => $config['voice']['transcoding']['profile'] ?? 'm4a_aac',
|
|
],
|
|
'subscriptions' => ['enabled' => $config['subscriptions']['enabled'] ?? true],
|
|
]);
|