요 예제..example1.c
example2.c 요거
전송 과 받는 측 예제인데...
RTPExecute()요함수 부분에서 리턴값을 검사를 해서
RTP_OK가 아니면 다음 처리로 넘어가야 하는데
while (evt_queue != NULL && evt_queue->event_time <= now) {
/* There is a pending RTP event (currently this means there's
* an RTCP packet to send), so run it. */
RTPExecute(evt_queue->cid, evt_queue->event_opaque);
/* Advance the queue */
next = evt_queue->next;
free(evt_queue);
evt_queue = next;
}
봐라 소스... 리턴값 검사 안한다.
RTPExecute시, DONT_SEND_NOW가 발생할수 있다.
즉, 지금 현재 보낼수 없고 다음에 보낸다는 것인데.
리턴값 검사안하고 함수 호출후 현 이벤트큐를 지워 버린다.
즉, 상대방에게 SR 또는 RR를 보내지 못하게 된다.
못 보내면 어떻게 되냐고??
SR과 RR정보는 패킷이 몇개 수신 되었고 몇개 짤렸고
언제쯤 도착했다라는 정보가 있고
그 정보로 네트워크 전송 속도를 제어 한다든지 인코딩시
저화질 , 고화질로 선택 할수 있다는거지.
ADSL 라이트로 XVID 인코딩된 데이터 다중채널(2영상) 보내다가
컴퓨터가 디져븠다.
왜 죽을까 원인은 모른다^^
송신 버퍼가 가득 차서 일까^^
RTP 요거 물건이긴 한데
다중채널일시 네트워크 대역폭은 계산해야 한다는거!
ㅋ
example2.c 요거
전송 과 받는 측 예제인데...
RTPExecute()요함수 부분에서 리턴값을 검사를 해서
RTP_OK가 아니면 다음 처리로 넘어가야 하는데
while (evt_queue != NULL && evt_queue->event_time <= now) {
/* There is a pending RTP event (currently this means there's
* an RTCP packet to send), so run it. */
RTPExecute(evt_queue->cid, evt_queue->event_opaque);
/* Advance the queue */
next = evt_queue->next;
free(evt_queue);
evt_queue = next;
}
봐라 소스... 리턴값 검사 안한다.
RTPExecute시, DONT_SEND_NOW가 발생할수 있다.
즉, 지금 현재 보낼수 없고 다음에 보낸다는 것인데.
리턴값 검사안하고 함수 호출후 현 이벤트큐를 지워 버린다.
즉, 상대방에게 SR 또는 RR를 보내지 못하게 된다.
못 보내면 어떻게 되냐고??
SR과 RR정보는 패킷이 몇개 수신 되었고 몇개 짤렸고
언제쯤 도착했다라는 정보가 있고
그 정보로 네트워크 전송 속도를 제어 한다든지 인코딩시
저화질 , 고화질로 선택 할수 있다는거지.
ADSL 라이트로 XVID 인코딩된 데이터 다중채널(2영상) 보내다가
컴퓨터가 디져븠다.
왜 죽을까 원인은 모른다^^
송신 버퍼가 가득 차서 일까^^
RTP 요거 물건이긴 한데
다중채널일시 네트워크 대역폭은 계산해야 한다는거!
ㅋ
'프로그래밍 > C | C++' 카테고리의 다른 글
클래스 가상함수, 순수가상함수 (0) | 2013.08.14 |
---|---|
윈도우 malloc (0) | 2013.08.14 |
RTP 문서 한글 번역본 (0) | 2013.08.14 |
문자열 처리 함수 정리 (0) | 2013.08.14 |
FFMPEG 압축 기본적인 사용법 (0) | 2013.08.14 |