SwfdecLoader

SwfdecLoader — object used for input

Synopsis


#include <swfdec/swfdec.h>

                    SwfdecLoader;
                    SwfdecFileLoader;
                    SwfdecLoaderClass;
void                swfdec_loader_set_url               (SwfdecLoader *loader,
                                                         const char *url);
const SwfdecURL*    swfdec_loader_get_url               (SwfdecLoader *loader);
void                swfdec_loader_set_size              (SwfdecLoader *loader,
                                                         gulong size);
glong               swfdec_loader_get_size              (SwfdecLoader *loader);
gulong              swfdec_loader_get_loaded            (SwfdecLoader *loader);
SwfdecLoaderDataType swfdec_loader_get_data_type        (SwfdecLoader *loader);

Object Hierarchy

  GObject
   +----SwfdecStream
         +----SwfdecLoader
               +----SwfdecFileLoader
  GObject
   +----SwfdecStream
         +----SwfdecLoader
               +----SwfdecFileLoader
                     +----SwfdecGtkLoader

Properties

  "data-type"                SwfdecLoaderDataType  : Read
  "loaded"                   gulong                : Read / Write
  "size"                     glong                 : Read / Write
  "url"                      SwfdecURL*            : Read

Description

SwfdecLoader is the base class used for reading input. Since developers normally need to adapt input to the needs of their application, this class is provided to be adapted to their needs. It is used both for HTTP and RTMP access.

Since Flash files can load new resources while operating, a SwfdecLoader can be instructed to load another resource.

For convenience, a SwfdecLoader for file access is provided by Swfdec.

Details

SwfdecLoader

typedef struct _SwfdecLoader SwfdecLoader;

This is the base object used for providing input. It is abstract, use a subclass to provide your input.


SwfdecFileLoader

typedef struct _SwfdecFileLoader SwfdecFileLoader;

This is a SwfdecLoader that can load content from files. This symbol is exported so you can subclass your own loaders from it and have automatic file access.


SwfdecLoaderClass

typedef struct {
  void			(* load)	(SwfdecLoader *			loader, 
					 SwfdecPlayer *			player,
					 const char *			url,
					 SwfdecBuffer *			buffer,
					 guint				n_headers,
					 const char **			header_names,
					 const char **			header_values);
} SwfdecLoaderClass;

This is the base class used for input. If you create a subclass, you are supposed to set the function pointers listed above.

load ()

initialize a new loader based on a parent loader object. The new loader will already have its URL set.

swfdec_loader_set_url ()

void                swfdec_loader_set_url               (SwfdecLoader *loader,
                                                         const char *url);

Updates the url of the given loader to point to the new url. This is useful whe encountering HTTP redirects, as the loader is supposed to reference the final URL after all rdirections. This function may only be called once and must have been called before calling swfdec_stream_open() on loader.

loader :

the loader to update

url :

string specifying the new URL. The url must be a valid absolute URL.

swfdec_loader_get_url ()

const SwfdecURL*    swfdec_loader_get_url               (SwfdecLoader *loader);

Gets the url this loader is handling. This is mostly useful for writing subclasses of SwfdecLoader.

loader :

a SwfdecLoader

Returns :

a SwfdecURL describing loader or NULL if the url is not known yet.

swfdec_loader_set_size ()

void                swfdec_loader_set_size              (SwfdecLoader *loader,
                                                         gulong size);

Sets the size of bytes in this loader. This function may only be called once.

loader :

a SwfdecLoader

size :

the amount of bytes in this loader

swfdec_loader_get_size ()

glong               swfdec_loader_get_size              (SwfdecLoader *loader);

Queries the amount of bytes inside loader. If the size is unknown, -1 is returned. Otherwise the number is greater or equal to 0.

loader :

a SwfdecLoader

Returns :

the total number of bytes for this loader or -1 if unknown

swfdec_loader_get_loaded ()

gulong              swfdec_loader_get_loaded            (SwfdecLoader *loader);

Gets the amount of bytes that have already been pushed into loader and are available to Swfdec.

loader :

a SwfdecLoader

Returns :

Amount of bytes in loader

swfdec_loader_get_data_type ()

SwfdecLoaderDataType swfdec_loader_get_data_type        (SwfdecLoader *loader);

Queries the type of data this loader provides. The type is determined automatically by Swfdec.

loader :

a SwfdecLoader

Returns :

the type this data was identified to be in or SWFDEC_LOADER_DATA_UNKNOWN if not identified

Property Details

The "data-type" property

  "data-type"                SwfdecLoaderDataType  : Read

the data's type as identified by Swfdec.

Default value: SWFDEC_LOADER_DATA_UNKNOWN


The "loaded" property

  "loaded"                   gulong                : Read / Write

bytes already loaded.


The "size" property

  "size"                     glong                 : Read / Write

amount of bytes in loader.

Allowed values: >= -1

Default value: -1


The "url" property

  "url"                      SwfdecURL*            : Read

URL for this file.