Data Structures | Functions

resource.c File Reference

Include dependency graph for resource.c:

Data Structures

struct  input_resource_t

Functions

static void DestroySout (input_resource_t *p_resource)
static sout_instance_tRequestSout (input_resource_t *p_resource, sout_instance_t *p_sout, const char *psz_sout)
static void DestroyVout (input_resource_t *p_resource)
static void DisplayVoutTitle (input_resource_t *p_resource, vout_thread_t *p_vout)
static vout_thread_tRequestVout (input_resource_t *p_resource, vout_thread_t *p_vout, video_format_t *p_fmt, unsigned dpb_size, bool b_recycle)
static vout_thread_tHoldVout (input_resource_t *p_resource)
static void HoldVouts (input_resource_t *p_resource, vout_thread_t ***ppp_vout, size_t *pi_vout)
static void DestroyAout (input_resource_t *p_resource)
static void ReleaseAout (input_resource_t *p_resource, audio_output_t *p_aout)
static audio_output_tAllocateAout (input_resource_t *p_resource)
static audio_output_tRequestAout (input_resource_t *p_resource, audio_output_t *p_aout)
static audio_output_tHoldAout (input_resource_t *p_resource)
static void TerminateAout (input_resource_t *p_resource)
static void Destructor (gc_object_t *p_gc)
input_resource_tinput_resource_New (vlc_object_t *p_parent)
 It creates an empty input resource handler.
void input_resource_Release (input_resource_t *p_resource)
 It releases an input resource.
input_resource_tinput_resource_Hold (input_resource_t *p_resource)
 This function holds the input_resource_t itself.
void input_resource_SetInput (input_resource_t *p_resource, input_thread_t *p_input)
 This function set the associated input.
vout_thread_tinput_resource_RequestVout (input_resource_t *p_resource, vout_thread_t *p_vout, video_format_t *p_fmt, unsigned dpb_size, bool b_recycle)
 This function handles vout request.
vout_thread_tinput_resource_HoldVout (input_resource_t *p_resource)
 This function returns one of the current vout if any.
void input_resource_HoldVouts (input_resource_t *p_resource, vout_thread_t ***ppp_vout, size_t *pi_vout)
 This function returns all current vouts if any.
void input_resource_TerminateVout (input_resource_t *p_resource)
 Forcefully destroys the video output (e.g.
bool input_resource_HasVout (input_resource_t *p_resource)
 This function return true if there is at least one vout in the resources.
audio_output_tinput_resource_RequestAout (input_resource_t *p_resource, audio_output_t *p_aout)
 This function handles aout request.
audio_output_tinput_resource_HoldAout (input_resource_t *p_resource)
 This function returns the current aout if any.
sout_instance_tinput_resource_RequestSout (input_resource_t *p_resource, sout_instance_t *p_sout, const char *psz_sout)
 This function handles sout request.
void input_resource_TerminateSout (input_resource_t *p_resource)
 This function deletes the current sout in the resources.
void input_resource_Terminate (input_resource_t *p_resource)
 This function releases all resources (object).

Function Documentation

static audio_output_t* AllocateAout ( input_resource_t p_resource  )  [static]
static void DestroyAout ( input_resource_t p_resource  )  [static]

References aout_Destroy(), and input_resource_t::p_aout.

Referenced by Destructor().

static void DestroySout ( input_resource_t p_resource  )  [static]
static void DestroyVout ( input_resource_t p_resource  )  [static]
static void Destructor ( gc_object_t p_gc  )  [static]
static void DisplayVoutTitle ( input_resource_t p_resource,
vout_thread_t p_vout 
) [static]
static audio_output_t* HoldAout ( input_resource_t p_resource  )  [static]
static vout_thread_t* HoldVout ( input_resource_t p_resource  )  [static]
static void HoldVouts ( input_resource_t p_resource,
vout_thread_t ***  ppp_vout,
size_t *  pi_vout 
) [static]
bool input_resource_HasVout ( input_resource_t p_resource  ) 

This function return true if there is at least one vout in the resources.

It can only be called on detached resources.

References input_resource_t::lock, input_resource_t::p_input, input_resource_t::p_vout_free, vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by LoopRequest().

input_resource_t* input_resource_Hold ( input_resource_t p_resource  ) 

This function holds the input_resource_t itself.

References vlc_gc_incref.

Referenced by Create().

audio_output_t* input_resource_HoldAout ( input_resource_t p_resource  ) 

This function returns the current aout if any.

You must call vlc_object_release on the value returned (if non NULL).

References HoldAout().

Referenced by input_vaControl().

vout_thread_t* input_resource_HoldVout ( input_resource_t  ) 

This function returns one of the current vout if any.

You must call vlc_object_release on the value returned (if non NULL).

References HoldVout().

Referenced by DecoderProcessSpu(), DeleteDecoder(), spu_del_buffer(), and spu_new_buffer().

void input_resource_HoldVouts ( input_resource_t ,
vout_thread_t ***  ,
size_t *   
)

This function returns all current vouts if any.

You must call vlc_object_release on all values returned (if non NULL).

References HoldVouts().

Referenced by input_vaControl().

input_resource_t* input_resource_New ( vlc_object_t  ) 

It creates an empty input resource handler.

The given object MUST stay alive as long as the input_resource_t is not deleted.

References Destructor(), input_resource_t::lock, input_resource_t::lock_hold, input_resource_t::p_parent, vlc_gc_init, and vlc_mutex_init().

Referenced by Create(), PlayItem(), and vlm_ControlMediaInstanceStart().

void input_resource_Release ( input_resource_t p_resource  ) 

It releases an input resource.

References vlc_gc_decref.

Referenced by Destructor(), playlist_Deactivate(), and vlm_MediaInstanceDelete().

audio_output_t* input_resource_RequestAout ( input_resource_t p_resource,
audio_output_t p_aout 
)

This function handles aout request.

References input_resource_t::lock, RequestAout(), vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by aout_new_buffer(), and DeleteDecoder().

sout_instance_t* input_resource_RequestSout ( input_resource_t p_resource,
sout_instance_t p_sout,
const char *  psz_sout 
)

This function handles sout request.

References input_resource_t::lock, RequestSout(), vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by End(), Init(), and input_resource_TerminateSout().

vout_thread_t* input_resource_RequestVout ( input_resource_t p_resource,
vout_thread_t p_vout,
video_format_t p_fmt,
unsigned  dpb_size,
bool  b_recycle 
)
void input_resource_SetInput ( input_resource_t p_resource,
input_thread_t p_input 
)

This function set the associated input.

References input_resource_t::i_vout, input_resource_t::lock, input_resource_t::p_input, vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by Create(), End(), and Init().

void input_resource_Terminate ( input_resource_t p_resource  ) 
void input_resource_TerminateSout ( input_resource_t p_resource  ) 

This function deletes the current sout in the resources.

References input_resource_RequestSout().

Referenced by input_resource_Terminate(), LoopInput(), and vlm_ControlMediaInstanceStart().

void input_resource_TerminateVout ( input_resource_t  ) 

Forcefully destroys the video output (e.g.

when the playlist is stopped).

References input_resource_RequestVout().

Referenced by EsOutControlLocked(), EsOutDecodersStopBuffering(), input_resource_Terminate(), LoopRequest(), and vlm_ControlMediaInstanceStart().

static void ReleaseAout ( input_resource_t p_resource,
audio_output_t p_aout 
) [static]
static audio_output_t* RequestAout ( input_resource_t p_resource,
audio_output_t p_aout 
) [static]
static sout_instance_t* RequestSout ( input_resource_t p_resource,
sout_instance_t p_sout,
const char *  psz_sout 
) [static]
static vout_thread_t* RequestVout ( input_resource_t p_resource,
vout_thread_t p_vout,
video_format_t p_fmt,
unsigned  dpb_size,
bool  b_recycle 
) [static]
static void TerminateAout ( input_resource_t p_resource  )  [static]
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines