# README - eMule part file access module for VideoLAN Client v0.8.6b

## Quickstart

- Download and install VideoLAN Client (VLC) v0.8.6b from http://www.videolan.org/vlc/
- Extract the eMule part file access module package and copy the libaccess_partfile_plugin.dll file into the plugin directory of your VLC installation, e.g. C:\Program Files\VideoLAN\VLC\plugins
- Open the eMule Options->Files dialog and specify VLC as the video player which is to be used for previewing part files:
  - Specify the full path to the executable of VLC, e.g. C:\Program Files\VideoLAN\VLC\vlc.exe
  - Disable the option Create backup to preview
  Note: The location of this setting may differ between various mods of eMule; for example, in eMule Plus this setting is in Preferences->General->Directories.
- Check that the eMule part file access module is properly recognized by VLC. See also: IMPORTANT NOTE
- If you experience lockups/freezes while previewing part files with the eMule part file access module, try setting Allow only one running instance in VLC at Settings->Preferences->Advanced (you have to click the Advanced options checkbox in the bottom right of the Preferences window to see this option). This prevents a separate copy of VLC from being run for each file you preview within eMule; having multiple copies of VLC running at the same time can cause deadlocks while trying to access hardware that's already being used/locked by a previous VLC instance.
- When VLC cannot read the index for an AVI file, it offers to recreate the index. If you don't want to be prompted everytime, open Settings->Preferences->Input / Codecs->Demuxers->AVI and set Force index creation to Never fix.

## Purpose

The purpose of this access module is to provide VideoLAN Client (VLC) with a media stream out of an eMule part file.

Because an eMule part file usually does not contain a complete media stream, VLC has to scan the entire file to find all actually available data. The process of scanning the entire file may take a rather long time, depending on the actual data available and the file size.

This access module will evaluate the eMule part.met file of the corresponding part file to determine what file data is actually available. With this information, the access module is capable of creating a virtual media stream without any gaps and will feed this media stream right into VLC, and thus VLC will no longer have to scan the entire file, because it will "see" only the actually available data in the part file.

## Installation

Copy the libaccess_partfile_plugin.dll file into the plugin directory of your VLC installation. e.g. C:\Program Files\VideoLAN\VLC\plugins

IMPORTANT NOTE: After installing the eMule part file access module or after installing a new version of VLC you should always manually check if the version of the eMule part file access module matches the version of VLC. This is because VLC does not support modules which were developed for a different version of VLC than the installed one. For example, if you are using e.g. VLC v0.8.2, you cannot use an eMule part file access module which was developed for e.g. VLC v0.8.1, and vice versa. In other words, the version of VLC must always match the version of the eMule part file access module.

After copying the module DLL file to the VLC plugins directory, you should open the VLC Preferences dialog (Settings->Preferences) and check whether there is an eMule Part File module listed in the Input / Codecs->Access Modules section. If not, your version of VLC does not match the version of the eMule part file access module. Either upgrade VLC or the eMule part file access module.

## Uninstallation

Remove the libaccess_partfile_plugin.dll file from the plugin directory of your VLC installation.

## Usage

Once installed, the part file access module is automatically invoked by VLC every time a file is opened. If the extension of the opened file is .part, the access module tries to find the according .part.met file and will then handle the part file as described above. This means that there is no special action required to use the functionality of the access module. Just open any part file you want to view, either from eMule (Preview), from within Windows Explorer, or using the Open File dialog of VLC.

Additionally, when using the VLC Open File dialog or the Windows Explorer command line, you can specify the part file to be opened with partfile://<path> to make sure that VLC uses the eMule part file access module.

Example: partfile://D:\eMuleTMP\001.part

## Settings

The settings dialog for the access module is available within VLC at Settings->Preferences->Input / Codecs->Access Modules->eMule Part File.

### Seekable streams

eMule's preview is normally not seekable. Enabling these options will create seekable streams, allowing you to use the position slider in VLC to skip around in the movie or jump to a specific location.

The decision if a part.met file is an AVI or an MPEG file is made by checking the file extension and other metadata information eMule provides. As this information is not always 100% correct it may happen that a seekable stream is created although the corresponding option is not enabled (e.g. you are downloading a file called "MyVideo.mpg", but the actual format of the file is of type AVI). Should this occur, you may want to rename the file to its proper extension in eMule's File Details dialog.

### Enable plugin for MPEG part files

If this option is enabled, the part file access module will provide a virtual stream built from the part file if the part file contains MPEG media. Default = enabled.

### Provide a seekable stream for MPEG part files

If this option is enabled, the part file access module will provide the virtual stream built from the part file as a seekable stream. This option has no effect if the "Enable plugin for MPEG part files" option is disabled. Default = enabled.

### Enable plugin for AVI part files

If this option is enabled, the part file access module will provide a virtual stream built from the part file if the part file contains AVI media. Default = enabled.

### Provide a seekable stream for AVI part files

If this option is enabled, the part file access module will provide the virtual stream built from the part file as a seekable stream. This option has no effect if the "Enable plugin for AVI part files" option is disabled. Default = disabled.

Note: Generating seekable streams from AVI part files might give erratic results (like media playback stopping too early) and/or slightly poor performance compared to MPEG seekable streams. This is highly dependent on the codecs and the encoding parameters used for creating the AVI file.

### Enable plugin for other (non MPEG or AVI) part files

If this option is enabled, the part file access module will provide a virtual media stream built from the part file even if the part file does not contain MPEG or AVI media. Use this option to preview other file types (e.g. OGM, MKV, ...) Default = enabled.

### Provide a seekable stream for other (non MPEG or AVI) part files

If this option is enabled, the part file access module will provide the virtual stream built from the part file as a seekable stream. This option has no effect if the "Enable plugin for other (non MPEG or AVI) part files" option is disabled. Default = disabled.

## File info for eMule part files (ED2K meta data)

The Stream and Media Info dialog available within VideoLAN Client (View->Stream and Media Info) shows the file format parameters determined by VLC and some of the eMule/ED2K meta data.