librygel-server Reference Manual: RygelHTTPSeek

## RygelHTTPSeek RygelHTTPSeek — HTTPSeek is an abstract representation of a ranged HTTP request. |

## Functions

#define | RYGEL_TYPE_HTTP_SEEK
void | rygel_http_seek_add_response_headers ()
RygelHTTPSeekType | rygel_http_seek_get_seek_type ()
void | rygel_http_seek_set_seek_type ()
SoupMessage * | rygel_http_seek_get_msg ()
gint64 | rygel_http_seek_get_start ()
gint64 | rygel_http_seek_get_stop ()
gint64 | rygel_http_seek_get_step ()
gint64 | rygel_http_seek_get_length ()
gint64 | rygel_http_seek_get_total_length ()

## Properties

gint64 | length | Read
SoupMessage * | msg | Read
RygelHTTPSeekType | seek-type | Read / Write
gint64 | start | Read
gint64 | step | Read
gint64 | stop | Read
gint64 | total-length | Read

## Types and Values

struct | RygelHTTPSeek
struct | RygelHTTPSeekClass
enum | RygelHTTPSeekType
enum | RygelHTTPSeekError

## Object Hierarchy

        GEnum
        ╰── RygelHTTPSeekType
        GObject
        ╰── RygelHTTPSeek

## Description

It can be one of:

- - The classic Range request (seek_type == HTTPSeekType.BYTE), with start and stop in bytes.

  - The DLNA-Specific "TimeSeekRange.dlna.org" request (seek_type == HTTPSeekType.TIME) with start and stop in microseconds.

## Functions

### RYGEL_TYPE_HTTP_SEEK

    #define RYGEL_TYPE_HTTP_SEEK (rygel_http_seek_get_type ())

The type for RygelHTTPSeek.

### rygel_http_seek_add_response_headers ()

    void
    rygel_http_seek_add_response_headers (RygelHTTPSeek *self);

#### Parameters

self | the RygelHTTPSeek instance |

### rygel_http_seek_get_seek_type ()

    RygelHTTPSeekType
    rygel_http_seek_get_seek_type (RygelHTTPSeek *self);

Get and return the current value of the "seek-type" property.

Identifies whether this is a class Range request or a DLNA-specific "TimeSeekRange.dlna.org" request.

#### Parameters

self | the RygelHTTPSeek instance to query |

#### Returns

the value of the "seek-type" property

### rygel_http_seek_set_seek_type ()

    void
    rygel_http_seek_set_seek_type (RygelHTTPSeek *self,
                                   RygelHTTPSeekType value);

Set the value of the "seek-type" property to `value` .

Identifies whether this is a class Range request or a DLNA-specific "TimeSeekRange.dlna.org" request.

#### Parameters

self | the RygelHTTPSeek instance to modify |
value | the new value of the "seek-type" property |

### rygel_http_seek_get_msg ()

    SoupMessage *
    rygel_http_seek_get_msg (RygelHTTPSeek *self);

Get and return the current value of the "msg" property.

#### Parameters

self | the RygelHTTPSeek instance to query |

#### Returns

the value of the "msg" property

### rygel_http_seek_get_start ()

    gint64
    rygel_http_seek_get_start (RygelHTTPSeek *self);

Get and return the current value of the "start" property.

The start of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

#### Parameters

self | the RygelHTTPSeek instance to query |

#### Returns

the value of the "start" property

### rygel_http_seek_get_stop ()

    gint64
    rygel_http_seek_get_stop (RygelHTTPSeek *self);

Get and return the current value of the "stop" property.

The end of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

#### Parameters

self | the RygelHTTPSeek instance to query |

#### Returns

the value of the "stop" property

### rygel_http_seek_get_step ()

    gint64
    rygel_http_seek_get_step (RygelHTTPSeek *self);

Get and return the current value of the "step" property.

Either 1 byte (classic) or as 1000 G_TIME_SPAN_MILLISECOND microseconds (DLNA-specific). See seek_type.

#### Parameters

self | the RygelHTTPSeek instance to query |

#### Returns

the value of the "step" property

### rygel_http_seek_get_length ()

    gint64
    rygel_http_seek_get_length (RygelHTTPSeek *self);

Get and return the current value of the "length" property.

The length of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

#### Parameters

self | the RygelHTTPSeek instance to query |

#### Returns

the value of the "length" property

### rygel_http_seek_get_total_length ()

    gint64
    rygel_http_seek_get_total_length (RygelHTTPSeek *self);

Get and return the current value of the "total-length" property.

The length of the media file as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

#### Parameters

self | the RygelHTTPSeek instance to query |

#### Returns

the value of the "total-length" property

## Types and Values

### struct RygelHTTPSeek

    struct RygelHTTPSeek;

HTTPSeek is an abstract representation of a ranged HTTP request.

It can be one of:

- - The classic Range request (seek_type == HTTPSeekType.BYTE), with start and stop in bytes.

  - The DLNA-Specific "TimeSeekRange.dlna.org" request (seek_type == HTTPSeekType.TIME) with start and stop in microseconds.

### struct RygelHTTPSeekClass

    struct RygelHTTPSeekClass {
    	GObjectClass parent_class;
    	void (*add_response_headers) (RygelHTTPSeek* self);
    };

The class structure for `RYGEL_TYPE_HTTP_SEEK`. All the fields in this structure are private and should never be accessed directly.

#### Members

GObjectClass `parent_class`; | the parent class structure |
`add_response_headers` () | virtual method called by `rygel_http_seek_add_response_headers()` |

### enum RygelHTTPSeekType

#### Members

RYGEL_HTTP_SEEK_TYPE_BYTE |  |
RYGEL_HTTP_SEEK_TYPE_TIME |  |

### enum RygelHTTPSeekError

#### Members

RYGEL_HTTP_SEEK_ERROR_INVALID_RANGE |  |
RYGEL_HTTP_SEEK_ERROR_OUT_OF_RANGE |  |

## Property Details

### The `“length”` property

      “length”                   gint64

The length of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Flags: Read

Default value: 0

### The `“msg”` property

      “msg”                      SoupMessage *

msg.

Flags: Read

### The `“seek-type”` property

      “seek-type”                RygelHTTPSeekType

Identifies whether this is a class Range request or a DLNA-specific "TimeSeekRange.dlna.org" request.

Flags: Read / Write

Default value: RYGEL_HTTP_SEEK_TYPE_BYTE

### The `“start”` property

      “start”                    gint64

The start of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Flags: Read

Default value: 0

### The `“step”` property

      “step”                     gint64

Either 1 byte (classic) or as 1000 G_TIME_SPAN_MILLISECOND microseconds (DLNA-specific). See seek_type.

Flags: Read

Default value: 0

### The `“stop”` property

      “stop”                     gint64

The end of the range as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Flags: Read

Default value: 0

### The `“total-length”` property

      “total-length”             gint64

The length of the media file as a number of bytes (classic) or as microseconds (DLNA-specific). See seek_type.

Flags: Read

Default value: 0