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

Postpone set metadata until track is ready #1357

Closed
adamcik opened this Issue Dec 6, 2015 · 8 comments

Comments

5 participants
@adamcik
Member

adamcik commented Dec 6, 2015

Doing a set metadata inside change track isn't "safe". We need to postpone this until the track is ready. Without this appsrc based backends never propagate metadata to sinks.

@jodal jodal added this to the v1.2 - Gapless and GStreamer 1.x milestone Dec 6, 2015

@adamcik

This comment has been minimized.

Member

adamcik commented Jan 5, 2016

Idea fix IMO would be to deprecate the set_metadata call and bake this into the appsrc API as a kwarg. But that would be a breaking change.

@jodal

This comment has been minimized.

Member

jodal commented Feb 3, 2016

Assigning to @adamcik as he has a working patch that just needs sanity checking for concurrency issues.

@jodal jodal added the 2 - Working label Feb 3, 2016

@adamcik adamcik modified the milestones: v1.2.1, v1.2 - Gapless and GStreamer 1.x Feb 5, 2016

@Leicas

This comment has been minimized.

Leicas commented Mar 17, 2016

Is there a Fix for this issue ?
I've tried the fix from #79 and it only works when I manually change track and sometime (every 5 or 6 songs) when I let songs automatically change.
Thanks in advance !

@adamcik

This comment has been minimized.

Member

adamcik commented Mar 17, 2016

I haven't completed this yet. We prioritized getting 2.0 out instead of blocking on something which wasn't a regression.

@allquixotic

This comment has been minimized.

allquixotic commented Mar 19, 2016

When using mopidy and mopidy-spotify with git master, I'm having the same problem as Leicas when manually trying to apply my old patch to the new actor.py. I want to use the latest code for numerous good reasons (GST 1.0, many many great bugfixes), but I can't really use it without good support for tags.

Count me among the users waiting for this to land / willing to test any WIP code that will fix this...!

I think it's probably because set_metadata isn't being called once per track change. And I can't keep a reference to the latest track with set_uri (which I guess is being called when the track changes) because set_uri doesn't create or receive a track object.

Just mucking around in the code like a n00b but not seeing any obvious workaround right now. Looks like gapless has buried the place where this needs to be set.

@jodal jodal removed the 2 - Working label Aug 7, 2016

@jodal

This comment has been minimized.

Member

jodal commented Aug 7, 2016

@adamcik Was this fixed by PR #1538?

@adamcik

This comment has been minimized.

Member

adamcik commented Aug 10, 2016

Yes.

@adamcik adamcik closed this Aug 10, 2016

@brownjd

This comment has been minimized.

brownjd commented Aug 24, 2018

What is the right way to set metadata once you add a uri to the tracklist? How can I specify a track name before playing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment