From f3ab456a17af1c89a6e3be4d20c5944853df1cb0 Mon Sep 17 00:00:00 2001 From: "David M. Lee" Date: Mon, 7 Jan 2013 14:24:28 -0600 Subject: Import pjproject-2.0.1 --- pjmedia/build/Jbtest.dat | 578 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 578 insertions(+) create mode 100644 pjmedia/build/Jbtest.dat (limited to 'pjmedia/build/Jbtest.dat') diff --git a/pjmedia/build/Jbtest.dat b/pjmedia/build/Jbtest.dat new file mode 100644 index 0000000..4f5a67f --- /dev/null +++ b/pjmedia/build/Jbtest.dat @@ -0,0 +1,578 @@ +# +# ====================================================================== +# Jitter Buffer test data, containing one or more test sessions +# ====================================================================== +# +# A test session format: +# +# 1. Session title, started with '=', example: +# = Bursty environment +# +# 2. Session setting, started with '%', followed by params: +# - mode, possible values: 'adaptive' or 'fixed' +# - initial prefetch, in frames +# - minimum prefetch (for adaptive mode only), in frames +# - maximum prefetch (for adaptive mode only), in frames +# Example: +# %adaptive 0 0 40 +# %fixed 10 +# +# 3. Success conditions, started with '!', followed by condition name +# and its maximum tolerable value, in frames unit. Recognized condition +# names are: burst, discard, lost, empty, delay, delay_min. These +# conditions will be verified with jitter buffer statistics after all +# session test data are executed. +# Example: +# !delay 10 <- average delay of jbuf is 10 frames +# +# 4. Session test data, containing sequence of jitter buffer events, +# an event is represented by a character as follow: +# - P: PUT a frame into jitter buffer +# - G: GET a frame from jitter buffer +# - L: generate a Lost frame, i.e: sequence jump by 1 +# - R: sequence Restart +# - J: sequence Jump by 20 +# - D: generate a Duplicated frame +# - O: generate an Old/late (and perhaps also duplicated) frame +# Example: +# PGPGPGPGPG <- ideal condition, PUT and GET one after another +# +# 5. End of session test data, marked by '.' +# +# ====================================================================== +# + += Ideal condition +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 0 +!empty 0 +!delay 1 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += DTX +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 0 +!empty 20 +!delay 1 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# Start silence +GGGGGGGGGGGGGGGGGGGG +# End silence +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += Regular burst (three gets three puts) +%adaptive 0 0 10 +!burst 3 +!discard 0 +!lost 0 +!empty 0 +!delay 3 +PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG +PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG +. + += Random burst (no drift) +%adaptive 0 0 10 +!burst 4 +!discard 1 <- there may be delay adaptation caused by multiple empty GETs followed by multiple PUTs, later when burst level reaches 'stable' condition, JB may shrink some excess frames +!lost 0 +!empty 4 +!delay 4 +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +. + += Random burst (with drift, PUT > GET) +%adaptive 0 0 10 +!burst 4 +!discard 68 <- number of PUT - GET, JB does shrinking by discarding frames +!lost 68 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 4 +!delay 8 <- should be less than or equal to twice of burst +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +. + += Random burst (with drift, PUT < GET) +%adaptive 0 0 10 +!burst 4 +!discard 0 +!lost 0 +!empty 70 <- GET - PUT = 66, added 4 for tolerating empty caused by burst +!delay 4 <- should be less than or equal to burst +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +. + += Packet lost +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 7 +!empty 3 +!delay 3 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# Some losts +LGPGPGLGPGPGPGLGPGPG +# Normal +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# More losts +PLPGGGPPPGGGPLPGGGPG PLPGGGPPPGGGPLPGGGPG +# Normal +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += Sequence restart +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 0 +!empty 0 +!delay 1 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# seq restarted after 120 PUTs (default MAX_MISORDER == 100) +R +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += Duplicated frames += e.g.: some Forward Error Correction (FEC) methods. +%adaptive 0 0 10 +!burst 1 +!discard 40 +!lost 0 +!empty 0 +!delay 1 +PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG +PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG +. + += Late frames +%adaptive 0 0 10 +!burst 1 +!discard 8 <- late frames are discarded + delay adaptation +!lost 4 +!empty 4 +!delay 4 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# Suddenly there are some lost frames +LGLGPGLGLGPG +# Those lost frames are actually late (+misordered), here they come +OOOO +# Then back to normal +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += PUT burst at the beginning +%adaptive 0 0 10 +!burst 1 +!discard 50 <- frames discarded for delay adaptation +!lost 50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 0 +!delay_min 2 <- minimum delay, JB is able to adapt the delay +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +. + += Fixed mode prefetch 5, with two empty events +%fixed 5 +!burst 1 +!discard 4 <- the burst level is about 1, but prefetching will cause delay by 5 frames prefetching, delay adjustment may take place later on +!lost 4 <- progressive discard drops frames as if they were lost +!empty 10 +!delay 5 +G +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +GGGGG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +. + += Fixed mode prefetch 5, with random burst +%fixed 5 +!burst 3 +!discard 4 <- (see above test scenario) +!lost 4 <- (see above test scenario) +!empty 5 +!delay 5 +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +. + += Fixed mode prefetch 10, PUT burst at the beginning +%fixed 10 +!burst 1 +!discard 50 <- frames discarded for delay adaptation +!lost 50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 0 +!delay_min 20 <- minimum delay, twice of minimal prefetch +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +. + += Large PUT burst at beginning, then normal with burst level 10 and periodic burst spikes +%adaptive 0 0 40 +!burst 12 +!discard 300 <- not so relevant for long period session with many delay adjustments needed (i.e: for first burst and periodic spikes) +!lost 300 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 60 <- delay adjustment effect, as there is actually no drift +!delay 20 <- twice of burst level average +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +. -- cgit v1.2.3