This commit is contained in:
legop3
2025-11-29 22:51:29 -05:00
parent 0093c97873
commit 063afff53b
7 changed files with 17 additions and 31 deletions
Vendored
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+15 -14
View File
@@ -1,25 +1,26 @@
# Use the Google Voice HAT soundcard as the primary device by name (card id is "sndrpigooglevoi") # Use the Google Voice HAT soundcard as the primary device by name (card id is "sndrpigooglevoi")
options snd_rpi_googlevoicehat_soundcard index=0 options snd_rpi_googlevoicehat_soundcard index=0
# Simple defaults: direct playback/capture on the voice HAT # Software playback volume (adjust with: amixer -c0 sset 'SoftMaster' 70%)
pcm.softvol {
type softvol
slave.pcm "hw:0,0"
control {
name "SoftMaster"
card 0
}
min_dB -51.0
max_dB 0.0
}
# Defaults: playback through softvol, capture raw on the HAT
pcm.!default { pcm.!default {
type asym type asym
playback.pcm "plughw:0,0" playback.pcm "softvol"
capture.pcm "plughw:0,0" capture.pcm "hw:0,0"
} }
ctl.!default { ctl.!default {
type hw type hw
card 0 card 0
} }
# Stable capture device for ffmpeg/roverd: exposes the HAT at fixed format/rate.
pcm.rovermic {
type plug
slave {
pcm "hw:0,0"
format S32_LE
rate 48000
channels 2
}
}
+1 -1
View File
@@ -256,7 +256,7 @@ func clampFloat(value, min, max float64) float64 {
func validateAudioConfig(cfg *AudioConfig) { func validateAudioConfig(cfg *AudioConfig) {
if cfg.CaptureEnabled && cfg.CaptureDevice == "" { if cfg.CaptureEnabled && cfg.CaptureDevice == "" {
cfg.CaptureDevice = "rovermic" cfg.CaptureDevice = "hw:0,0"
} }
if cfg.SampleRate <= 0 { if cfg.SampleRate <= 0 {
cfg.SampleRate = 48000 cfg.SampleRate = 48000
-10
View File
@@ -204,16 +204,6 @@ export default function VideoTile({
: detail : detail
? `${status} (${detail})` ? `${status} (${detail})`
: status; : status;
// eslint-disable-next-line no-console
useEffect(() => {
if (!audioSessionInfo?.url && !sessionInfo?.url) return;
console.info('VideoTile sessions', {
video: sessionInfo,
audio: audioSessionInfo,
status,
audioStatus,
});
}, [sessionInfo, audioSessionInfo, status, audioStatus]);
return ( return (
<div className="flex flex-col gap-0.5"> <div className="flex flex-col gap-0.5">
-4
View File
@@ -99,8 +99,6 @@ export function useVideoRequests(sourceList = []) {
socket.emit('video:request', payload, (resp = {}) => { socket.emit('video:request', payload, (resp = {}) => {
if (cancelled) return; if (cancelled) return;
if (!resp || resp.error || !resp.url || !resp.token) { if (!resp || resp.error || !resp.url || !resp.token) {
// eslint-disable-next-line no-console
console.warn('video:request failed', { entry, resp });
scheduleRetry(entry); scheduleRetry(entry);
setSources((prev) => ({ setSources((prev) => ({
...prev, ...prev,
@@ -110,8 +108,6 @@ export function useVideoRequests(sourceList = []) {
} }
clearRetry(entry.key); clearRetry(entry.key);
setSources((prev) => ({ ...prev, [entry.key]: resp })); setSources((prev) => ({ ...prev, [entry.key]: resp }));
// eslint-disable-next-line no-console
console.info('video:request ok', { entry, url: resp.url });
}); });
} }
+1 -2
View File
@@ -82,8 +82,7 @@ export class WhepPlayer {
} }
pc.onconnectionstatechange = () => { pc.onconnectionstatechange = () => {
const state = pc.connectionState; this.notify(pc.connectionState);
this.notify(state);
}; };
pc.oniceconnectionstatechange = () => { pc.oniceconnectionstatechange = () => {
const state = pc.iceConnectionState; const state = pc.iceConnectionState;