Probable Bug in get_frame() in Stream.c, when jitter buffer is empty

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

 



Hi Nanang,

Thanks for your reply.

The issue is due to this problem, i get a segmentation fault, becuase i do a pjmedia_port_get_frame() and then call pjmedia_port_put_frame(), as the frame is empty so put_frame seg faults.

Actually i dont want to do get_frames, until i am sure that jitter buffer is not empty. With existing problem in the code, pjmedia_port_get_frame() returns 'PJ_SUCCESS' and ''PJMEDIA_FRAME_TYPE_AUDIO', so there is no way for me to know whether the call has failed or not, so that i dont call put_frame() in case the call has failed.

Is there any other work around, i tried using pjmedia_jbuf_get_state() before calling get_frame(), but as Pjmedia_stream is defined in the stream.c only, its giving me problems.

Please let me know in case you have any idea to overcome this issue?

Thanks n regards,
Manjeet



--- On Mon, 3/2/09, Nanang Izzuddin <nanang at pjsip.org> wrote:
From: Nanang Izzuddin <nanang@xxxxxxxxx>
Subject: Re: Probable Bug in get_frame() in Stream.c, when jitter  buffer is empty
To: "pjsip list" <pjsip at lists.pjsip.org>
Date: Monday, March 2, 2009, 6:48 PM

Hi,

I guess you're right, stream.c always returns
PJMEDIA_FRAME_TYPE_AUDIO, however it should be fine since stream
invokes PLC and/or zero-fill when jitter buffer returning non-normal
frame. It just seems that the samples_count check is useless there.

Regards,
nanang


On Mon, Mar 2, 2009 at 1:28 PM, manjeet <manjeetss1 at yahoo.com> wrote:
> Hi,
>
> Could somebody please reply, in case he/she has faced the similar issue?
>
> Regards,
> Manjeet
>
>
>
> --- On Sat, 2/28/09, manjeet <manjeetss1 at yahoo.com> wrote:
>
> From: manjeet <manjeetss1@xxxxxxxxx>
> Subject: Probably issue in get_frame() in Stream.c, when jitter
> buffer is empty
> To: pjsip at lists.pjsip.org
> Date: Saturday, February 28, 2009, 7:09 PM
>
> Hi All,
>
> I am facing issues when i call pjmedia_port_get_frame() and there are no
> frames in the jitter buffer.
>
> I am using streams (so get_frame() from stream.c gets called), and i get
the
> following error :- strm0x81052ac? Jitter buffer empty (prefetch=0), that
> seems to be OK.
>
> But the issue is the "frame->type" returned is always
> "PJMEDIA_FRAME_TYPE_AUDIO", instead of
"PJMEDIA_FRAME_TYPE_NONE".
>
> I looked at the get_frame() code in stream.c file, and i think the code
has
> a BUG in case the frame->type is
"PJMEDIA_JB_ZERO_EMPTY_FRAME", as
> 'samples_count' will never be 0, on the basis of which we assign
the value
> to 'frame->type' at the end of get_frame() callback.
>
> Did anybody else also faced the similar problem or could somebody pl help?
>
> Thanks n regards,
> Manjeet
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip at lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090302/5a0c8248/attachment.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