Exemple #1
0
  /**
   * Adds a Slice Loss Indication to the feedback queue
   *
   * @param ssrcMediaSource
   * @param sliFirst macroblock (MB) address of the first lost macroblock
   * @param sliNumber number of lost macroblocks
   * @param sliPictureId six least significant bits of the codec-specific identif
   * @return 0 if packet was queued, -1 if no feedback support, 1 if redundant
   */
  public int fbSlicLossIndication(
      long ssrcMediaSource, int[] sliFirst, int[] sliNumber, int[] sliPictureId) {
    int ret = 0;
    if (this.rtcpAVPFIntf == null) return -1;

    RtcpPktPSFB pkt = new RtcpPktPSFB(this.ssrc, ssrcMediaSource);
    pkt.makeSliceLossIndication(sliFirst, sliNumber, sliPictureId);

    ret = this.rtcpSession.addToFbQueue(ssrcMediaSource, pkt);
    if (ret == 0) this.rtcpSession.wakeSenderThread(ssrcMediaSource);
    return ret;
  }