GUPnPDLNAVideoInformation

## GUPnPDLNAVideoInformation GUPnPDLNAVideoInformation — Base class representing video metadata needed for DLNA profiles matching. |

## Synopsis

                        GUPnPDLNAVideoInformation;
                        GUPnPDLNAVideoInformationClass;
    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_bitrate
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAFractionValue gupnp_dlna_video_information_get_framerate
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_height
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNABoolValue  gupnp_dlna_video_information_is_interlaced
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAStringValue gupnp_dlna_video_information_get_level
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_mpeg_version
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAFractionValue gupnp_dlna_video_information_get_pixel_aspect_ratio
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAStringValue gupnp_dlna_video_information_get_profile
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNABoolValue  gupnp_dlna_video_information_is_system_stream
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_width
                                                            (GUPnPDLNAVideoInformation *info);
    GUPnPDLNAStringValue gupnp_dlna_video_information_get_mime
                                                            (GUPnPDLNAVideoInformation *info);

## Object Hierarchy

      GObject
       +----GUPnPDLNAVideoInformation

## Description

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

For metadata attributes that do not exist in current video 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_video_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

### GUPnPDLNAVideoInformation

    typedef struct _GUPnPDLNAVideoInformation GUPnPDLNAVideoInformation;

### GUPnPDLNAVideoInformationClass

    typedef struct {
            GObjectClass parent_class;

            GUPnPDLNAIntValue
            (* get_bitrate) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAFractionValue
            (* get_framerate) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAIntValue
            (* get_height) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNABoolValue
            (* is_interlaced) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAStringValue
            (* get_level) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAIntValue
            (* get_mpeg_version) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAFractionValue
            (* get_pixel_aspect_ratio) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAStringValue
            (* get_profile) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNABoolValue
            (* is_system_stream) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAIntValue
            (* get_width) (GUPnPDLNAVideoInformation *info);

            GUPnPDLNAStringValue
            (* get_mime) (GUPnPDLNAVideoInformation *info);

            gpointer _reserved[12];
    } GUPnPDLNAVideoInformationClass;

GObjectClass `parent_class`; | Parent class.
`get_bitrate` () | This is called by GUPnPDLNAProfileGuesser to get a bitrate.
`get_framerate` () | This is called by GUPnPDLNAProfileGuesser to get a framerate.
`get_height` () | This is called by GUPnPDLNAProfileGuesser to get a height.
`is_interlaced` () | This is called by GUPnPDLNAProfileGuesser to get whether it is interlaced.
`get_level` () | This is called by GUPnPDLNAProfileGuesser to get a level.
`get_mpeg_version` () | This is called by GUPnPDLNAProfileGuesser to get an MPEG version.
`get_pixel_aspect_ratio` () | This is called by GUPnPDLNAProfileGuesser to get a pixel-aspect-ratio.
`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_width` () | This is called by GUPnPDLNAProfileGuesser to get a width.
`get_mime` () | This is called by GUPnPDLNAProfileGuesser to get a MIME type.
gpointer `_reserved`[12]; | Padding. Ignore it.

### gupnp_dlna_video_information_get_bitrate ()

    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_bitrate
                                                            (GUPnPDLNAVideoInformation *info);

`info` : | A GUPnPDLNAVideoInformation object.
Returns : | A bitrate.

### gupnp_dlna_video_information_get_framerate ()

    GUPnPDLNAFractionValue gupnp_dlna_video_information_get_framerate
                                                            (GUPnPDLNAVideoInformation *info);

`info` : | A GUPnPDLNAVideoInformation object.
Returns : | A framerate.

### gupnp_dlna_video_information_get_height ()

    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_height
                                                            (GUPnPDLNAVideoInformation *info);

`info` : | A GUPnPDLNAVideoInformation object.
Returns : | A height.

### gupnp_dlna_video_information_is_interlaced ()

    GUPnPDLNABoolValue  gupnp_dlna_video_information_is_interlaced
                                                            (GUPnPDLNAVideoInformation *info);

`info` : | A GUPnPDLNAVideoInformation object.
Returns : | Whether video is interlaced.

### gupnp_dlna_video_information_get_level ()

    GUPnPDLNAStringValue gupnp_dlna_video_information_get_level
                                                            (GUPnPDLNAVideoInformation *info);

`info` : | A GUPnPDLNAVideoInformation object.
Returns : | A level.

### gupnp_dlna_video_information_get_mpeg_version ()

    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_mpeg_version
                                                            (GUPnPDLNAVideoInformation *info);

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

### gupnp_dlna_video_information_get_pixel_aspect_ratio ()

    GUPnPDLNAFractionValue gupnp_dlna_video_information_get_pixel_aspect_ratio
                                                            (GUPnPDLNAVideoInformation *info);

`info` : | A GUPnPDLNAVideoInformation object.
Returns : | A pixel-aspect-ratio.

### gupnp_dlna_video_information_get_profile ()

    GUPnPDLNAStringValue gupnp_dlna_video_information_get_profile
                                                            (GUPnPDLNAVideoInformation *info);

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

### gupnp_dlna_video_information_is_system_stream ()

    GUPnPDLNABoolValue  gupnp_dlna_video_information_is_system_stream
                                                            (GUPnPDLNAVideoInformation *info);

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

### gupnp_dlna_video_information_get_width ()

    GUPnPDLNAIntValue   gupnp_dlna_video_information_get_width
                                                            (GUPnPDLNAVideoInformation *info);

`info` : | A GUPnPDLNAVideoInformation object.
Returns : | A width.

### gupnp_dlna_video_information_get_mime ()

    GUPnPDLNAStringValue gupnp_dlna_video_information_get_mime
                                                            (GUPnPDLNAVideoInformation *info);

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

## See Also

GUPnPDLNABoolValue, GUPnPDLNAFractionValue, GUPnPDLNAIntValue, GUPnPDLNAStringValue