Opened 18 years ago
Last modified 18 years ago
#87 closed defect
Conference bridge should transmit silence frame when level is zero — at Initial Version
Reported by: | bennylp | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-0.5.10 |
Component: | pjmedia | Version: | 0.5.9 |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description
Currently the conference bridge will transmit PJMEDIA_FRAME_TYPE_NONE to a destination slot when the level is zero, regardless whether there is a source port transmitting to that particular destination slot:
if (cport->tx_setting==PJMEDIA_PORT_MUTE || cport->srv_level==0) { frame.type = PJMEDIA_FRAME_TYPE_NONE; pjmedia_port_put_frame(cport->port, &frame); }
This will cause WAV writer to write nothing to the file, thus causing silence gap to not be written.
The solution, the bridge should distinguish between no listener situation and silence situation:
if (cport->tx_setting == PJMEDIA_PORT_MUTE || cport->transmitter_cnt==0) { // Transmit TYPE_NONE frame ... } else if (cport->src_level==0) { // Transmit silence PCM frame ... }
Note: See
TracTickets for help on using
tickets.