X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_access.h;h=04a30b0e63ac555cfa963ca0969feb4808ca985c;hb=7136c8a4741163c78384ba2a02875d8190a03989;hp=cc7a9c6b8dffcbdb72d19b48c1e60fb361164fe9;hpb=2e847d8484163b50d8fe98350f3dc96ac8a1a43f;p=vlc diff --git a/include/vlc_access.h b/include/vlc_access.h index cc7a9c6b8d..04a30b0e63 100644 --- a/include/vlc_access.h +++ b/include/vlc_access.h @@ -80,8 +80,8 @@ struct access_t /* Access name (empty if non forced) */ char *psz_access; - /* Access path/url/filename/.... */ - char *psz_path; + char *psz_location; /**< Location (URL with the scheme stripped) */ + char *psz_filepath; /**< Local file path (if applicable) */ /* Access can fill this entry to force a demuxer * XXX: fill it once you know for sure you will succeed @@ -151,25 +151,31 @@ static inline void access_InitFields( access_t *p_a ) * This function will return the parent input of this access. * It is retained. It can return NULL. */ -VLC_EXPORT( input_thread_t *, access_GetParentInput, ( access_t *p_access ) ); - -#define ACCESS_SET_CALLBACKS( read, block, control, seek ) \ - p_access->pf_read = read; \ - p_access->pf_block = block; \ - p_access->pf_control = control; \ - p_access->pf_seek = seek; - -#define STANDARD_READ_ACCESS_INIT \ - access_InitFields( p_access ); \ - ACCESS_SET_CALLBACKS( Read, NULL, Control, Seek ); \ - p_sys = p_access->p_sys = calloc( 1, sizeof( access_sys_t )); \ - if( !p_sys ) return VLC_ENOMEM; - -#define STANDARD_BLOCK_ACCESS_INIT \ - access_InitFields( p_access ); \ - ACCESS_SET_CALLBACKS( NULL, Block, Control, Seek ); \ - p_sys = p_access->p_sys = calloc( 1, sizeof( access_sys_t ) ); \ - if( !p_sys ) return VLC_ENOMEM; +VLC_API input_thread_t * access_GetParentInput( access_t *p_access ) VLC_USED; + +#define ACCESS_SET_CALLBACKS( read, block, control, seek ) \ + do { \ + p_access->pf_read = (read); \ + p_access->pf_block = (block); \ + p_access->pf_control = (control); \ + p_access->pf_seek = (seek); \ + } while(0) + +#define STANDARD_READ_ACCESS_INIT \ + do { \ + access_InitFields( p_access ); \ + ACCESS_SET_CALLBACKS( Read, NULL, Control, Seek ); \ + p_sys = p_access->p_sys = calloc( 1, sizeof( access_sys_t ) ); \ + if( !p_sys ) return VLC_ENOMEM;\ + } while(0); + +#define STANDARD_BLOCK_ACCESS_INIT \ + do { \ + access_InitFields( p_access ); \ + ACCESS_SET_CALLBACKS( NULL, Block, Control, Seek ); \ + p_sys = p_access->p_sys = calloc( 1, sizeof( access_sys_t ) ); \ + if( !p_sys ) return VLC_ENOMEM; \ + } while(0); /** * @}