xine logo
Main Page   Modules   Data Structures   File List   Data Fields   Globals  

Browsing support


Modules

Types of available mrls

Data Structures

struct  mrl_t
struct  mrl_t

Defines

#define MRL_ZERO(m)
#define MRL_DUPLICATE(s, d)
#define MRLS_DUPLICATE(s, d)

Functions

char** xine_get_browsable_input_plugin_ids (xine_t *self)
 Request list of browsable featured plugins.

mrl_t** xine_get_browse_mrls (xine_t *self, char *plugin_id, char *start_mrl, int *num_mrls)
 Request available MRLs from plugins.


Define Documentation

#define MRLS_DUPLICATE( s, d )
 

Value:

  {                                                \
  int i = 0;                                                                  \
                                                                              \
  assert((s) != NULL);                                                        \
  assert((d) != NULL);                                                        \
                                                                              \
  while((s) != NULL) {                                                        \
    d[i] = (mrl_t *) malloc(sizeof(mrl_t));                                   \
    MRL_DUPLICATE(s[i], d[i]);                                                \
    i++;                                                                      \
  }                                                                           \
}
Duplicate two arrays of mrls (s = source, d = destination).
See also:
mrl_t, xine_get_browse_mrls()

#define MRL_DUPLICATE( s, d )
 

Duplicate two mrls entries (s = source, d = destination).

See also:
mrl_t, xine_get_browse_mrls()

#define MRL_ZERO( m )
 

Value:

  {                                                         \
  if((m)) {                                                                   \
    if((m)->origin)                                                           \
      free((m)->origin);                                                      \
    if((m)->mrl)                                                              \
      free((m)->mrl);                                                         \
    if((m)->link)                                                             \
      free((m)->link);                                                        \
    (m)->origin = NULL;                                                       \
    (m)->mrl    = NULL;                                                       \
    (m)->link   = NULL;                                                       \
    (m)->type   = 0;                                                          \
    (m)->size   = (off_t) 0;                                                  \
  }                                                                           \
}
Freeing/zeroing all of entries of given mrl.
See also:
mrl_t, xine_get_browse_mrls()


Function Documentation

char ** xine_get_browsable_input_plugin_ids ( xine_t * self )
 

Request list of browsable featured plugins.

Parameters:
self   Current xine engine configuration ( see xine_init() )
Returns:
List of plugins

Some input plugins are browseable, get the list of ids of these plugins.
Parameters:
self  

mrl_t ** xine_get_browse_mrls ( xine_t * self,
char * plugin_id,
char * start_mrl,
int * num_mrls )
 

Request available MRLs from plugins.

Parameters:
self   Current xine engine configuration ( see xine_init() )
plugin_id   Plugin name ( see xine_get_browsable_input_plugin_ids() )
start_mrl   MRL
num_mrl   how many mrls was found
Returns:
start_mrl on success, NULL on failure.

Asks input plugin named <plugin_id> to return a list of available MRLs in domain/directory <start_mrl>.

<start_mrl> may be NULL indicating the toplevel domain/dir returns <start_mrl> if <start_mrl> is a valid MRL, not a directory returns NULL if <start_mrl> is an invalid MRL, not even a directory.

Parameters:
self  
plugin_id  
start_mrl  
num_mrls  


Generated at Mon Sep 17 01:05:55 2001 for XINE, A Free Video Player Project - API reference by doxygen1.2.8 written by Dimitri van Heesch, © 1997-2001