7 #ifndef PACKAGER_MEDIA_DVB_SUBTITLE_COMPOSER_H_
8 #define PACKAGER_MEDIA_DVB_SUBTITLE_COMPOSER_H_
11 #include <unordered_map>
14 #include <packager/macros/classes.h>
15 #include <packager/media/base/text_sample.h>
16 #include <packager/media/formats/dvb/dvb_image.h>
30 void SetDisplaySize(uint16_t width, uint16_t height);
31 bool SetRegionPosition(uint8_t region_id, uint16_t x, uint16_t y);
32 bool SetRegionInfo(uint8_t region_id,
33 uint8_t color_space_id,
36 bool SetObjectInfo(uint16_t object_id,
40 int default_color_code);
46 bool GetSamples(int64_t start,
48 std::vector<std::shared_ptr<TextSample>>* samples)
const;
61 RegionInfo* region =
nullptr;
62 int default_color_code = -1;
68 std::unordered_map<uint8_t, RegionInfo> regions_;
69 std::unordered_map<uint8_t, DvbImageColorSpace> color_spaces_;
70 std::unordered_map<uint16_t, ObjectInfo> objects_;
71 std::unordered_map<uint16_t, DvbImageBuilder> images_;
72 uint16_t display_width_;
73 uint16_t display_height_;
All the methods that are virtual are virtual for mocking.