nega0 / pianobarfly

pandora2[mp3|m4a]
https://github.com/nega0/pianobarfly
Other
62 stars 31 forks source link

Could not overwrite the audio file (18:Invalid cross-device link) #19

Closed dorphell closed 11 years ago

dorphell commented 12 years ago

Some change made in the last month or so is causing this error:

Could not overwrite the audio file (18:Invalid cross-device link). Failed to write the tag.

I'm on the current git branch from today (2011.12.25).

I don't know if anyone else is getting this specific error but I don't have a unique audio_file_dir path. No hard or soft links in the path. I know the same path used to work fine for tagging in September.

Note that pianobarfly has no issue saving the audio file, just tagging at the end.

I suspect this is an upstream defect with rename() in fly_id3.c. Can anyone reproduce this?

dorphell commented 12 years ago

Update...

After a closer look, I see that fly_id3.c uses /tmp which is indeed a different filesystem from my audio_file_dir destiation.

I suggest we use the same base directory (audio_file_dir) and just create a temp file in there. It's only used for tagging so it's present for less than a second.

llebdrakcap commented 12 years ago

I'm having the same issue. I tried copying the original revision code into fly_id3.c and rebuilding. Still had the error.

llebdrakcap commented 12 years ago

i was able to solve the (18:Invalid cross-device link) issue by undoing silverfunk's changes to the fly_id3.c and fly_mp4.c files in src directory. Then rebuilding. ID3 tagging works fine after reverting the code in those two files. I do not code in C, so I don't trust myself correct the code.

Hope this helps.

nega0 commented 12 years ago

i use mkstemp() w/ settings->audioFileDir (audio_file_dir from ~/.config/pianobarfly/config) on my master branch. See how that works for you.

brijam commented 12 years ago

Is there a fix for this? The latest revision still has this error. Thanks!

nega0 commented 12 years ago

What do you mean by "latest revision"?

brijam commented 12 years ago

Ah sorry, should have been more clear. I just did a git clone yesterday of https://github.com/ghuntley/pianobarfly.git

nega0 commented 12 years ago

the fix is on the "develop" branch

brijam commented 12 years ago

Sweet. I can confirm that fix works on my end. Thanks!