demux_ts_select_demuxer.hpp
00001 #line 54 "./lpsrc/flx_select_demux.ipk"
00002 #ifndef __FLX_DEMUX_TS_SELECT_DEMUXER_H__
00003 #define __FLX_DEMUX_TS_SELECT_DEMUXER_H__
00004
00005 #include "demux_select_demuxer.hpp"
00006 #include "demux_self_piper.hpp"
00007 #include "pthread_mutex.hpp"
00008
00009 namespace flx { namespace demux {
00010
00011
00012
00013 class DEMUX_EXTERN ts_select_demuxer : public posix_demuxer {
00014
00015 flx::pthread::flx_mutex_t ham_fist;
00016
00017 select_demuxer demux;
00018
00019
00020
00021 self_piper sp;
00022 protected:
00023 virtual void get_evts(bool poll);
00024 public:
00025 ts_select_demuxer();
00026 ~ts_select_demuxer();
00027
00028 virtual int add_socket_wakeup(socket_wakeup* sv, int flags);
00029
00030
00031 virtual demux_quit_flag* get_quit_flag() { return demux.get_quit_flag(); }
00032 virtual void set_quit_flag(demux_quit_flag* f) { demux.set_quit_flag(f); }
00033 };
00034 }}
00035
00036 #endif
00037