Defines | Typedefs | Enumerations | Functions
quvi.h File Reference

Go to the source code of this file.

Defines

#define QUVIINFO_VOID   0x100000
#define QUVIINFO_LONG   0x200000
#define QUVIINFO_STRING   0x300000
#define QUVIINFO_DOUBLE   0x400000
#define QUVIINFO_TYPEMASK   0xf00000
#define QUVIPROPERTY_STRING   0x100000
#define QUVIPROPERTY_LONG   0x200000
#define QUVIPROPERTY_DOUBLE   0x300000
#define QUVIPROPERTY_VOID   0x400000
#define QUVIPROPERTY_TYPEMASK   0xf00000
#define QUVI_WRITEFUNC_ABORT   0x10000000
#define quvi_lobyte(w)   ((quvi_byte)((uint64_t)(w) & 0xff))
 Return a low byte from a word type variable.
#define quvi_hibyte(w)   ((quvi_byte)((uint64_t)(w) >> 8))
 Return a high byte from a word type variable.
#define quvi_loword(l)   ((quvi_word)((uint64_t)(l) & 0xffff))
 Return a low word from a long type variable.
#define quvi_hiword(l)   ((quvi_word)((uint64_t)(l) >> 16))
 Return a high word from a long type variable.

Typedefs

typedef void * quvi_t
 libquvi session handle
typedef void * quvi_media_t
 Media parsing session handle.
typedef void * quvi_video_t
 Video parsing session handle.
typedef void * quvi_ident_t
 Webscript ident handle.
typedef int(* quvi_callback_status )(long param, void *data)
 Status callback function.
typedef int(* quvi_callback_write )(char *buffer, size_t size, size_t nitems, void *instream)
 Write callback function.
typedef uint32_t quvi_word
 Word type.
typedef uint8_t quvi_byte
 Byte type.

Enumerations

enum  QUVIversion { QUVI_VERSION = 0x00, QUVI_VERSION_LONG }
enum  QUVIcode {
  QUVI_OK = 0x00, QUVI_MEM, QUVI_BADHANDLE, QUVI_INVARG,
  QUVI_CURLINIT, QUVI_LAST, QUVI_ABORTEDBYCALLBACK, QUVI_LUAINIT,
  QUVI_NOLUAWEBSITE, QUVI_NOLUAUTIL, _INTERNAL_QUVI_LAST, QUVI_PCRE = 0x40,
  QUVI_NOSUPPORT, QUVI_CALLBACK, QUVI_ICONV, QUVI_LUA,
  QUVI_CURL = 0x42
}
enum  QUVIstatus { QUVISTATUS_FETCH = 0x00, QUVISTATUS_VERIFY, QUVISTATUS_RESOLVE, QUVISTATUS_SHORTENED = 0x2 }
enum  QUVIstatusType { QUVISTATUSTYPE_PAGE = 0x00, QUVISTATUSTYPE_CONFIG, QUVISTATUSTYPE_PLAYLIST, QUVISTATUSTYPE_DONE }
enum  QUVIoption {
  QUVIOPT_FORMAT = 0x00, QUVIOPT_NOVERIFY, QUVIOPT_STATUSFUNCTION, QUVIOPT_WRITEFUNCTION,
  QUVIOPT_NORESOLVE, QUVIOPT_CATEGORY, QUVIOPT_FETCHFUNCTION, QUVIOPT_RESOLVEFUNCTION,
  QUVIOPT_VERIFYFUNCTION, QUVIOPT_NOSHORTENED = 0x4
}
enum  QUVIcategory {
  QUVIPROTO_HTTP = 0x1, QUVIPROTO_MMS = 0x2, QUVIPROTO_RTSP = 0x4, QUVIPROTO_RTMP = 0x8,
  QUVIPROTO_ALL
}
enum  QUVIinfo {
  QUVIINFO_NONE = 0x00, QUVIINFO_CURL = QUVIINFO_VOID + 1, QUVIINFO_RESPONSECODE = QUVIINFO_LONG + 3, QUVIINFO_CURLCODE = QUVIINFO_LONG + 2,
  QUVIINFO_HTTPCODE = QUVIINFO_LONG + 3, _QUVIINFO_LAST = 3
}
enum  QUVIproperty {
  QUVIPROP_NONE = 0x00, QUVIPROP_HOSTID = QUVIPROPERTY_STRING + 1, QUVIPROP_PAGEURL = QUVIPROPERTY_STRING + 2, QUVIPROP_PAGETITLE = QUVIPROPERTY_STRING + 3,
  QUVIPROP_MEDIAID = QUVIPROPERTY_STRING + 4, QUVIPROP_MEDIAURL = QUVIPROPERTY_STRING + 5, QUVIPROP_MEDIACONTENTLENGTH = QUVIPROPERTY_DOUBLE + 6, QUVIPROP_MEDIACONTENTTYPE = QUVIPROPERTY_STRING + 7,
  QUVIPROP_FILESUFFIX = QUVIPROPERTY_STRING + 8, QUVIPROP_RESPONSECODE = QUVIPROPERTY_LONG + 9, QUVIPROP_FORMAT = QUVIPROPERTY_STRING + 10, QUVIPROP_STARTTIME = QUVIPROPERTY_STRING + 11,
  QUVIPROP_MEDIATHUMBNAILURL = QUVIPROPERTY_STRING + 12, QUVIPROP_MEDIADURATION = QUVIPROPERTY_DOUBLE + 13, QUVIPROP_VIDEOID = QUVIPROPERTY_STRING + 4, QUVIPROP_VIDEOURL = QUVIPROPERTY_STRING + 5,
  QUVIPROP_VIDEOFILELENGTH = QUVIPROPERTY_DOUBLE + 6, QUVIPROP_VIDEOFILECONTENTTYPE = QUVIPROPERTY_STRING + 7, QUVIPROP_VIDEOFILESUFFIX = QUVIPROPERTY_STRING + 8, QUVIPROP_HTTPCODE = QUVIPROPERTY_LONG + 9,
  QUVIPROP_VIDEOFORMAT = QUVIPROPERTY_STRING + 10, _QUVIPROP_LAST = 13
}
enum  QUVIidentProperty {
  QUVI_IDENT_PROPERTY_NONE = 0x00, QUVI_IDENT_PROPERTY_URL = QUVIPROPERTY_STRING + 1, QUVI_IDENT_PROPERTY_DOMAIN = QUVIPROPERTY_STRING + 2, QUVI_IDENT_PROPERTY_FORMATS = QUVIPROPERTY_STRING + 3,
  QUVI_IDENT_PROPERTY_CATEGORIES = QUVIPROPERTY_LONG + 4, _QUVI_IDENT_PROPERTY_LAST = 4
}

Functions

QUVIcode quvi_init (quvi_t *quvi)
 Start a new libquvi session.
QUVIcode quvi_getinfo (quvi_t quvi, QUVIinfo info,...)
 Get information from a libquvi session handle.
void quvi_close (quvi_t *quvi)
 End a libquvi session.
QUVIcode quvi_setopt (quvi_t quvi, QUVIoption opt,...)
 Set options for a libquvi session handle.
size_t quvi_write_callback_default (void *ptr, size_t size, size_t nmemb, void *stream)
 Default write callback.
QUVIcode quvi_parse (quvi_t quvi, char *url, quvi_media_t *media)
 Start a new media parsing session.
QUVIcode quvi_getprop (quvi_media_t media, QUVIproperty prop,...)
 Get media property information from a media session handle.
QUVIcode quvi_next_media_url (quvi_media_t media)
 Move to the next media URL (if any)
QUVIcode quvi_next_videolink (quvi_video_t video)
 Move to the next video URL (if any)
void quvi_parse_close (quvi_media_t *media)
 End a media parsing session.
QUVIcode quvi_supported (quvi_t quvi, char *url)
 Check whether the library could parse the URL.
QUVIcode quvi_supported_ident (quvi_t quvi, char *url, quvi_ident_t *ident)
 Check whether the library could parse the URL.
QUVIcode quvi_ident_getprop (quvi_ident_t handle, QUVIidentProperty property,...)
 Get property information from an ident handle.
void quvi_supported_ident_close (quvi_ident_t *ident)
 Close ident handle.
QUVIcode quvi_next_supported_website (quvi_t quvi, char **domain, char **formats)
 Return next supported website.
QUVIcode quvi_next_host (char **domain, char **formats)
 Next supported host.
char * quvi_strerror (quvi_t quvi, QUVIcode code)
 Return a string describing the error code.
char * quvi_version (QUVIversion type)
 Return libquvi version.
void quvi_free (void *ptr)
 Free allocated memory.
QUVIcode quvi_query_formats (quvi_t session, char *url, char **formats)

Detailed Description

 All Files Functions Typedefs Enumerations Enumerator Defines