Opened 17 years ago

Last modified 17 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
       ...
    }

Change History (0)

Note: See TracTickets for help on using tickets.