-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calculating album replaygain with gstreamer causes error #2636
Comments
Wow; that is pretty weird. The pattern where this happens for the first album in a season, but no others, indicates that we may be using the GStreamer API incorrectly—or, of course, it might just be a GStreamer bug that is no fault of our own. And yes, your experience with the GStreaemer debug output match my own: it’s extremely difficult to glean anything from those dumps. Maybe it would be useful to ask the GStreamer developers whether there’s anything obvious that might cause this? |
I debugged a bit more. Put what I found here so I don't forget, and maybe someone already sees what's wrong :) track replaygain calculation:
album replaygain calculation:
What's happening is that oggdemux1 can't continue sending audio data because the pipeline is blocked. That in turn is caused by the "could not send sticky events" error before. |
The "could not send sticky events" error might be a red herring. Not sure. Edit: Nevermind. Accidentally installed with python2 instead of python3. So unrelated to the added tracing, but rather caused by different python versions. |
Ok, so according to the tracing I added, the error happens in The associated tracing output with python3 I have is
and with python2 it's
|
Huh! As a GStreamer non-expert, I still don't exactly see what's wrong, but this does really help narrow things down. As far as I can tell, the GStreamerBackend (which I did not write) seems to try to process one track at a time. The As far as I can tell, the error happens when the first track finishes and |
Problem
I tried calculating replaygain values for all albums in my collection and encountered a very weird problem. I tried figuring out myself what's going on, but I'm pretty much stumped. Maybe someone else can point me in a good direction...
yields
Yet
works just fine:
My first thought was corrupted files (I just recently copied them over from a dying ssd). However, nothing seems to indicate the files themselves are corrupt, with the prime example being track replaygain calculation working just fine. I played the file it errors out on and that too worked fine, so did a quick check with
ogginfo
. But it gets even weirder.I noticed that the above error (or similar) happens with pretty much every album I have. However, if I calculate the album replaygain value of multiple albums at once, it will only hit a fraction, but always the first one in the list. So in my example, if "Streets of Gold" is the second album in the processing list, it succeeds.
I have absolutely no idea what could be causing this and gstreamer's debugging output isn't really helping (it's like searching for a needle in a haystack. The debugging output for the above
replaygain -a
command is above 3GB)Setup
My configuration (output of
beet config
) is:The text was updated successfully, but these errors were encountered: