Blame libgupnp-av/gupnp-dlna.h

Packit 712bc5
/*
Packit 712bc5
 * Copyright (C) 2007, 2008 OpenedHand Ltd.
Packit 712bc5
 *
Packit 712bc5
 * Authors: Jorn Baayen <jorn@openedhand.com>
Packit 712bc5
 *
Packit 712bc5
 * This library is free software; you can redistribute it and/or
Packit 712bc5
 * modify it under the terms of the GNU Library General Public
Packit 712bc5
 * License as published by the Free Software Foundation; either
Packit 712bc5
 * version 2 of the License, or (at your option) any later version.
Packit 712bc5
 *
Packit 712bc5
 * This library is distributed in the hope that it will be useful,
Packit 712bc5
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 712bc5
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 712bc5
 * Library General Public License for more details.
Packit 712bc5
 *
Packit 712bc5
 * You should have received a copy of the GNU Library General Public
Packit 712bc5
 * License along with this library; if not, write to the
Packit 712bc5
 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Packit 712bc5
 * Boston, MA 02110-1301, USA.
Packit 712bc5
 */
Packit 712bc5
Packit 712bc5
#ifndef __GUPNP_DLNA_H__
Packit 712bc5
#define __GUPNP_DLNA_H__
Packit 712bc5
Packit 712bc5
#include <glib-object.h>
Packit 712bc5
Packit 712bc5
G_BEGIN_DECLS
Packit 712bc5
Packit 712bc5
GType
Packit 712bc5
gupnp_dlna_conversion_get_type (void) G_GNUC_CONST;
Packit 712bc5
Packit 712bc5
#define GUPNP_TYPE_DLNA_CONVERSION (gupnp_dlna_conversion_get_type ())
Packit 712bc5
Packit 712bc5
/**
Packit 712bc5
 * GUPnPDLNAConversion:
Packit 712bc5
 * @GUPNP_DLNA_CONVERSION_NONE: Content is in original source format
Packit 712bc5
 * @GUPNP_DLNA_CONVERSION_TRANSCODED: Content is transcoded
Packit 712bc5
 *
Packit 712bc5
 * The DLNA conversion flags for a resource.
Packit 712bc5
 *
Packit 712bc5
 **/
Packit 712bc5
typedef enum {
Packit 712bc5
        GUPNP_DLNA_CONVERSION_NONE       = 0,
Packit 712bc5
        GUPNP_DLNA_CONVERSION_TRANSCODED = 1
Packit 712bc5
} GUPnPDLNAConversion;
Packit 712bc5
Packit 712bc5
GType
Packit 712bc5
gupnp_dlna_operation_get_type (void) G_GNUC_CONST;
Packit 712bc5
Packit 712bc5
#define GUPNP_TYPE_DLNA_OPERATION (gupnp_dlna_operation_get_type ())
Packit 712bc5
Packit 712bc5
/**
Packit 712bc5
 * GUPnPDLNAOperation:
Packit 712bc5
 * @GUPNP_DLNA_OPERATION_NONE: Resource does not support seeking of any type
Packit 712bc5
 * @GUPNP_DLNA_OPERATION_RANGE: Resource supports byte-seek
Packit 712bc5
 * @GUPNP_DLNA_OPERATION_TIMESEEK: Resource supports time-seek
Packit 712bc5
 *
Packit 712bc5
 * The seek operations supported by a resource.
Packit 712bc5
 *
Packit 712bc5
 **/
Packit 712bc5
typedef enum {
Packit 712bc5
        GUPNP_DLNA_OPERATION_NONE     = 0x00,
Packit 712bc5
        GUPNP_DLNA_OPERATION_RANGE    = 0x01,
Packit 712bc5
        GUPNP_DLNA_OPERATION_TIMESEEK = 0x10
Packit 712bc5
} GUPnPDLNAOperation;
Packit 712bc5
Packit 712bc5
GType
Packit 712bc5
gupnp_dlna_flags_get_type (void) G_GNUC_CONST;
Packit 712bc5
Packit 712bc5
#define GUPNP_TYPE_DLNA_FLAGS (gupnp_dlna_flags_get_type ())
Packit 712bc5
Packit 712bc5
/**
Packit 712bc5
 * GUPnPDLNAFlags:
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_NONE: No flags
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_SENDER_PACED: Content source is the clock source during
Packit 712bc5
 *                                 transport
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_TIME_BASED_SEEK: Limited Operation: time-seek supported
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_BYTE_BASED_SEEK: Limited Operation: byte-seek supported
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_PLAY_CONTAINER: Resource supports 'Container Playback'
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_S0_INCREASE: Content does not have a fixed beginning
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_SN_INCREASE: Content does not have a fixed end
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_RTSP_PAUSE: RTSP resource supports pausing of media
Packit 712bc5
 *                               transfer
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_STREAMING_TRANSFER_MODE: Streaming transfer mode supported
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_INTERACTIVE_TRANSFER_MODE: Interactive transfer mode
Packit 712bc5
 *                                              supported
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_BACKGROUND_TRANSFER_MODE: Background transfer mode
Packit 712bc5
 *                                             supported
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_CONNECTION_STALL: No content transfer when paused.
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_DLNA_V15: DLNAv1.5 version flag
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_LINK_PROTECTED_CONTENT: The content is protected.
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_CLEAR_TEXT_BYTE_SEEK_FULL: Full byte seek on cleartext
Packit 712bc5
 *                                              domain is supported.
Packit 712bc5
 * @GUPNP_DLNA_FLAGS_LOP_CLEAR_TEXT_BYTE_SEEK: Limited operations on
Packit 712bc5
 *                                              byte seek in cleartext domain.
Packit 712bc5
 *
Packit 712bc5
 * The miscellaneous operations supported by a resource. For details on these
Packit 712bc5
 * flags please refer to section 7.3.37.2 of DLNA Networked Device
Packit 712bc5
 * Interoperability Guidelines Volume 1, October 2006.
Packit 712bc5
 *
Packit 712bc5
 * Updated DTCP Flags based on 2011 Guidelines, section 7.4.1.3.23.2
Packit 712bc5
 *
Packit 712bc5
 **/
Packit 712bc5
typedef enum {
Packit 712bc5
        GUPNP_DLNA_FLAGS_NONE                      = 0,
Packit 712bc5
        GUPNP_DLNA_FLAGS_SENDER_PACED              = (1 << 31),
Packit 712bc5
        GUPNP_DLNA_FLAGS_TIME_BASED_SEEK           = (1 << 30),
Packit 712bc5
        GUPNP_DLNA_FLAGS_BYTE_BASED_SEEK           = (1 << 29),
Packit 712bc5
        GUPNP_DLNA_FLAGS_PLAY_CONTAINER            = (1 << 28),
Packit 712bc5
        GUPNP_DLNA_FLAGS_S0_INCREASE               = (1 << 27),
Packit 712bc5
        GUPNP_DLNA_FLAGS_SN_INCREASE               = (1 << 26),
Packit 712bc5
        GUPNP_DLNA_FLAGS_RTSP_PAUSE                = (1 << 25),
Packit 712bc5
        GUPNP_DLNA_FLAGS_STREAMING_TRANSFER_MODE   = (1 << 24),
Packit 712bc5
        GUPNP_DLNA_FLAGS_INTERACTIVE_TRANSFER_MODE = (1 << 23),
Packit 712bc5
        GUPNP_DLNA_FLAGS_BACKGROUND_TRANSFER_MODE  = (1 << 22),
Packit 712bc5
        GUPNP_DLNA_FLAGS_CONNECTION_STALL          = (1 << 21),
Packit 712bc5
        GUPNP_DLNA_FLAGS_DLNA_V15                  = (1 << 20),
Packit 712bc5
        GUPNP_DLNA_FLAGS_LINK_PROTECTED_CONTENT    = (1 << 16),
Packit 712bc5
        GUPNP_DLNA_FLAGS_CLEAR_TEXT_BYTE_SEEK_FULL = (1 << 15),
Packit 712bc5
        GUPNP_DLNA_FLAGS_LOP_CLEAR_TEXT_BYTE_SEEK  = (1 << 14)
Packit 712bc5
} GUPnPDLNAFlags;
Packit 712bc5
Packit 712bc5
/**
Packit 712bc5
 * GUPnPOCMFlags:
Packit 712bc5
 * @GUPNP_OCM_FLAGS_NONE: No flags
Packit 712bc5
 * @GUPNP_OCM_FLAGS_UPLOAD: Indicates support for content upload.
Packit 712bc5
 * @GUPNP_OCM_FLAGS_CREATE_CONTAINER: Indicates support for creation of child
Packit 712bc5
 *                                    container.
Packit 712bc5
 * @GUPNP_OCM_FLAGS_DESTROYABLE: This object is destroyable.
Packit 712bc5
 * @GUPNP_OCM_FLAGS_UPLOAD_DESTROYABLE: Indicates support for upload of
Packit 712bc5
 *                                      destroyable content.
Packit 712bc5
 * @GUPNP_OCM_FLAGS_CHANGE_METADATA: Indicates support for changing metadata.
Packit 712bc5
 *
Packit 712bc5
 * The DLNA OCM flags supported by a DIDL-Lite Object. For details on these
Packit 712bc5
 * flags please refer to section 7.3.118.4 of DLNA Networked Device
Packit 712bc5
 * Interoperability Guidelines Volume 1, October 2006.
Packit 712bc5
 *
Packit 712bc5
 **/
Packit 712bc5
typedef enum {
Packit 712bc5
        GUPNP_OCM_FLAGS_NONE               = 0x0,
Packit 712bc5
        GUPNP_OCM_FLAGS_UPLOAD             = 0x01,
Packit 712bc5
        GUPNP_OCM_FLAGS_CREATE_CONTAINER   = 0x02,
Packit 712bc5
        GUPNP_OCM_FLAGS_DESTROYABLE        = 0x04,
Packit 712bc5
        GUPNP_OCM_FLAGS_UPLOAD_DESTROYABLE = 0x08,
Packit 712bc5
        GUPNP_OCM_FLAGS_CHANGE_METADATA    = 0x10
Packit 712bc5
} GUPnPOCMFlags;
Packit 712bc5
Packit 712bc5
GType
Packit 712bc5
gupnp_ocm_flags_get_type (void) G_GNUC_CONST;
Packit 712bc5
Packit 712bc5
#define GUPNP_TYPE_OCM_FLAGS (gupnp_ocm_flags_get_type ())
Packit 712bc5
Packit 712bc5
G_END_DECLS
Packit 712bc5
Packit 712bc5
#endif /* __GUPNP_DLNA_H__ */