Changeset 201
- Timestamp:
- 12/09/07 22:13:33
(8 months ago)
- Author:
- sip
- Message:
Fixed virtual destructors, added logging.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r177 |
r201 |
|
| 8 | 8 | extern "C" |
|---|
| 9 | 9 | { |
|---|
| | 10 | |
|---|
| | 11 | void H324MLoggerSetLevel(int level) |
|---|
| | 12 | { |
|---|
| | 13 | Logger::SetLevel(level); |
|---|
| | 14 | } |
|---|
| 10 | 15 | |
|---|
| 11 | 16 | void * H324MSessionCreate() |
|---|
| r177 |
r201 |
|
| 19 | 19 | #endif |
|---|
| 20 | 20 | void TIFFReverseBits(unsigned char* buffer,int length); |
|---|
| | 21 | |
|---|
| | 22 | void H324MLoggerSetLevel(int level); |
|---|
| 21 | 23 | |
|---|
| 22 | 24 | void* H324MSessionCreate(void); |
|---|
| r198 |
r201 |
|
| 12 | 12 | virtual void SendClosingFlag()=0; |
|---|
| 13 | 13 | virtual int IsSegmentable() = 0; |
|---|
| 14 | | virtual ~H223ALReceiver() = 0; |
|---|
| | 14 | virtual ~H223ALReceiver() {} |
|---|
| 15 | 15 | }; |
|---|
| 16 | 16 | |
|---|
| … | … | |
| 22 | 22 | virtual void OnPDUCompleted()=0; |
|---|
| 23 | 23 | virtual int IsSegmentable() = 0; |
|---|
| 24 | | virtual ~H223ALSender() = 0; |
|---|
| | 24 | virtual ~H223ALSender() {} |
|---|
| 25 | 25 | }; |
|---|
| 26 | 26 | |
|---|
| … | … | |
| 30 | 30 | //H223SDUListener |
|---|
| 31 | 31 | virtual void OnSDU(BYTE* data,DWORD length) = 0; |
|---|
| 32 | | virtual ~H223SDUListener() = 0; |
|---|
| | 32 | virtual ~H223SDUListener() {} |
|---|
| 33 | 33 | }; |
|---|
| 34 | 34 | #endif |
|---|
| r159 |
r201 |
|
| 52 | 52 | } |
|---|
| 53 | 53 | |
|---|
| | 54 | int H223Demuxer::ReleaseChannel(int num) |
|---|
| | 55 | { |
|---|
| | 56 | // Search channel |
|---|
| | 57 | ALReceiversMap::iterator it = al.find(num); |
|---|
| | 58 | |
|---|
| | 59 | // If not found |
|---|
| | 60 | if (it==al.end()) |
|---|
| | 61 | //Error |
|---|
| | 62 | return 0; |
|---|
| | 63 | |
|---|
| | 64 | // Delete from map |
|---|
| | 65 | al.erase(it); |
|---|
| | 66 | |
|---|
| | 67 | // Exit |
|---|
| | 68 | return 1; |
|---|
| | 69 | } |
|---|
| | 70 | |
|---|
| 54 | 71 | int H223Demuxer::Open(H223MuxTable *table) |
|---|
| 55 | 72 | { |
|---|
| … | … | |
| 97 | 114 | |
|---|
| 98 | 115 | //Send closing flag to all non segmentable channels |
|---|
| 99 | | for(std::map<int,H223ALReceiver*>::iterator it = al.begin(); it != al.end(); it++) |
|---|
| | 116 | for(ALReceiversMap::iterator it = al.begin(); it != al.end(); it++) |
|---|
| 100 | 117 | { |
|---|
| 101 | 118 | //Get channel |
|---|
| … | … | |
| 245 | 262 | |
|---|
| 246 | 263 | //Get channel |
|---|
| 247 | | std::map<int,H223ALReceiver*>::iterator it = al.find(channel); |
|---|
| | 264 | ALReceiversMap::iterator it = al.find(channel); |
|---|
| 248 | 265 | |
|---|
| 249 | 266 | //If not found |
|---|
| r198 |
r201 |
|
| 13 | 13 | class H223Demuxer |
|---|
| 14 | 14 | { |
|---|
| | 15 | private: |
|---|
| | 16 | typedef map<int,H223ALReceiver*> ALReceiversMap; |
|---|
| | 17 | |
|---|
| 15 | 18 | public: |
|---|
| 16 | 19 | //Constructors |
|---|
| … | … | |
| 20 | 23 | int Open(H223MuxTable *table); |
|---|
| 21 | 24 | int SetChannel(int num,H223ALReceiver *receiver); |
|---|
| | 25 | int ReleaseChannel(int num); |
|---|
| 22 | 26 | void Demultiplex(BYTE b); |
|---|
| 23 | 27 | int Demultiplex(BYTE *buffer,int length); |
|---|
| … | … | |
| 32 | 36 | private: |
|---|
| 33 | 37 | H223MuxTable *mux; |
|---|
| 34 | | H223Flag begin; |
|---|
| 35 | | H223Flag flag; |
|---|
| 36 | | H223Header header; |
|---|
| 37 | | |
|---|
| 38 | | //Al channel users |
|---|
| 39 | | std::map<int,H223ALReceiver*> al; |
|---|
| | 38 | H223Flag begin; |
|---|
| | 39 | H223Flag flag; |
|---|
| | 40 | H223Header header; |
|---|
| | 41 | ALReceiversMap al; |
|---|
| 40 | 42 | |
|---|
| 41 | 43 | int state; |
|---|
| r198 |
r201 |
|
| 64 | 64 | |
|---|
| 65 | 65 | |
|---|
| 66 | | int H223Muxer::SetChannel(int channel,H223ALSender *sender) |
|---|
| | 66 | int H223Muxer::SetChannel(int num,H223ALSender *sender) |
|---|
| 67 | 67 | { |
|---|
| 68 | 68 | //Check for null channel |
|---|
| … | … | |
| 72 | 72 | |
|---|
| 73 | 73 | //If the channel already has a sender |
|---|
| 74 | | if (senders.find(channel)!=senders.end()) |
|---|
| | 74 | if (senders.find(num)!=senders.end()) |
|---|
| 75 | 75 | return 0; |
|---|
| 76 | 76 | |
|---|
| 77 | 77 | //Add it to the list |
|---|
| 78 | | senders[channel] = sender; |
|---|
| | 78 | senders[num] = sender; |
|---|
| 79 | 79 | |
|---|
| 80 | 80 | //Good |
|---|
| 81 | 81 | return 1; |
|---|
| 82 | 82 | } |
|---|
| | 83 | |
|---|
| | 84 | int H223Muxer::ReleaseChannel(int num) |
|---|
| | 85 | { |
|---|
| | 86 | // Find channel |
|---|
| | 87 | ALSendersMap::iterator it = senders.find(num); |
|---|
| | 88 | |
|---|
| | 89 | // If not found |
|---|
| | 90 | if (it==senders.end()) |
|---|
| | 91 | //Error |
|---|
| | 92 | return 0; |
|---|
| | 93 | |
|---|
| | 94 | // Remove channel from map |
|---|
| | 95 | senders.erase(it); |
|---|
| | 96 | |
|---|
| | 97 | // Exit |
|---|
| | 98 | return 1; |
|---|
| | 99 | } |
|---|
| | 100 | |
|---|
| 83 | 101 | /********************************** |
|---|
| 84 | 102 | * GetBestMC |
|---|
| r198 |
r201 |
|
| 19 | 19 | |
|---|
| 20 | 20 | int Open(H223MuxTable *table); |
|---|
| 21 | | int SetChannel(int channel,H223ALSender *sender); |
|---|
| | 21 | int SetChannel(int num,H223ALSender *sender); |
|---|
| | 22 | int ReleaseChannel(int num); |
|---|
| 22 | 23 | int Multiplex(BYTE *buffer,int length); |
|---|
| 23 | 24 | BYTE Multiplex(); |
|---|
| r198 |
r201 |
|
| 17 | 17 | virtual int OnChannelStablished(int channel, MediaType type) = 0; |
|---|
| 18 | 18 | virtual int OnChannelReleased(int channel, MediaType type) = 0; |
|---|
| 19 | | virtual ~H245ChannelsFactoryListener() = 0; |
|---|
| | 19 | virtual ~H245ChannelsFactoryListener() {} |
|---|
| 20 | 20 | }; |
|---|
| 21 | 21 | |
|---|
| r198 |
r201 |
|
| 33 | 33 | virtual int OnH245Indication(H245_IndicationMessage& ind) = 0; |
|---|
| 34 | 34 | */ |
|---|
| 35 | | virtual ~H245Connection() = 0; |
|---|
| | 35 | virtual ~H245Connection() {} |
|---|
| 36 | 36 | }; |
|---|
| 37 | 37 | |
|---|
| r198 |
r201 |
|
| 1 | | CXXFLAGS = -DP_USE_PRAGMA -g -D_REENTRANT -O3 -Wall -fPIC -DPIC -DPTRACING -DDUMP_H223 |
|---|
| 2 | | CFLAGS = -DP_USE_PRAGMA -g -D_REENTRANT -O3 -Wall -fPIC -DPIC -DPTRACING -DDUMP_H223 |
|---|
| | 1 | CXXFLAGS = -DP_USE_PRAGMA -g -D_REENTRANT -O3 -Wall -fPIC -DPIC -DPTRACING |
|---|
| | 2 | CFLAGS = -DP_USE_PRAGMA -g -D_REENTRANT -O3 -Wall -fPIC -DPIC -DPTRACING |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | SRC = golay.c \ |
|---|
| r198 |
r201 |
|
| 14 | 14 | virtual void DumpInput(BYTE *data,DWORD len)=0; |
|---|
| 15 | 15 | virtual void DumpOutput(BYTE *data,DWORD len)=0; |
|---|
| 16 | | virtual ~Logger() = 0; |
|---|
| | 16 | virtual ~Logger() {} |
|---|
| 17 | 17 | |
|---|
| 18 | 18 | static void Debug(const char* msg,...); |
|---|
Download in other formats:
|
|