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")
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 {
type asym
playback.pcm "plughw:0,0"
capture.pcm "plughw:0,0"
playback.pcm "softvol"
capture.pcm "hw:0,0"
}
ctl.!default {
type hw
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) {
if cfg.CaptureEnabled && cfg.CaptureDevice == "" {
cfg.CaptureDevice = "rovermic"
cfg.CaptureDevice = "hw:0,0"
}
if cfg.SampleRate <= 0 {
cfg.SampleRate = 48000
-10
View File
@@ -204,16 +204,6 @@ export default function VideoTile({
: detail
? `${status} (${detail})`
: 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 (
<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 = {}) => {
if (cancelled) return;
if (!resp || resp.error || !resp.url || !resp.token) {
// eslint-disable-next-line no-console
console.warn('video:request failed', { entry, resp });
scheduleRetry(entry);
setSources((prev) => ({
...prev,
@@ -110,8 +108,6 @@ export function useVideoRequests(sourceList = []) {
}
clearRetry(entry.key);
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 = () => {
const state = pc.connectionState;
this.notify(state);
this.notify(pc.connectionState);
};
pc.oniceconnectionstatechange = () => {
const state = pc.iceConnectionState;