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 644875 - [matroskademux] can't read the ARTIST tag in a Matroska file
[matroskademux] can't read the ARTIST tag in a Matroska file
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other Linux
: Normal normal
: 0.10.29
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-03-16 04:38 UTC by Morita Sho
Modified: 2011-06-04 20:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
matroskaparse: Use ARTIST tag instead of AUTHOR for GST_TAG_ARTIST (1.05 KB, patch)
2011-06-04 20:32 UTC, Debarshi Ray
none Details | Review

Description Morita Sho 2011-03-16 04:38:14 UTC
Hi,

I'm using gstreamer on Debian GNU/Linux unstable.
I noticed gstreamer (matroskademux) can't read the ARTIST tag in a Matroska file.

I made a Matroska file with some tags using mkvmerge.
mkvinfo shown all the tags I added to the file.
But gst-launch could not find the ARTIST tag while other tags could be found properly.

How to reproduce the problem:

1) Here is a xml file to describe the tags.

  % cat tags.xml 
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE Tags SYSTEM "matroskatags.dtd">
  <Tags>
    <Tag>
      <Simple>
        <Name>ARTIST</Name>
        <String>ARTIST string</String>
      </Simple>
      <Simple>
        <Name>GENRE</Name>
        <String>GENRE string</String>
      </Simple>
      <Simple>
        <Name>TITLE</Name>
        <String>TITLE string</String>
      </Simple>
      <Simple>
        <Name>ALBUM</Name>
        <String>ALBUM string</String>
      </Simple>
    </Tag>
  </Tags>

2) Then I made a file "test.mkv" with tags.xml as following:

  % mkvmerge -o test.mkv --tags 0:tags.xml /usr/share/sounds/startup3.wav
  mkvmerge v4.6.0 ('Still Crazy After All These Years') built on Mar 11 2011 08:54:33
  '/usr/share/sounds/startup3.wav': Using the WAV demultiplexer.
  '/usr/share/sounds/startup3.wav' track 0: Using the PCM output module.
  The file 'test.mkv' has been opened for writing.
  Progress: 100%
  The cue entries (the index) are being written...
  Muxing took 0 seconds.

3) The tags ARTIST, GENRE, TITLE and ALBUM are correctly added to the file test.mkv.

  % mkvinfo -t test.mkv
  + EBML head
  |+ EBML version: 1
  |+ EBML read version: 1
  |+ EBML maximum ID length: 4
  |+ EBML maximum size length: 8
  |+ Doc type: matroska
  |+ Doc type version: 2
  |+ Doc type read version: 2
  ...snip...
  |+ Tags
  | + Tag
  |  + Simple
  |   + Name: ARTIST
  |   + String: ARTIST string
  |   + TagLanguage: und
  |   + DefaultLanguage: 1
  |  + Simple
  |   + Name: GENRE
  |   + String: GENRE string
  |   + TagLanguage: und
  |   + DefaultLanguage: 1
  |  + Simple
  |   + Name: TITLE
  |   + String: TITLE string
  |   + TagLanguage: und
  |   + DefaultLanguage: 1
  |  + Simple
  |   + Name: ALBUM
  |   + String: ALBUM string
  |   + TagLanguage: und
  |   + DefaultLanguage: 1
  |  + Targets
  |   + TrackUID: 3391929919
  |   + TargetTypeValue: 50
  Statistics for track number 1: number of blocks: 26; size in bytes: 1768432;
  duration in seconds: 5.2; approximate bitrate in bits/second: 2720667

4) However, gst-launch found the tags GENRE, TITLE and ALBUM only.
It seems that matroskademux could not find the ARTIST tag.

  % gst-launch -t filesrc location=./test.mkv ! matroskademux ! fakesink
  Setting pipeline to PAUSED ...
  Pipeline is PREROLLING ...
  FOUND TAG      : found by element "matroskademux0".
       audio codec: Raw 16-bit PCM audio
     language code: und
  FOUND TAG      : found by element "matroskademux0".
             genre: GENRE string
             title: TITLE string
             album: ALBUM string
  container format: Matroska
  Pipeline is PREROLLED ...
  Setting pipeline to PLAYING ...
  New clock: GstSystemClock
  Got EOS from element "pipeline0".
  Execution ended after 5711643 ns.
  Setting pipeline to PAUSED ...
  Setting pipeline to READY ...
  Setting pipeline to NULL ...
  Freeing pipeline ...


According to the Matroska Tag Specifications[1], ARTIST tag is listed in the Official tags category.
It would be nice if matroskademux can read the ARTIST tag.
[1] Tag Specifications | Matroska
    http://www.matroska.org/technical/specs/tagging/index.html

I also tested with gstreamer 0.10.32, but the problem seems not be fixed.

Regards,
Comment 1 Sebastian Dröge (slomo) 2011-03-16 08:39:58 UTC
commit 7db758164dade4d906754d5b750450769d59427b
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed Mar 16 09:37:58 2011 +0100

    matroskamux: Use ARTIST instead of AUTHOR for GST_TAG_ARTIST

commit 52aa27f997f117c0e456596df96713e9901eb959
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed Mar 16 09:35:50 2011 +0100

    matroskademux: Use ARTIST Matroska tag instead of AUTHOR for GST_TAG_ARTIST
    
    AUTHOR only existed in an old version of the spec and ARTIST is
    the new replacement for this. We are still reading both to still
    be compatible with old files.
    
    Fixes bug #644875.
Comment 2 Debarshi Ray 2011-06-04 20:32:51 UTC
Created attachment 189232 [details] [review]
matroskaparse: Use ARTIST tag instead of AUTHOR for GST_TAG_ARTIST
Comment 3 David Schleef 2011-06-04 20:56:12 UTC
pushed.