popcornmix / omxplayer

omxplayer
GNU General Public License v2.0
1.02k stars 334 forks source link

Playback does not start with ALSA softvol OR dmix devices #718

Open Foldi-One opened 5 years ago

Foldi-One commented 5 years ago

I defined a dmix and softvol device in ~/asoundrc for a cirrus audio card. (It has no master vol for its many outputs and I want to dmix so MOCP can be left running) Calling omxplayer -o:alsa or -o:alsa:"alias of dmix/softvol devices" there are no errors, but CPU load drops to idle and playback never starts. Works just fine using alias of cirrus card. (and the alsa devices work just fine)

matthijskooijman commented 5 years ago

I think this might be related to #745.

Do you see any errors in the generated logfile if you run with --genlog?

Foldi-One commented 5 years ago

Can't reproduce this anymore seems a some update or other has fixed whatever was causing it.. As far as I recall nothing in the config has changed but I tried it again and it just worked this time. Unlike your error #745 which gives a line on the console talking about ALSA. Mine never did when it was going wrong, the program would just hang if and only if called with the alsa devices. I looked at the logs and it didn't seem to have anything in it on the failures (I thought I'd posted them - my bad)

I've got an old SD image from about the time i found it. If I get the chance and remember i'll do some more testing - life is rather chaotic here atm.

update: seems some update has overwritten the local config file with defaults. But the config's solfvol device is still actually being loaded - presumably as I updated alsactl to keep volume mixers at level. Can't actually find where its now being defined atm. I've not looked at ASLA since Jun and damn if it isn't annoying to keep track of... But perhaps this is what made it happy - having the device defined in the higher level alsa config not user specific config file?

matthijskooijman commented 5 years ago

Unlike your error #745 which gives a line on the console talking about ALSA. Mine never did when it was going wrong, the program would just hang if and only if called with the alsa devices. I looked at the logs and it didn't seem to have anything in it on the failures (I thought I'd posted them - my bad)

Well, the error I'm seeing is from libalsa itself, any error messages from omxplayer ended up only in the logs. So my hypothesis was that in your case, the opening of the device would work, but some subsequent configuration of the device would fail and libalsa would perhaps not print anything about that. However, the error message from omxplayer would have shown up in the --genlog output, so if you looked at that, maybe it is completely unrelated after all.

In any case, if you can't reproduce, maybe it was fixed in the meanwhile somehow, or maybe some alsa config change (I never really understand those config files...).

Foldi-One commented 5 years ago

Yeah, ALSA takes me a few eons of reading and thinking to set my mind into the way it works (to be promptly half forgotten the moment I'm not needing it). I suspect in my case having device defined in local and not system level was the issue. As that is how it seems to be set up now and it does work.. So far I've not found the time to really dig back into this but skimming around the right files it seems to be the case.

You could be correct they were connected though. Till I get round to reproducing it (if it still can be) its hard to say.