GUPnPDLNAContainerInformation

## GUPnPDLNAContainerInformation GUPnPDLNAContainerInformation — Base class representing container metadata needed for DLNA profiles matching. |

## Synopsis

                        GUPnPDLNAContainerInformation;
                        GUPnPDLNAContainerInformationClass;
    GUPnPDLNAIntValue   gupnp_dlna_container_information_get_mpeg_version
                                                            (GUPnPDLNAContainerInformation *info);
    GUPnPDLNAIntValue   gupnp_dlna_container_information_get_packet_size
                                                            (GUPnPDLNAContainerInformation *info);
    GUPnPDLNAStringValue gupnp_dlna_container_information_get_profile
                                                            (GUPnPDLNAContainerInformation *info);
    GUPnPDLNABoolValue  gupnp_dlna_container_information_is_system_stream
                                                            (GUPnPDLNAContainerInformation *info);
    GUPnPDLNAStringValue gupnp_dlna_container_information_get_variant
                                                            (GUPnPDLNAContainerInformation *info);
    GUPnPDLNAStringValue gupnp_dlna_container_information_get_mime
                                                            (GUPnPDLNAContainerInformation *info);

## Object Hierarchy

      GObject
       +----GUPnPDLNAContainerInformation

## Description

GUPnPDLNAContainerInformation holds all container metadatas important for matching profiles. Note that it does not mean all data should be provided for every media file as in some cases it does not make sense (e.g. MPEG version does not make sense for WMA media files).

For metadata attributes that do not exist in current media file an unset value should be returned. For metadata attributes that do exist a set value with proper underlying value should be returned. In case metadata extractor has completely no clue how to extract some metadata attribute at all, an unsupported value should be returned. Note that unsupported values should be a temporary mean before fixing the multimedia framework to be able to extract such attribute.

Note that `gupnp_dlna_container_information_get_mime()` should always return a set value. Otherwise it is highly probably that the file will not match against any DLNA profile.

## Details

### GUPnPDLNAContainerInformation

    typedef struct _GUPnPDLNAContainerInformation GUPnPDLNAContainerInformation;

### GUPnPDLNAContainerInformationClass

    typedef struct {
            GObjectClass parent_class;

            GUPnPDLNAIntValue
            (* get_mpeg_version) (GUPnPDLNAContainerInformation *info);

            GUPnPDLNAIntValue
            (* get_packet_size) (GUPnPDLNAContainerInformation *info);

            GUPnPDLNAStringValue
            (* get_profile) (GUPnPDLNAContainerInformation *info);

            GUPnPDLNABoolValue
            (* is_system_stream) (GUPnPDLNAContainerInformation *info);

            GUPnPDLNAStringValue
            (* get_variant) (GUPnPDLNAContainerInformation *info);

            GUPnPDLNAStringValue
            (* get_mime) (GUPnPDLNAContainerInformation *info);

            gpointer _reserved[12];
    } GUPnPDLNAContainerInformationClass;

GObjectClass `parent_class`; | Parent class.
`get_mpeg_version` () | This is called by GUPnPDLNAProfileGuesser to get an MPEG version.
`get_packet_size` () | This is called by GUPnPDLNAProfileGuesser to get a packet size.
`get_profile` () | This is called by GUPnPDLNAProfileGuesser to get a profile.
`is_system_stream` () | This is called by GUPnPDLNAProfileGuesser to get whether it is a system stream
`get_variant` () | This is called by GUPnPDLNAProfileGuesser to get a variant.
`get_mime` () | This is called by GUPnPDLNAProfileGuesser to get a MIME type.
gpointer `_reserved`[12]; | Padding. Ignore it.

### gupnp_dlna_container_information_get_mpeg_version ()

    GUPnPDLNAIntValue   gupnp_dlna_container_information_get_mpeg_version
                                                            (GUPnPDLNAContainerInformation *info);

`info` : | A GUPnPDLNAContainerInformation object.
Returns : | An MPEG version.

### gupnp_dlna_container_information_get_packet_size ()

    GUPnPDLNAIntValue   gupnp_dlna_container_information_get_packet_size
                                                            (GUPnPDLNAContainerInformation *info);

`info` : | A GUPnPDLNAContainerInformation object.
Returns : | A packet size.

### gupnp_dlna_container_information_get_profile ()

    GUPnPDLNAStringValue gupnp_dlna_container_information_get_profile
                                                            (GUPnPDLNAContainerInformation *info);

`info` : | A GUPnPDLNAContainerInformation object.
Returns : | A profile.

### gupnp_dlna_container_information_is_system_stream ()

    GUPnPDLNABoolValue  gupnp_dlna_container_information_is_system_stream
                                                            (GUPnPDLNAContainerInformation *info);

`info` : | A GUPnPDLNAContainerInformation object.
Returns : | Whether it is system stream.

### gupnp_dlna_container_information_get_variant ()

    GUPnPDLNAStringValue gupnp_dlna_container_information_get_variant
                                                            (GUPnPDLNAContainerInformation *info);

`info` : | A GUPnPDLNAContainerInformation object.
Returns : | A variant.

### gupnp_dlna_container_information_get_mime ()

    GUPnPDLNAStringValue gupnp_dlna_container_information_get_mime
                                                            (GUPnPDLNAContainerInformation *info);

`info` : | A GUPnPDLNAContainerInformation object.
Returns : | A MIME type.

## See Also

GUPnPDLNABoolValue, GUPnPDLNAFractionValue, GUPnPDLNAIntValue, GUPnPDLNAStringValue