## trm trm — Compute MusicBrainz TRM Id using libmusicbrainz |

## Synopsis

    struct              GstTRM;

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstTRM

## Properties

      "proxy-address"            gchar*                : Read / Write
      "proxy-port"               guint                 : Read / Write

## Description

GstTRM computes MusicBrainz TRM identifiers for audio streams using libmusicbrainz.

A TRM identifier is something like an 'acoustic fingerprint', the aim is to uniquely identify the same song regardless of which source it comes from or which audio format the stream is in.

The TRM element will collect about 30 seconds of audio and let libmusicbrainz calculate a preliminary audio signature from that. That audio signature will then be sent over the internet to a musicbrainz.org server which will calculate the TRM for that signature.

The TRM element will post a tag message with a GST_TAG_MUSICBRAINZ_TRMID tag on the bus once the TRM has been calculated (and also send a tag event with that information downstream).

### Example pipeline

    1
    gst-launch -m filesrc location=somefile.ogg ! decodebin ! audioconvert ! trm ! fakesink

calculate the TRM and print the tag message with the TRM ID.

## Synopsis

### Element Information

plugin | musicbrainz
author | Jeremy Simon <jsimon13@yahoo.fr>
class | Filter/Analyzer/Audio

### Element Pads

name | sink
direction | sink
presence | always
details | audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int){ 8, 16 }, depth=(int){ 8, 16 }, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]

name | src
direction | source
presence | always
details | audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int){ 8, 16 }, depth=(int){ 8, 16 }, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]

## Details

### struct GstTRM

    struct GstTRM;

GStreamer TRM element. This structure is opaque (private).

## Property Details

### The `"proxy-address"` property

      "proxy-address"            gchar*                : Read / Write

proxy address.

Default value: NULL

### The `"proxy-port"` property

      "proxy-port"               guint                 : Read / Write

proxy port.

Allowed values: [1,65535]

Default value: 8080