1 #ifndef PACKAGEDISPATCHER_H
2 #define PACKAGEDISPATCHER_H
10 #include "packagerenderer.inc"
11 #include "preferences.inc"
15 // Allocates fragments given a total start and total end.
16 // Checks the existence of every file.
17 // Adjusts package size for load.
18 class PackageDispatcher
24 int create_packages(MWindow
*mwindow
,
26 Preferences
*preferences
,
32 // Supply a frame rate of the calling node. If the client number is -1
33 // the frame rate isn't added to the preferences table.
34 RenderPackage
* get_package(double frames_per_second
,
37 ArrayList
<Asset
*>* get_asset_list();
38 RenderPackage
* get_package(int number
);
39 int get_total_packages();
42 int64_t audio_position
;
43 int64_t video_position
;
51 Preferences
*preferences
;
52 int current_number
; // The number being injected into the filename.
53 int number_start
; // Character in the filename path at which the number begins
54 int total_digits
; // Total number of digits including padding the user specified.
55 double package_len
; // Target length of a single package
56 double min_package_len
; // Minimum package length after load balancing
57 int64_t total_packages
; // Total packages to base calculations on
58 int64_t total_allocated
; // Total packages to test the existence of
61 RenderPackage
**packages
;