Fwd: How to set fixed jitter buffer ( pjmedia_jbuf_set_fixed )

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Satei,

i had similar problems, i'm not sure but i think there is a bug in jbuf which prevents
from beeing used as fixed buffer.
Try the change below and initalise the buffer with:

status = pjmedia_jbuf_set_fixed(&jb, size);
status = pjmedia_jbuf_set_discard(&jb,PJMEDIA_JB_DISCARD_NONE);

or similar.

change pjmedia/jbuf.c:

@@ -97,7 +97,7 @@
     unsigned       jb_frame_ptime;     /**< frame duration.                */
     pj_size_t      jb_max_count;       /**< capacity of jitter buffer,
                                             in frames                      */
-    int                    jb_init_prefetch;   /**< Initial prefetch               */
+    int                    jb_init_prefetch;   /**< Initial prefetch, set to 0 for a fixed jbuf!  */
    int                    jb_min_prefetch;    /**< Minimum allowable prefetch     */
     int                    jb_max_prefetch;    /**< Maximum allowable prefetch     */
     int                    jb_max_burst;       /**< maximum possible burst, whenever
@@ -786,8 +786,11 @@
     PJ_ASSERT_RETURN(prefetch <= jb->jb_max_count, PJ_EINVAL);

     jb->jb_min_prefetch = jb->jb_max_prefetch =
-       jb->jb_prefetch = jb->jb_init_prefetch = prefetch;
-
+    jb->jb_prefetch  = prefetch;
+    /* Do not initalize the jb_init_prefetch if jbuf should operate in fixed size mode.
+     * If this is 0, it will prevent dynamic change to 'jb_prefetch'.
+     */
+    jb->jb_init_prefetch=0;
     return PJ_SUCCESS;
}

hope it helps, regards Markus

Von: pjsip [mailto:pjsip-bounces at lists.pjsip.org] Im Auftrag von Satej Dhotkar
Gesendet: Mittwoch, 30. Januar 2013 11:52
An: pjsip at lists.pjsip.org
Betreff: [pjsip] Fwd: How to set fixed jitter buffer ( pjmedia_jbuf_set_fixed )


hello all,
I want set fixed jitter buffer instead of adaptive so,
i have done one change in /pjmedia/src/pjmedia/stream.c
//    pjmedia_jbuf_set_adaptive( stream->jb, jb_init, jb_min_pre, jb_max_pre);

    pjmedia_jbuf_s../src/pjmedia/jbuf.c:501: pjmedia_jbuf_set_fixed: Assertion `prefetch <= jb->jb_max_count' failed.
Abortedet_fixed( stream->jb, 5000 );
but I am getting assertion as following:

../src/pjmedia/jbuf.c:501: pjmedia_jbuf_set_fixed: Assertion `prefetch <= jb->jb_max_count' failed.
Aborted

can anyone tell me how to set fixed jitter buffer???
seeking urgent help......
thanx and regards
Satej

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20130130/bb2643d4/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux