<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div><div>Unfortunately not. The testing was done with a hardware tool called a minimaxwell. This sits between the camera and the network and allows the tester to add network impairment such as jitter, delay, drops, and losses.</div><div><br/></div><div><i><font style="color:#333333">Sent from my Verizon Wireless 4G LTE DROID</font></i></div></div><br><br>Sergio Ammirata <sergio@ammirata.net> wrote:<br><br>David,
<br>
<br>Can you share your testing code/app?
<br>
<br>I am interested in seeing under which edge conditions will it actually
<br>affect the video and/or increase the buffer size.
<br>
<br>Sergio
<br>
<br>On 10/3/13 7:41 AM, "David R Robison" <drrobison@openroadsconsulting.com>
<br>wrote:
<br>
<br>>Any thoughts on this? David
<br>>
<br>>David R Robison
<br>>Open Roads Consulting, Inc.
<br>>103 Watson Road, Chesapeake, VA 23320
<br>>phone: (757) 546-3401
<br>>e-mail: drrobison@openroadsconsulting.com
<br>>web: http://openroadsconsulting.com
<br>>blog: http://therobe.blogspot.com
<br>>book: 
<br>>http://www.xulonpress.com/bookstore/bookdetail.php?PB_ISBN=9781597816526
<br>>
<br>>On 10/1/2013 10:40 AM, David Robison wrote:
<br>>> To test this change, I used a MiniMaxwell which allows me to introduce
<br>>>jitter, delay, and packet re-ordering in the video stream. I ran for
<br>>>over 12 hours with no effect on the video and no increase in buffer
<br>>>size. I'm reattaching the final patch here. I've made 2 basic changes to
<br>>>the buffering strategy:
<br>>>
<br>>> 1) I now check to see if I and done buffering on both the
<br>>>ES_OUT_SET_PCR and ES_OUT_SET_GROUP_PCR calls. This causes the buffered
<br>>>amount to be checked more frequently and prevents over buffering which I
<br>>>have seen in some instances
<br>>> 2) When ignoring the jitter, I do not flush the buffer and rebuffer,
<br>>>since I am not increasing the buffer size anyway. Instead I just reset
<br>>>the PCR and continue on.
<br>>>
<br>>> Here is the final patch, Any comments?
<br>>> David
<br>>>
<br>>> diff --git a/src/input/es_out.c b/src/input/es_out.c
<br>>> index 68acf5e..c2431ba 100644
<br>>> --- a/src/input/es_out.c
<br>>> +++ b/src/input/es_out.c
<br>>> @@ -2309,14 +2309,14 @@ static int EsOutControlLocked( es_out_t *out,
<br>>>int i_query, va_list args )
<br>>>                               EsOutIsExtraBufferingAllowed( out ),
<br>>>                               i_pcr, mdate() );
<br>>>   
<br>>> -        if( p_pgrm == p_sys->p_pgrm )
<br>>> +        if( p_sys->b_buffering )
<br>>>           {
<br>>> -            if( p_sys->b_buffering )
<br>>> -            {
<br>>> -                /* Check buffering state on master clock update */
<br>>> -                EsOutDecodersStopBuffering( out, false );
<br>>> -            }
<br>>> -            else if( b_late && ( !p_sys->p_input->p->p_sout ||
<br>>> +            /* Check buffering state on master clock update */
<br>>> +            EsOutDecodersStopBuffering( out, false );
<br>>> +        }
<br>>> +        else if( p_pgrm == p_sys->p_pgrm )
<br>>> +        {
<br>>> +            if( b_late && ( !p_sys->p_input->p->p_sout ||
<br>>>                 
<br>>>!p_sys->p_input->p->b_out_pace_control ) )
<br>>>               {
<br>>>                   const mtime_t i_pts_delay_base = p_sys->i_pts_delay -
<br>>>p_sys->i_pts_jitter;
<br>>> @@ -2330,19 +2330,23 @@ static int EsOutControlLocked( es_out_t *out,
<br>>>int i_query, va_list args )
<br>>>                                "ES_OUT_SET_(GROUP_)PCR  is called too
<br>>>late (jitter of %d ms ignored)",
<br>>>                                (int)(i_pts_delay - i_pts_delay_base) /
<br>>>1000 );
<br>>>                       i_pts_delay = p_sys->i_pts_delay;
<br>>> +
<br>>> +                    /* reset clock */
<br>>> +                    for( int i = 0; i < p_sys->i_pgrm; i++ )
<br>>> +                      input_clock_Reset( p_sys->pgrm[i]->p_clock );
<br>>>                   }
<br>>>                   else
<br>>>                   {
<br>>>                       msg_Err( p_sys->p_input,
<br>>>                                "ES_OUT_SET_(GROUP_)PCR  is called too
<br>>>late (pts_delay increased to %d ms)",
<br>>>                                (int)(i_pts_delay/1000) );
<br>>> -                }
<br>>>   
<br>>> -                /* Force a rebufferization when we are too late */
<br>>> +                    /* Force a rebufferization when we are too late */
<br>>>   
<br>>> -                /* It is not really good, as we throw away already
<br>>>buffered data
<br>>> -                 * TODO have a mean to correctly reenter bufferization
<br>>>*/
<br>>> -                es_out_Control( out, ES_OUT_RESET_PCR );
<br>>> +                    /* It is not really good, as we throw away already
<br>>>buffered data
<br>>> +                     * TODO have a mean to correctly reenter
<br>>>bufferization */
<br>>> +                    es_out_Control( out, ES_OUT_RESET_PCR );
<br>>> +                }
<br>>>   
<br>>>                   es_out_SetJitter( out, i_pts_delay_base, i_pts_delay
<br>>>- i_pts_delay_base, p_sys->i_cr_average );
<br>>>               }
<br>>> -- 
<br>>> 1.7.9.5
<br>>>
<br>>>    _____
<br>>> From: RĂ©mi Denis-Courmont [mailto:remi@remlab.net]
<br>>> To: Mailing list for VLC media player developers
<br>>>[mailto:vlc-devel@videolan.org]
<br>>> Sent: Thu, 26 Sep 2013 10:03:03 -0400
<br>>> Subject: Re: [vlc-devel] [PATCH] Do not rebuffer if not increasing
<br>>>buffer   size
<br>>>
<br>>> Is there any easy way to test it?
<br>>>
<br>>
<br>>
<br>>
<br>>This email communication (including any attachments) may contain
<br>>confidential and/or privileged material intended solely for the
<br>>individual or entity to which it is addressed.
<br>>If you are not the intended recipient, please delete this email
<br>>immediately.
<br>>
<br>>_______________________________________________
<br>>vlc-devel mailing list
<br>>To unsubscribe or modify your subscription options:
<br>>https://mailman.videolan.org/listinfo/vlc-devel
<br>
<br>
<br>_______________________________________________
<br>vlc-devel mailing list
<br>To unsubscribe or modify your subscription options:
<br>https://mailman.videolan.org/listinfo/vlc-devel
<br><BR />
<BR />
<HR />
This email communication (including any attachments) may contain confidential and/or privileged material intended solely for the individual or entity to which it is addressed.<BR />
If you are not the intended recipient, please delete this email immediately.<BR />
</body>
</html>