ntp_time = force_pts;
ntp_time = ((int64_t)force_pts << 28) / 5625;
static int rtp_write_packet(AVFormatContext *s1, int stream_index,                            uint8_t *buf1, int size, int force_pts){    RTPContext *s = s1->priv_data;    AVStream *st = s1->streams[0];    int rtcp_bytes;    int64_t ntp_time;    #ifdef DEBUG    printf("%d: write len=%d\n", stream_index, size);#endif    /* XXX: mpeg pts hardcoded. RTCP send every 0.5 seconds */    rtcp_bytes = ((s->octet_count - s->last_octet_count) * RTCP_TX_RATIO_NUM) /         RTCP_TX_RATIO_DEN;    if (s->first_packet || rtcp_bytes >= 28) {        /* compute NTP time */        ntp_time = force_pts; // ((int64_t)force_pts << 28) / 5625        rtcp_send_sr(s1, ntp_time);         s->last_octet_count = s->octet_count;        s->first_packet = 0;    }    switch(st->codec.codec_id) {    case CODEC_ID_PCM_MULAW:    case CODEC_ID_PCM_ALAW:    case CODEC_ID_PCM_U8:    case CODEC_ID_PCM_S8:        rtp_send_samples(s1, buf1, size, 1 * st->codec.channels);        break;    case CODEC_ID_PCM_U16BE:    case CODEC_ID_PCM_U16LE:    case CODEC_ID_PCM_S16BE:    case CODEC_ID_PCM_S16LE:        rtp_send_samples(s1, buf1, size, 2 * st->codec.channels);        break;    case CODEC_ID_MP2:    case CODEC_ID_MP3LAME:        rtp_send_mpegaudio(s1, buf1, size);        break;    case CODEC_ID_MPEG1VIDEO:        rtp_send_mpegvideo(s1, buf1, size);        break;    default:        /* better than nothing : send the codec raw data */        rtp_send_raw(s1, buf1, size);        break;    }    return 0;}