View previous topic :: View next topic |
Author |
Message |
markus.obsidian n00b
Joined: 23 Jan 2014 Posts: 3
|
Posted: Thu Jan 23, 2014 5:19 pm Post subject: GStreamer Will Not Play Wavpack Files, Wrong Mime Type? |
|
|
I am using GStreamer with Pulse. For some reason, GStreamer refuses to play WavPack files. I first noticed the issue in Clemintine.
Code: | $ gst-launch-0.10 playbin uri=file:///home/markus/mywavpack.wv
Setting pipeline to PAUSED ...
** Message: don't know how to handle application/x-ms-dos-executable
Pipeline is PREROLLING ...
Missing element: application/x-ms-dos-executable decoder
ERROR: from element /GstPlayBin:playbin0: You do not have a decoder installed to handle this file. You might need to install the necessary plugins.
Additional debug info:
gstplaybasebin.c(2323): prepare_output (): /GstPlayBin:playbin0
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
|
Now i noticed that GStreamer is detecting a mime type of "application/x-ms-dos-executable", which is definitely not right. When i run file -i, sure enough, i get the wrong mime type. Some files get "application/x-dosexec"; other files, "application/octetstream"
Code: | $ file -i mywavpack.wv
mywavpack.wv: application/x-dosexec; charset=unknown |
But mimetype seems to detect the correct mime type:
Code: | $ mimetype mywavpack.wv
mywavpack.wv: audio/x-wavpack |
I am not sure exactly what i am looking for in the mime database, but the WavPack type seems to be registered correctly.
Code: | $ cat /usr/share/mime/globs | grep -i wavpack
audio/x-wavpack-correction:*.wvc
audio/x-wavpack:*.wvp
audio/x-wavpack:*.wv
$ cat /usr/share/mime/types | grep -i wavpack
audio/x-wavpack
audio/x-wavpack-correction |
Here's all the info i can think of.
gst-inspect-0.10
http://pastebin.com/0RPyCx6b
emerge --info gstreamer:0.10
http://pastebin.com/y47UFD6i
emerge --info wavpack
http://pastebin.com/CjrFQb7n
emerge --info gst-plugins-wavpack:0.10
http://pastebin.com/VYDzLfJi
Any idea what piece i am missing?
Thanks for your time. |
|
Back to top |
|
|
Leio Developer
Joined: 27 Feb 2003 Posts: 494 Location: Estonia
|
Posted: Thu Jan 30, 2014 12:40 am Post subject: |
|
|
I wouldn't be surprised if these don't help you out in getting the file to play, but:
1) Don't use playbin with gstreamer-0.10, use playbin2
2) Use gstreamer 1.x instead in the first place (there playbin2 is moved to playbin and the old 0.10 playbin simply deleted, as backwards compatibility was broken anyways). _________________ GNOME team lead; GStreamer; MIPS/ARM64 |
|
Back to top |
|
|
markus.obsidian n00b
Joined: 23 Jan 2014 Posts: 3
|
Posted: Thu Jan 30, 2014 1:51 pm Post subject: |
|
|
Many thanks for your reply.
I am afraid both playbin2 & gstreamer-1.0 also refuse to play the wavpack file. Also, the end result is to get this to work with Clementine & Phonom, so i think i am stuck with gstreamer-0.10. |
|
Back to top |
|
|
Leio Developer
Joined: 27 Feb 2003 Posts: 494 Location: Estonia
|
Posted: Wed Feb 12, 2014 3:22 am Post subject: |
|
|
Is a non-working wavpack file shareable? I believe I have a couple samples somewhere and those used to work, so would be good to have something problematic in my testing set. _________________ GNOME team lead; GStreamer; MIPS/ARM64 |
|
Back to top |
|
|
markus.obsidian n00b
Joined: 23 Jan 2014 Posts: 3
|
Posted: Wed Feb 12, 2014 2:20 pm Post subject: |
|
|
No, i am afraid the files cannot be shared
I downloaded some test files from http://wavpack.gl.tter.org/. To my surprise, i can play them all. So i guess something is screwed up with my files themselves. Which is a little strange because foobar2000 in Windows can play them fine.
Oh, well... at least my system is probably not screwed up. |
|
Back to top |
|
|
Leio Developer
Joined: 27 Feb 2003 Posts: 494 Location: Estonia
|
Posted: Wed Feb 26, 2014 3:06 am Post subject: |
|
|
markus.obsidian wrote: | No, i am afraid the files cannot be shared |
That's most unfortunate, but of course understandable.
Perhaps if you opened an actual bug report, either in Gentoo, or perhaps even upstream if you've tested with gstreamer 1.2.3, we could try to narrow the issue down with debugging instructions in a slow process, and get this figured out. It seems the "MIME" stuff seems of interest to narrow down at first. Even I might have some ideas on how to narrow this down, without access to the files, after some poking around in the relevant code, but for that I'd prefer a bugzilla ticket going on for the debugging exchanges. _________________ GNOME team lead; GStreamer; MIPS/ARM64 |
|
Back to top |
|
|
trilepton n00b
Joined: 25 Sep 2017 Posts: 1
|
Posted: Mon Sep 25, 2017 5:20 am Post subject: |
|
|
This thread is quite old but I had the same issue (but on Linux Mint not Gentoo) so I wanted to post the solution for anyone else that might be searching for an answer. The symptoms were similar to OP's, mime type discrepancies, and ability to play file with Foobar on Windows but not on linux.
Inspecting the first 500 bytes of the audio file with a hex editor, I saw the message "This program must be run under Win32." After digging further, it turns out Wavpack has a feature to create a self-extracting archive. According to http://www.wavpack.com/397/wavpack_doc.htm :
Quote: | WavPack can also be used to create self-extracting archives. In this way it is possible to distribute compressed audio without having the recipient install any other programs (or have any dlls) to unpack the archives. When the .exe file is run (directly or by double-clicking) it extracts the original .wav file into the same directory. |
To recover the original audio file, you can decode it to WAV using wvunpack (even on linux machine).
Code: | wvunpack thefile.wv |
At this point, you have a WAV file that you can re-encode to wavpack or another lossless format such as FLAC. |
|
Back to top |
|
|
|