X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fsubtitle.h;h=09d6cd473b9a81476cd7f60d29ebc869dd8869b7;hb=4fc2a70eeb86fa51b783b4a9c034b926db0013a3;hp=330147adb67860757bc6646457f13c1712383461;hpb=3ecd3b8d7f2d52fd7b5956c1fe08f926cc2a2858;p=vuplus_dvbapp diff --git a/lib/dvb/subtitle.h b/lib/dvb/subtitle.h index 330147a..09d6cd4 100644 --- a/lib/dvb/subtitle.h +++ b/lib/dvb/subtitle.h @@ -54,6 +54,7 @@ struct subtitle_region int region_version_number; int region_height, region_width; enum depth { bpp2=1, bpp4=2, bpp8=3 } region_depth; + ePtr region_buffer; int clut_id; @@ -61,6 +62,8 @@ struct subtitle_region subtitle_region_object *region_objects; subtitle_region *next; + + bool committed; }; struct subtitle_page @@ -68,6 +71,7 @@ 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; @@ -108,15 +112,17 @@ class eDVBSubtitleParser :public iObject, public ePESParser, public Object { DECLARE_REF(eDVBSubtitleParser); - subtitle_page *pages; + subtitle_page *m_pages; ePtr m_pes_reader; ePtr m_read_connection; - pts_t show_time; + pts_t m_show_time; Signal1 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 &slot, ePtr &connection); private: void subtitle_process_line(subtitle_page *page, int object_id, int line, __u8 *data, int len);