|  | 
| These functions are used to attach a stream extractor to an already existing stream. As hinted by their names, vlc_stream_extractor_Attach will attach an entity-extractor, whereas vlc_stream_directory_Attach will attach a stream-directory. Parameters
  
    | [out] | stream | a pointer-to-pointer to stream, *streamwill refer to the attached stream on success, and left untouched on failure. |  |  | identifier | (if present) NULL or a c-style string referring to the desired entity |  |  | module_name | NULL or an explicit stream-extractor module name | 
 ReturnsVLC_SUCCESS if a stream-extractor was successfully attached, an error-code on failure. 
 | 
| int | vlc_stream_extractor_Attach (stream_t **source, char const *identifier, char const *module_name) | 
|  | 
| int | vlc_stream_directory_Attach (stream_t **source, char const *module_name) | 
|  | 
If a stream can be viewed as a directory, such as when opening a compressed archive, a stream-extractor is used to get access to the entities inside said stream.
A stream-extractor can do one of two things;
- lists the logical entries within a stream:
- extract data associated with one specific entry within a stream:
◆ vlc_stream_NewMRL
      
        
          | #define vlc_stream_NewMRL | ( |  | a, | 
        
          |  |  |  | b | 
        
          |  | ) |  | vlc_stream_NewMRL(VLC_OBJECT(a), b) | 
      
 
 
◆ stream_directory_t
◆ stream_extractor_t
◆ vlc_stream_directory_Attach()
      
        
          | int vlc_stream_directory_Attach | ( | stream_t ** | source, | 
        
          |  |  | char const * | module_name | 
        
          |  | ) |  |  | 
      
 
 
◆ vlc_stream_extractor_Attach()
      
        
          | int vlc_stream_extractor_Attach | ( | stream_t ** | source, | 
        
          |  |  | char const * | identifier, | 
        
          |  |  | char const * | module_name | 
        
          |  | ) |  |  | 
      
 
 
◆ vlc_stream_extractor_CreateMRL()
◆ vlc_stream_NewMRL()