docker-avidemux icon indicating copy to clipboard operation
docker-avidemux copied to clipboard

[Bug] Trouble initializing audio device

Open killkrt opened this issue 1 year ago • 4 comments

Current Behavior

When selecting an audio device different from Dummy the error "Trouble initializing audio device" is shown as a video is being reproduced

Expected Behavior

Audio should be reproduced

Steps To Reproduce

  • Open a file with audio
  • Select a card different from "Dummy" in Edit>Preferences>Audio>Local Playback downmixing
  • Play the video

Environment

  • OS: Proxmox
  • OS version: 7.4-17
  • CPU: i5-10400
  • Docker version: 24.0.7
  • Device model:
  • Browser/OS: Firefox

Container creation

version: "3"
services:
  avidemux:
    image: jlesage/avidemux
    ports:
      - 5900:5800
    volumes:
      - "$PWD/config:/config:rw" 
      - "[hidden]:/storage:rw" 
      - "/dev/snd:/dev/snd"
    environment:
      - DARK_MODE=1

Container log

[app         ]  [HandleAction] 16:35:56-298  ************ PlayAvi **************
[app         ]  [ADM_videoFilterBridge] 16:35:56-298  Creating instance at 0x7f0f525a40e0
[app         ]  [updateBridge] 16:35:56-298  Using time range from 00:00:00,000 to 00:01:40,866
[app         ]  [getTimeBase] 16:35:56-298  Ref video 0 is frame-encoded, copy mode: 0
[app         ]  [getTimeBase] 16:35:56-298  Timebase set to 1000 / 30000
[app         ]  [seektoTime] 16:35:56-298  Seeking to a keyframe at 00:00:00,105
[app         ]  [seektoTime] 16:35:56-298  Seeking to frame 0 at 00:00:00,105
[app         ]  [DecodePictureUpToIntra] 16:35:56-298  Decoding up to intra frame 0, ref: 0
[app         ] [edCache] Flush
[app         ]  [ADM_FFgetFormat] 16:35:56-299  Multithreading enabled, skipping hw accel lookup.
[app         ]  [goToTimeVideo] 16:35:56-328  Seek done, decoded to 105375 us in ref (00:00:00,000 linear) with segment start at 105375 us
[app         ]  [destroy] 16:35:56-328  Destroying preview
[app         ]  [renderDisplayResize] 16:35:56-328  Render to 1080x1920 zoom=0.5635, old one =1080 x 1920, zoom=0.5635, renderer=0x7f0f525cb020
[app         ]  [renderDisplayResize] 16:35:56-328            No change, nothing to do
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] Seeking to 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] => seg 0, rel time 00:00:00,000
[app         ] [MP4] Go to time succeeded chunk :3 time ask:105 time get:128
[app         ]  [AUDMAudioFilter_Bridge] 16:35:56-328  [Bridge] Starting with time 00:00:00,000 , shift 0 ms
[app         ]  [AUDMAudioFilter_Bridge] 16:35:56-328  [Bridge] Ending with time 00:00:00,000, sample 0
[app         ]  [rewind] 16:35:56-328  [AudioBridge] Going to time 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] Seeking to 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] => seg 0, rel time 00:00:00,000
[app         ] [MP4] Go to time succeeded chunk :3 time ask:105 time get:128
[app         ]  [rewind] 16:35:56-328  [AudioBridge] Going to time 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] Seeking to 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] => seg 0, rel time 00:00:00,000
[app         ] [MP4] Go to time succeeded chunk :3 time ask:105 time get:128
[app         ]  [rewind] 16:35:56-328  [AudioBridge] Going to time 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] Seeking to 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] => seg 0, rel time 00:00:00,000
[app         ] [MP4] Go to time succeeded chunk :3 time ask:105 time get:128
[app         ]  [rewind] 16:35:56-328  [AudioBridge] Going to time 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] Seeking to 00:00:00,000
[app         ]  [goToTime] 16:35:56-328  [edAudioTrackFromVideo] => seg 0, rel time 00:00:00,000
[app         ] [MP4] Go to time succeeded chunk :3 time ask:105 time get:128
[app         ]  [init] 16:35:56-338  Initializing audioDeviceThreaded with channels=2, fq=48000
[app         ]  [init] 16:35:56-338  Incoming channel map:
[app         ]     FRONT_LEFT
[app         ]     FRONT_RIGHT
[app         ]  [init] 16:35:56-338  Outgoing channel map:
[app         ]     FRONT_LEFT
[app         ]     FRONT_RIGHT
[app         ]  [init] 16:35:56-338  DeviceStopped -> DeviceStopped
[app         ] [Alsa] Using device :dmix
[app         ] ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
[app         ] ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_card_id returned error: No such file or directory
[app         ] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
[app         ] ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[app         ] ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
[app         ] ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[app         ] ALSA lib conf.c:5703:(snd_config_expand) Evaluate error: No such file or directory
[app         ] ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM dmix
[app         ] [Alsa]Error opening PCM device dmix
[app         ]  [stop] 16:35:57-710  [audioDevice] Stopping device...
[app         ]  [stop] 16:35:57-710  DeviceStopped -> DeviceStopped

Container inspect

[
    {
        "Id": "4eba5d1ea3df2eb603fcd9ae03dd66a928145343e339af166394bcfa18c2dd89",
        "Created": "2023-11-06T16:44:27.57160194Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 11618,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-11-06T16:44:28.952428299Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:650df2af00342c90a452cdf453fa77c78dc0dac6dd445a42955b34d1b950f661",
        "ResolvConfPath": "/var/lib/docker/containers/4eba5d1ea3df2eb603fcd9ae03dd66a928145343e339af166394bcfa18c2dd89/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/4eba5d1ea3df2eb603fcd9ae03dd66a928145343e339af166394bcfa18c2dd89/hostname",
        "HostsPath": "/var/lib/docker/containers/4eba5d1ea3df2eb603fcd9ae03dd66a928145343e339af166394bcfa18c2dd89/hosts",
        "LogPath": "/var/lib/docker/containers/4eba5d1ea3df2eb603fcd9ae03dd66a928145343e339af166394bcfa18c2dd89/4eba5d1ea3df2eb603fcd9ae03dd66a928145343e339af166394bcfa18c2dd89-json.log",
        "Name": "/avidemux-avidemux-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                ".../config:/config:rw",
                "...:/storage:rw",
                "/dev/snd:/dev/snd:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "avidemux_default",
            "PortBindings": {
                "5800/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "5900"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/dbc1bfc0a605cab99ca5846ab2af9de0127a9ebf8d948ac9d2531d0711795c28-init/diff:/var/lib/docker/overlay2/04c22545a7e6bc649b9d915c1c4331e47387271c3e5e6fda55d317fd00d89f47/diff:/var/lib/docker/overlay2/bdef4a32d68d16787808b473f4c5b3f01aec503d9c02c5f64b447fa8edc53ccc/diff:/var/lib/docker/overlay2/c97d4b6f4f99810dd7d2d39b3716d5c410d677dcc94928b187b39df881e56a6a/diff:/var/lib/docker/overlay2/8b0fe454aa46cf10d1ebc1efb0131aa2f04d1e141cedf95e5598ab7dde13b21c/diff:/var/lib/docker/overlay2/181075fb6efcf7bbfd12c238dd00eff5080da1703137bf9024ae4dd9a23d6536/diff:/var/lib/docker/overlay2/135d189be849788b19b8a24e7e117a382bea5293d5d3eee92a79f0bc0f4583df/diff:/var/lib/docker/overlay2/7eabdac9350b24213a9b2cad0520688755cc7d918920321d03b49057ecf216bc/diff:/var/lib/docker/overlay2/19edb6973e56aee68b8b07f7f089056c1f0a33edf6105ba6a2e13c1502b66f21/diff:/var/lib/docker/overlay2/28a4d1a5596e0ec64360f519f94d28f672087aea5d0812497c005c953f1f424b/diff:/var/lib/docker/overlay2/d18a22be25692ef6050997236fc6697c6707f43a4a19d78c4e914e5cf209bc29/diff:/var/lib/docker/overlay2/62d4afa91476d9ecacda29e5e36aab29cd55250d13d3ebb8f564dc9b86ced7f8/diff:/var/lib/docker/overlay2/7b9fd50b518e7ddd79cb6faed48a2d5a4d58293a716b398bbe46ac66a0f85bfb/diff:/var/lib/docker/overlay2/d2b0e771d18d7674c76602903ddab13f2df17d2984803058caefabc9591eb441/diff:/var/lib/docker/overlay2/f6dc836caa1c79679b9f7eaa3af936c8c20ae91616292731f0d678f5039d2f4c/diff:/var/lib/docker/overlay2/f8860dce681b52c037239c022fa85fbf8931043cc0eb74e238231d88b7728233/diff:/var/lib/docker/overlay2/8b07d7d231ee7f5c7418f25985a929ea89d4f571b59d622f107251aef224b267/diff:/var/lib/docker/overlay2/cc1dc6ed06f59f15d3991f9d8bce8a912817e58902028056ab45ac0a2e521f3c/diff:/var/lib/docker/overlay2/833aed31843e9e86e66dad84c9e4203847017a2e57fe7d88fafac68fb2937a9f/diff:/var/lib/docker/overlay2/37c569d7c388814b6f17b2a0fbf0c5e55058c63abd946284aa22fcd5d8b648bc/diff:/var/lib/docker/overlay2/8232837d52231b93e1101f2b45691943e5a9ba0aa9360fcf5ee487bbc45d409a/diff:/var/lib/docker/overlay2/ae3f3d6095f921c072896cf64106138b69734ee351b331fe6633b2583472373d/diff:/var/lib/docker/overlay2/c45e088bfdda127074979a2e02d2891a093acbe15caac41111fefd934444a011/diff:/var/lib/docker/overlay2/947277faebf04f7ebd9fe92f4e83c62c0237b557acaab50d85c0e026f5b23790/diff:/var/lib/docker/overlay2/e29cf08ec1b88b20e04f54aa1964e71b17efef48b257da77d283d54c16adac94/diff:/var/lib/docker/overlay2/d483f1937788dda3e68e46a981562f7bb226ac7f244b8d545c4a755c292f7b74/diff:/var/lib/docker/overlay2/79d49863d42ef045d63197819d9d9bfd310f5b82f67bb1ab81f0028ef159fe1e/diff:/var/lib/docker/overlay2/de921d5468845b71a1ea0b2e58d70e6a5bd2e25ae7703bc0ad87bba6ee5f5f9c/diff:/var/lib/docker/overlay2/c7d35ae7529a8c14ed19f5f82756c555af09d74dcde225729444b67087a61a3c/diff:/var/lib/docker/overlay2/15c8e70bc91c7d0944ebe4dd583039386097a50c72583810605f445fd01104c9/diff:/var/lib/docker/overlay2/778cd7b419d906352cd0124c0b142cd9d57ce51ab702b5c54d66ced8f4d11a1f/diff:/var/lib/docker/overlay2/14cac1ef0730ca2ea0ae2c07cba206d33ac247a37791d187a3148d7ab34b9ac6/diff:/var/lib/docker/overlay2/46c6a93a5dc2f1850e52c5b2ba17248c412f0c12799eff4f2f2f4fc75174ca5f/diff:/var/lib/docker/overlay2/d50f79981d39851c6fe2a2ae1b5c74b079a13fb8e9f8099a3c24695a3b950a86/diff:/var/lib/docker/overlay2/e3ce7f2775a77f92ed9b13669497da236bc481141989123bf62073baae7b5074/diff:/var/lib/docker/overlay2/8b3c2ef589f95d234d8d60561531bf1032b60981b3a11644d012c1ff3f16a76f/diff:/var/lib/docker/overlay2/f8cc840e9107c56f78173473ca1bd3540899668c9819ef3265f0b8856531ad20/diff",
                "MergedDir": "/var/lib/docker/overlay2/dbc1bfc0a605cab99ca5846ab2af9de0127a9ebf8d948ac9d2531d0711795c28/merged",
                "UpperDir": "/var/lib/docker/overlay2/dbc1bfc0a605cab99ca5846ab2af9de0127a9ebf8d948ac9d2531d0711795c28/diff",
                "WorkDir": "/var/lib/docker/overlay2/dbc1bfc0a605cab99ca5846ab2af9de0127a9ebf8d948ac9d2531d0711795c28/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": ".../config",
                "Destination": "/config",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "...",
                "Destination": "/storage",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/dev/snd",
                "Destination": "/dev/snd",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "4eba5d1ea3df",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "5800/tcp": {},
                "5900/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "DARK_MODE=1",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/base/sbin:/opt/base/bin",
                "ENV=/root/.docker_rc",
                "USER_ID=1000",
                "GROUP_ID=1000",
                "SUP_GROUP_IDS=",
                "UMASK=0022",
                "LANG=en_US.UTF-8",
                "TZ=Etc/UTC",
                "KEEP_APP_RUNNING=0",
                "APP_NICENESS=0",
                "INSTALL_PACKAGES=",
                "CONTAINER_DEBUG=0",
                "DISPLAY_WIDTH=1920",
                "DISPLAY_HEIGHT=1080",
                "SECURE_CONNECTION=0",
                "SECURE_CONNECTION_VNC_METHOD=SSL",
                "SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60",
                "WEB_LISTENING_PORT=5800",
                "VNC_LISTENING_PORT=5900",
                "VNC_PASSWORD=",
                "ENABLE_CJK_FONT=0"
            ],
            "Cmd": [
                "/init"
            ],
            "Image": "jlesage/avidemux",
            "Volumes": {
                "/config": {},
                "/storage": {}
            },
            "WorkingDir": "/tmp",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "c841ee95f5b6a70fd870709f90b91c70375b629ed017fe7295a113d11996e835",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:650df2af00342c90a452cdf453fa77c78dc0dac6dd445a42955b34d1b950f661",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "avidemux",
                "com.docker.compose.project.config_files": ".../avidemux/docker-compose.yaml",
                "com.docker.compose.project.working_dir": ".../avidemux",
                "com.docker.compose.replace": "4c79d33cd72c8e912ca2fa2b6a9208d4c736e8c5b01c612c610a83e987c58b22",
                "com.docker.compose.service": "avidemux",
                "com.docker.compose.version": "2.23.0",
                "org.label-schema.description": "Docker container for Avidemux",
                "org.label-schema.name": "avidemux",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-url": "https://github.com/jlesage/docker-avidemux",
                "org.label-schema.version": "23.06.1"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "054725d59f3c0c038c1617323d133039e8e35cdd94f2418eb842210f915fd0d0",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "5800/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "5900"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "5900"
                    }
                ],
                "5900/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/054725d59f3c",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "avidemux_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "avidemux-avidemux-1",
                        "avidemux",
                        "4eba5d1ea3df"
                    ],
                    "NetworkID": "975241cfd07f5bc3d738d2c92c5c8fc9333568b3a904623c8dea6f18b1aae00b",
                    "EndpointID": "c53bcf1b59fb657f3ad15a548fdeb29921f7a1aa6cda7474149566461d32fd55",
                    "Gateway": "172.28.0.1",
                    "IPAddress": "172.28.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:1c:00:02",
                    "DriverOpts": null
                }
            }
        }
    }
]

Anything else?

Running aplay -l on the hosting VM machine is returning:

➜  avidemux git:(main) ✗ aplay -l                                   
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: Generic Analog [Generic Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: Generic Analog [Generic Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

And ll - /dev/snd:

➜  avidemux git:(main) ✗ ll /dev/snd
total 0
drwxr-xr-x 2 root root       60 Nov  6 17:31 by-path
crw-rw---- 1 root audio 116,  8 Nov  6 17:31 controlC0
crw-rw---- 1 root audio 116,  6 Nov  6 17:31 hwC0D0
crw-rw---- 1 root audio 116,  7 Nov  6 17:31 hwC0D1
crw-rw---- 1 root audio 116,  3 Nov  6 17:31 pcmC0D0c
crw-rw---- 1 root audio 116,  2 Nov  6 17:31 pcmC0D0p
crw-rw---- 1 root audio 116,  5 Nov  6 17:31 pcmC0D2c
crw-rw---- 1 root audio 116,  4 Nov  6 17:31 pcmC0D2p
crw-rw---- 1 root audio 116,  1 Nov  6 17:31 seq
crw-rw---- 1 root audio 116, 33 Nov  6 17:31 timer

killkrt avatar Nov 06 '23 17:11 killkrt

Maybe a permission issue ? Can you to add the ID of the group audio to the SUP_GROUP_IDS environment variable?

jlesage avatar Nov 10 '23 01:11 jlesage

Thanks for the reply, anyway I still have same issue.

I think you're right, it seems that is related to a permission issue. I noticed that for example speaker-test is not working (I added into docker using INSTALL_PACKAGES), but if I add the group audio (in the container) and add root to audio group it is then working. I tried to check if that solves the issue, but I don't know how to stop and restart avidemux with new permissions, since when I stop it the container also stops, and of course by restarting the container all the changes made are lost.

I also tried to add group audio in the Dockerfile, but it fails stating that group audio already exists. Anyway inside the container I cannot see any audio group:

/tmp # getnet group
root:x:0:root
shadow:x:42
app:x:1000:app

killkrt avatar Nov 10 '23 09:11 killkrt

The audio group doesn't need to exist in /etc/group inside the container.

Inside the container, ls -l /dev/snd will show you what is the ID associated to the audio group. Then make sure this ID is part of SUP_GROUP_IDS variable (you need to re-create the container). You can re-run the docker inspect command to make sure SUP_GROUP_IDS is properly set.

jlesage avatar Nov 10 '23 13:11 jlesage

It seems that everything should be set correctly.

In docker container:

/tmp # ls -l /dev/snd
total 0
crw-rw----    1 root     996       116,   8 Nov 11 04:03 controlC0
crw-rw----    1 root     996       116,   6 Nov 11 04:03 hwC0D0
crw-rw----    1 root     996       116,   7 Nov 11 04:03 hwC0D1
crw-rw----    1 root     996       116,   3 Nov 11 04:03 pcmC0D0c
crw-rw----    1 root     996       116,   2 Nov 11 04:03 pcmC0D0p
crw-rw----    1 root     996       116,   5 Nov 11 04:03 pcmC0D2c
crw-rw----    1 root     996       116,   4 Nov 11 04:03 pcmC0D2p
crw-rw----    1 root     996       116,   1 Nov 11 04:03 seq
crw-rw----    1 root     996       116,  33 Nov 11 04:03 timer

In the host system:

➜  avidemux git:(main) ✗ id
uid=1000(xyz) gid=1000(xyz) groups=1000(xyz),972(docker),996(audio)
➜  avidemux git:(main) ✗ docker inspect avidemux | grep SUB_GROUP_ID
                "SUB_GROUP_ID=996",

killkrt avatar Nov 12 '23 21:11 killkrt