Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
GStreamer Will Not Play Wavpack Files, Wrong Mime Type?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
markus.obsidian
n00b
n00b


Joined: 23 Jan 2014
Posts: 3

PostPosted: Thu Jan 23, 2014 5:19 pm    Post subject: GStreamer Will Not Play Wavpack Files, Wrong Mime Type? Reply with quote

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
View user's profile Send private message
Leio
Developer
Developer


Joined: 27 Feb 2003
Posts: 494
Location: Estonia

PostPosted: Thu Jan 30, 2014 12:40 am    Post subject: Reply with quote

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
View user's profile Send private message
markus.obsidian
n00b
n00b


Joined: 23 Jan 2014
Posts: 3

PostPosted: Thu Jan 30, 2014 1:51 pm    Post subject: Reply with quote

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
View user's profile Send private message
Leio
Developer
Developer


Joined: 27 Feb 2003
Posts: 494
Location: Estonia

PostPosted: Wed Feb 12, 2014 3:22 am    Post subject: Reply with quote

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
View user's profile Send private message
markus.obsidian
n00b
n00b


Joined: 23 Jan 2014
Posts: 3

PostPosted: Wed Feb 12, 2014 2:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
Leio
Developer
Developer


Joined: 27 Feb 2003
Posts: 494
Location: Estonia

PostPosted: Wed Feb 26, 2014 3:06 am    Post subject: Reply with quote

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
View user's profile Send private message
trilepton
n00b
n00b


Joined: 25 Sep 2017
Posts: 1

PostPosted: Mon Sep 25, 2017 5:20 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum