After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 670286 - wavparse: can not read some tags
wavparse: can not read some tags
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other Linux
: Normal normal
: 0.10.32
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-02-17 13:55 UTC by Mehmet Giritli
Modified: 2014-07-28 10:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
head --bytes=990k foo.wav > start.wav (990.00 KB, application/octet-stream)
2012-02-17 13:57 UTC, Mehmet Giritli
Details
dbg log (989.00 KB, application/octet-stream)
2013-04-01 18:43 UTC, Mehmet Giritli
Details

Description Mehmet Giritli 2012-02-17 13:55:32 UTC
As I also noted in bug 423919, some riff tags in wav files are not read. One such file is attached. What I can see are: artist/title/comment/genre fields and what I can not see (in rhythmbox) are: album/track nr/date fields (despite being set).

I added these tags via the mediamonkey windows program as I couldn't find any other on linux. 

I hope writing these tags into wav will be possible with gstreamer as well, since there are absolutely no other programs that can do that on linux and in case of dts or DD encoded cds, it is very annoying to not have tags in your collection...
Comment 1 Mehmet Giritli 2012-02-17 13:57:11 UTC
Created attachment 207852 [details]
head --bytes=990k foo.wav > start.wav
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2012-03-04 21:00:47 UTC
"strings ~/temp/start.wav" does not show anything useful. Could you ev. attach a full file and to be sure also give an example what is missing "e.g. the expected album name").
Comment 3 Tim-Philipp Müller 2012-03-04 21:41:06 UTC
Looks like those tags are not part of the normal wav/riff headers.

Could you make the whole file available somewhere?
Comment 4 Mehmet Giritli 2012-03-08 19:27:34 UTC
I uploaded one such file. Sorry it took some time as I have a bad connection.

http://www.2shared.com/file/XTZ8R7L6/trackwav.html

Whats working and whats not is explained precisely in the first comment.
Comment 5 Tim-Philipp Müller 2012-03-08 19:44:59 UTC
Many thanks, I think we've got all we need now.
Comment 6 Tim-Philipp Müller 2012-03-09 21:07:16 UTC
Pushed these:

commit b2d066f49cd07a590440d009b05a1b1bd6d703bc
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Fri Mar 9 20:54:00 2012 +0000

    riff: extract track number and album artist tags from INFO chunks
    
    https://bugzilla.gnome.org/show_bug.cgi?id=670286

commit 5cb1cd2d540ef434c6916c917054b72f7ed5ae72
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Fri Mar 9 20:53:27 2012 +0000

    riff: when reading tags from INFO chunk, accept lower-case IDs as well


Now I get:

FOUND TAG      : found by element "wavparse0".
     audio codec: dts
           title: Symphony No. 9 in D minor ('Choral'), Op. 125: II. Molto vivace - Presto
          artist: Ludwig van Beethoven
           genre: Classical
         comment: Performer: Katarina Karnéus, Helena Juntunen, Daniel Norman
Orchestra: Minnesota Orchestra
         encoder: gvfs-cdda using libcdio 0.82 x86_64-pc-linux-gnu
    album artist: Ludwig van Beethoven
    track number: 2

I do not see any 'album' information in the INFO chunk:


069e4e52  4c 49 53 54 a2 01 00 00  49 4e 46 4f 49 4e 41 4d  |LIST....INFOINAM|
069e4e62  49 00 00 00 53 79 6d 70  68 6f 6e 79 20 4e 6f 2e  |I...Symphony No.|
069e4e72  20 39 20 69 6e 20 44 20  6d 69 6e 6f 72 20 28 27  | 9 in D minor ('|
069e4e82  43 68 6f 72 61 6c 27 29  2c 20 4f 70 2e 20 31 32  |Choral'), Op. 12|
069e4e92  35 3a 20 49 49 2e 20 4d  6f 6c 74 6f 20 76 69 76  |5: II. Molto viv|
069e4ea2  61 63 65 20 2d 20 50 72  65 73 74 6f 00 00 49 41  |ace - Presto..IA|
069e4eb2  52 54 15 00 00 00 4c 75  64 77 69 67 20 76 61 6e  |RT....Ludwig van|
069e4ec2  20 42 65 65 74 68 6f 76  65 6e 00 00 49 50 52 44  | Beethoven..IPRD|
069e4ed2  1a 00 00 00 42 65 65 74  68 6f 76 65 6e 3a 20 53  |....Beethoven: S|
069e4ee2  79 6d 70 68 6f 6e 79 20  4e 6f 2e 20 39 00 49 47  |ymphony No. 9.IG|
069e4ef2  4e 52 0a 00 00 00 43 6c  61 73 73 69 63 61 6c 00  |NR....Classical.|
069e4f02  49 43 4d 54 5d 00 00 00  50 65 72 66 6f 72 6d 65  |ICMT]...Performe|
069e4f12  72 3a 20 4b 61 74 61 72  69 6e 61 20 4b 61 72 6e  |r: Katarina Karn|
069e4f22  c3 a9 75 73 2c 20 48 65  6c 65 6e 61 20 4a 75 6e  |..us, Helena Jun|
069e4f32  74 75 6e 65 6e 2c 20 44  61 6e 69 65 6c 20 4e 6f  |tunen, Daniel No|
069e4f42  72 6d 61 6e 0d 0a 4f 72  63 68 65 73 74 72 61 3a  |rman..Orchestra:|
069e4f52  20 4d 69 6e 6e 65 73 6f  74 61 20 4f 72 63 68 65  | Minnesota Orche|
069e4f62  73 74 72 61 00 00 49 53  46 54 31 00 00 00 67 76  |stra..ISFT1...gv|
069e4f72  66 73 2d 63 64 64 61 20  75 73 69 6e 67 20 6c 69  |fs-cdda using li|
069e4f82  62 63 64 69 6f 20 30 2e  38 32 20 78 38 36 5f 36  |bcdio 0.82 x86_6|
069e4f92  34 2d 70 63 2d 6c 69 6e  75 78 2d 67 6e 75 00 00  |4-pc-linux-gnu..|
069e4fa2  49 54 43 48 1b 00 00 00  4f 73 6d 6f 20 56 c3 a4  |ITCH....Osmo V..|
069e4fb2  6e 73 6b c3 a4 2c 20 4f  73 6d 6f 20 56 61 6e 73  |nsk.., Osmo Vans|
069e4fc2  6b 61 00 00 69 61 61 72  15 00 00 00 4c 75 64 77  |ka..iaar....Ludw|
069e4fd2  69 67 20 76 61 6e 20 42  65 65 74 68 6f 76 65 6e  |ig van Beethoven|
069e4fe2  00 00 69 74 72 6b 02 00  00 00 32 00 69 72 76 61  |..itrk....2.irva|
069e4ff2  05 00 00 00 2d 31 30 30  00 00                    |....-100..|
069e4ffc

What should the album information be?

I also don't see any date info anywhere:

00000000  52 49 46 46 f4 4f 9e 06  57 41 56 45 66 6d 74 20  |RIFF.O..WAVEfmt |
00000010  10 00 00 00 01 00 02 00  44 ac 00 00 10 b1 02 00  |........D.......|
00000020  04 00 10 00 4a 55 4e 4b  3e 00 00 00 00 00 00 00  |....JUNK>.......|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000060  00 00 00 00 00 00 00 00  00 00 64 61 74 61 e0 4d  |..........data.M|
Comment 7 Tim-Philipp Müller 2012-03-14 13:33:22 UTC
Ok, I'm closing this as FIXED, since we now extract all metadata (afaics), apart from the replaygain thing which contains a nonsensical value. Feel free to re-open or file a new bug if there's more to extract.
Comment 8 Mehmet Giritli 2012-03-18 10:30:19 UTC
Album info is set and it is:

Beethoven: Symphony No. 9
Comment 9 Tim-Philipp Müller 2012-03-18 22:58:11 UTC
> Album info is set and it is: 
> Beethoven: Symphony No. 9

Ah, right, missed that. Added as well, thanks:

 commit fe0e2d65e190b816959c624149a6dc48b7118796
 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
 Date:   Sun Mar 18 22:56:58 2012 +0000

    riff: map IPRD ("product") tag to GST_TAG_ALBUM
    
    http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm
    
    https://bugzilla.gnome.org/show_bug.cgi?id=670286
Comment 10 Mehmet Giritli 2013-04-01 08:27:29 UTC
I wanted to try this out running on gst-plugins-good-1.0.5 and I don't see any difference at all. I'm assuming that these patches are already included in 1.0.5? RB doesn't find the tags which patches are supposed to fix...
Comment 11 Tim-Philipp Müller 2013-04-01 16:53:39 UTC
Could you please run this command on the file from comment #1?

 $ gst-launch-1.0 -t playbin uri=file:///path/to/head.wav

and show us what that outputs?
Comment 12 Mehmet Giritli 2013-04-01 17:39:08 UTC
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
FOUND TAG      : found by element "audiosink-actual-sink-pulse".
     audio codec: dts
         bitrate: 1411200
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
FOUND TAG      : found by element "audiosink-actual-sink-pulse".
     audio codec: dts
         bitrate: 1411200
 minimum bitrate: 1411200
 maximum bitrate: 1411200
Got EOS from element "playbin0".
Execution ended after 5737581617 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 13 Tim-Philipp Müller 2013-04-01 18:34:54 UTC
Could you run this then:

 $ GST_DEBUG=*:6 gst-launch-1.0 -t playbin uri=file:///path/to/head.wav 2>dbg.log
 (then hit control-C as soon as playback starts)
 $ xz -9 dbg.log

and attach dbg.log.xz
Comment 14 Mehmet Giritli 2013-04-01 18:43:57 UTC
Created attachment 240322 [details]
dbg log

No problem. Debug log attached...
Comment 15 Tim-Philipp Müller 2013-04-01 19:13:02 UTC
It works fine for me with 1.0.5 as in debian sid.

What is your version of the gst-plugins-base libraries (incl. libgstriff-1.0.so) ?

On a debian/ubuntu system this would show you:

 $ dpkg -l libgstreamer*1.0*

I wonder if maybe you didn't upgrade libgstriff-1.0.so
Comment 16 Mehmet Giritli 2013-04-02 07:31:52 UTC
I'm on gentoo so that tool is not available for me. I hope a file listing will suffice?

ls -l /usr/lib64/libgstreamer-*

lrwxrwxrwx 1 root root      27 Dec  9 11:09 /usr/lib64/libgstreamer-0.10.so -> libgstreamer-0.10.so.0.30.0
lrwxrwxrwx 1 root root      27 Dec  9 11:09 /usr/lib64/libgstreamer-0.10.so.0 -> libgstreamer-0.10.so.0.30.0
-rwxr-xr-x 1 root root  963616 Dec  9 11:09 /usr/lib64/libgstreamer-0.10.so.0.30.0
lrwxrwxrwx 1 root root      25 Feb 22 11:29 /usr/lib64/libgstreamer-1.0.so -> libgstreamer-1.0.so.0.5.0
lrwxrwxrwx 1 root root      25 Feb 22 11:29 /usr/lib64/libgstreamer-1.0.so.0 -> libgstreamer-1.0.so.0.5.0
-rwxr-xr-x 1 root root 1012928 Feb 22 11:29 /usr/lib64/libgstreamer-1.0.so.0.5.0

ls -l /usr/lib64/libgstriff*

lrwxrwxrwx 1 root root    25 Dec  9 11:16 /usr/lib64/libgstriff-0.10.so -> libgstriff-0.10.so.0.25.0
lrwxrwxrwx 1 root root    25 Dec  9 11:16 /usr/lib64/libgstriff-0.10.so.0 -> libgstriff-0.10.so.0.25.0
-rwxr-xr-x 1 root root 51408 Dec  9 11:16 /usr/lib64/libgstriff-0.10.so.0.25.0
lrwxrwxrwx 1 root root    23 Feb 22 11:31 /usr/lib64/libgstriff-1.0.so -> libgstriff-1.0.so.0.5.0
lrwxrwxrwx 1 root root    23 Feb 22 11:31 /usr/lib64/libgstriff-1.0.so.0 -> libgstriff-1.0.so.0.5.0
-rwxr-xr-x 1 root root 51536 Feb 22 11:31 /usr/lib64/libgstriff-1.0.so.0.5.0
Comment 17 Mehmet Giritli 2014-07-28 10:00:09 UTC
I can see all the info now, closing. Thanks Tim.