Opened 17 years ago

Closed 17 years ago

#87 closed defect (fixed)

Conference bridge should transmit silence frame when level is zero

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 (last modified by bennylp)

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 (3)

comment:1 Changed 17 years ago by bennylp

  • Description modified (diff)

comment:2 Changed 17 years ago by bennylp

  • Description modified (diff)

comment:3 Changed 17 years ago by bennylp

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in r930.

Note: See TracTickets for help on using tickets.