<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>