int region_version_number;
int region_height, region_width;
enum depth { bpp2=1, bpp4=2, bpp8=3 } region_depth;
+
ePtr<gPixmap> region_buffer;
int clut_id;
subtitle_region_object *region_objects;
subtitle_region *next;
+
+ bool committed;
};
struct subtitle_page
int page_id;
time_t page_time_out;
int page_version_number;
+ int state;
int pcs_size;
subtitle_page_region *page_regions;
:public iObject, public ePESParser, public Object
{
DECLARE_REF(eDVBSubtitleParser);
- subtitle_page *pages;
+ subtitle_page *m_pages;
ePtr<iDVBPESReader> m_pes_reader;
ePtr<eConnection> m_read_connection;
- pts_t show_time;
+ pts_t m_show_time;
Signal1<void,const eDVBSubtitlePage&> m_new_subtitle_page;
+ int m_composition_page_id, m_ancillary_page_id;
public:
eDVBSubtitleParser(iDVBDemux *demux);
virtual ~eDVBSubtitleParser();
- int start(int pid);
+ int start(int pid, int composition_page_id, int ancillary_page_id);
int stop();
void connectNewPage(const Slot1<void, const eDVBSubtitlePage&> &slot, ePtr<eConnection> &connection);
private: