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 706061 - typefind: improved and extended typefinder for module music
typefind: improved and extended typefinder for module music
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: 1.1.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-08-15 11:45 UTC by Carlos Rafael Giani
Modified: 2014-01-20 17:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
typefinder improvements for module music formats (11.61 KB, patch)
2013-08-15 11:45 UTC, Carlos Rafael Giani
needs-work Details | Review
test.mp4 (1.17 MB, application/octet-stream)
2013-08-16 10:14 UTC, Sebastian Dröge (slomo)
  Details
typefinder improvements for module music formats (11.70 KB, patch)
2013-08-18 21:57 UTC, Carlos Rafael Giani
committed Details | Review

Description Carlos Rafael Giani 2013-08-15 11:45:37 UTC
Created attachment 251719 [details] [review]
typefinder improvements for module music formats

Currently, all of the formats (MOD, XM, S3M, IT, PSM, ...) are labeled as "audio/x-mod". However, different module players support different sets of formats. Therefore, it would be better if the caps described the format in more detail.

This patch improves the audio/x-mod typefind function in two ways: first, it adds a "type" field to the caps, containing the type of module format as a string. Example: "audio/x-mod, type: (string)xm". Second, it can now recognize more module formats.

The new typefind code was tested against a large subset of ftp.modland.com , and worked well.
Comment 1 Sebastian Dröge (slomo) 2013-08-16 07:35:25 UTC
Author: Carlos Rafael Giani <dv@pseudoterminal.org>
Date:   Tue Aug 13 23:18:34 2013 +0200

    typefind: improved and extended typefinder for module music formats
    
    introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
    
    https://bugzilla.gnome.org/show_bug.cgi?id=706061
Comment 2 Sebastian Dröge (slomo) 2013-08-16 10:12:37 UTC
Reverted because it causes some MP4 files to be detected as mod files.
Comment 3 Sebastian Dröge (slomo) 2013-08-16 10:14:08 UTC
Created attachment 251811 [details]
test.mp4
Comment 4 Carlos Rafael Giani 2013-08-18 21:57:30 UTC
Created attachment 252164 [details] [review]
typefinder improvements for module music formats
Comment 5 Sebastian Dröge (slomo) 2013-08-19 08:33:35 UTC
commit e8e8fa22f35d403e99cffbba23531d501ae1b5a8
Author: Carlos Rafael Giani <dv@pseudoterminal.org>
Date:   Fri Aug 16 13:22:33 2013 +0200

    typefind: improved and extended typefinder for module music formats
    
    introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
    
    https://bugzilla.gnome.org/show_bug.cgi?id=706061
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2014-01-08 22:17:34 UTC
modplug still has this on the caps:
      audio/x-mod
      audio/x-xm
      audio/x-it
      audio/x-s3m
      audio/x-stm
This should be updated too, right? According to http://sourceforge.net/projects/libmodplug/
Supported module types: .669, .amf, .ams, .dbm, .dmf, .dsm, .far, .it, .j2b, .mdl, .med, .mod, .mt2, .mtm, .okt, .psm, .ptm, .s3m, .stm, .ult, .umx, .xm

The one we're missing in the typefinder is .umx (http://en.wikipedia.org/wiki/Unreal_Tournament_soundtracks) :) - so really nice job!

Also having descriptions in
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/pbutils/descriptions.c
would be nice.

Are the new caps used somewhere already?
Comment 7 Carlos Rafael Giani 2014-01-08 22:26:37 UTC
I wasn't sure about updating modplug's caps. I agree it would be best to update them, but I was worried about backwards compatibility. When is it okay to modify caps? Between major version changes (like 1.2 -> 1.4), or minor ones?

I actually do have code for .umx . UMX is just an Unreal package which contains one field (module music). I wrote an umxparse element with an associated typefinder. It is part of my nonstream-audio project over at https://github.com/dv1/gst-nonstream-audio . This project aims to provide a baseclass for "nonstream" audio, that is, audio data that is loaded/parsed in full during an initialization step, and afterwards playback commences. In other words, the polar opposite of streaming music.

Ideally, I would submit this to -bad eventually. OpenMPT would replace modplug (it is anyway based off modplug, and unlike modplug, it is actively being maintained). However, it needs some more work.

The umxparse element and umx typefinder are quite separate though. I could submit these already.
Comment 8 Carlos Rafael Giani 2014-01-20 17:12:11 UTC
(In reply to comment #6)
> modplug still has this on the caps:
>       audio/x-mod
>       audio/x-xm
>       audio/x-it
>       audio/x-s3m
>       audio/x-stm
> This should be updated too, right? According to
> http://sourceforge.net/projects/libmodplug/
> Supported module types: .669, .amf, .ams, .dbm, .dmf, .dsm, .far, .it, .j2b,
> .mdl, .med, .mod, .mt2, .mtm, .okt, .psm, .ptm, .s3m, .stm, .ult, .umx, .xm
> 
> The one we're missing in the typefinder is .umx
> (http://en.wikipedia.org/wiki/Unreal_Tournament_soundtracks) :) - so really
> nice job!
> 
> Also having descriptions in
> http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/pbutils/descriptions.c
> would be nice.
> 
> Are the new caps used somewhere already?

See https://bugzilla.gnome.org/show_bug.cgi?id=722618