tsdpparse.in
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:28k
源码类别:

Symbian

开发平台:

C/C++

  1. # Init <version number>
  2. # Parse <parse result> <value count> <sdp string>
  3. # IntCount <value index> <num of int fields>
  4. # StringCount <value index> <num of string fields>
  5. # BufferCount <value index> <num of buffer fields>
  6. # GetInt <value index> <field name> <expected value>
  7. # GetString <value index> <field name> <expected value>
  8. # GetBuffer <value index> <field name> <expected value>
  9. Init 123456
  10. Parse 0x00000000 1 ""
  11. IntCount 0 0
  12. StringCount 0 0
  13. BufferCount 0 0
  14. Init 123456
  15. Parse 0x00000000 1 "nnnv=0"
  16. IntCount 0 0
  17. StringCount 0 0
  18. BufferCount 0 0
  19. # Invalid SDP version. Need upgrade
  20. Init 123456
  21. Parse 0x80004005 0 "v=1rna=foo:barrn"
  22. #Parse 0x00000000 1 "v=1rn"
  23. #IntCount 0 2
  24. #GetInt 0 LiveStream 1
  25. #GetInt 0 StreamCount 0
  26. #StringCount 0 0
  27. #BufferCount 0 0
  28. # Invalid SDP version. Need upgrade
  29. Init 123456
  30. Parse 0x80004005 0 "v=1rna=foo:barrn"
  31. # Test flag field
  32. Init 123456
  33. Parse 0x00000000 1 "v=0rna=foorn"
  34. IntCount 0 0
  35. StringCount 0 1
  36. GetString 0 SDPData "a=foon"
  37. BufferCount 0 0
  38. # Test unknown key/value field
  39. Init 123456
  40. Parse 0x00000000 1 "v=0rna=foo:barrn"
  41. IntCount 0 0
  42. StringCount 0 1
  43. GetString 0 SDPData "a=foo:barn"
  44. BufferCount 0 0
  45. # o= line
  46. Init 123456
  47. Parse 0x00000000 1 "v=0rno=dskjfhrn"
  48. IntCount 0 0
  49. StringCount 0 0
  50. BufferCount 0 0
  51. # s= line
  52. Init 123456
  53. Parse 0x00000000 1 "v=0rns=dskjfhrn"
  54. IntCount 0 0
  55. StringCount 0 0
  56. BufferCount 0 0
  57. # Test unknown session level line type like "u="
  58. Init 123456
  59. Parse 0x00000000 1 "v=0rnu=http://www.foo.com/index.htmlrn"
  60. IntCount 0 0
  61. StringCount 0 1
  62. GetString 0 SDPData "u=http://www.foo.com/index.htmln"
  63. BufferCount 0 0
  64. # Test unknown session level line type like "k="
  65. Init 123456
  66. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rnk=uri:http://www.foo.com/thekey.htmlrn"
  67. IntCount 0 2
  68. GetInt 0 LiveStream 1
  69. GetInt 0 StreamCount 1
  70. StringCount 0 0
  71. BufferCount 0 0
  72. IntCount 1 8
  73. GetInt 1 AvgBitRate 0
  74. GetInt 1 Channels 0
  75. GetInt 1 HXTimestampConversionFactor 1
  76. GetInt 1 Port 42
  77. GetInt 1 RTPPayloadType 34
  78. GetInt 1 RTPTimestampConversionFactor 90
  79. GetInt 1 SamplesPerSecond 90000
  80. GetInt 1 StreamNumber 0
  81. StringCount 1 3
  82. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  83. GetString 1 MimeType "video/H263"
  84. GetString 1 SDPData "k=uri:http://www.foo.com/thekey.htmln"
  85. BufferCount 1 0
  86. # single payload type
  87. Init 123456
  88. Parse 0x00000000 2 "v=0rnm=audio 42 RTP/AVP 0rn"
  89. IntCount 0 2
  90. GetInt 0 LiveStream 1
  91. GetInt 0 StreamCount 1
  92. StringCount 0 0
  93. BufferCount 0 0
  94. IntCount 1 8
  95. GetInt 1 AvgBitRate 64000
  96. GetInt 1 Channels 1
  97. GetInt 1 HXTimestampConversionFactor 1
  98. GetInt 1 Port 42
  99. GetInt 1 RTPPayloadType 0
  100. GetInt 1 RTPTimestampConversionFactor 8
  101. GetInt 1 SamplesPerSecond 8000
  102. GetInt 1 StreamNumber 0
  103. StringCount 1 2
  104. GetString 1 ASMRuleBook "marker=0,AverageBandwidth=32000;marker=1,AverageBandwidth=32000;"
  105. GetString 1 MimeType "audio/PCMU"
  106. BufferCount 1 0
  107. # multiple payload types
  108. Init 123456
  109. Parse 0x00000000 2 "v=0rnm=audio 46 RTP/AVP 10 11 0rn"
  110. IntCount 0 2
  111. GetInt 0 LiveStream 1
  112. GetInt 0 StreamCount 1
  113. StringCount 0 0
  114. BufferCount 0 0
  115. IntCount 1 8
  116. GetInt 1 AvgBitRate 1411200
  117. GetInt 1 Channels 2
  118. GetInt 1 HXTimestampConversionFactor 10
  119. GetInt 1 Port 46
  120. GetInt 1 RTPPayloadType 10
  121. GetInt 1 RTPTimestampConversionFactor 441
  122. GetInt 1 SamplesPerSecond 44100
  123. GetInt 1 StreamNumber 0
  124. StringCount 1 2
  125. GetString 1 ASMRuleBook "marker=0,AverageBandwidth=705600;marker=1,AverageBandwidth=705600;"
  126. GetString 1 MimeType audio/L16
  127. BufferCount 1 0
  128. # invalid payload type. Force update
  129. Init 123456
  130. Parse 0x80040017 0 "v=0rnm=audio 42 RTP/AVP 20rn"
  131. # invalid payload type. Force update at next media line
  132. Init 123456
  133. Parse 0x80040017 0 "v=0rnm=audio 42 RTP/AVP 20rnm=audio 44 RTP/AVP 0rn"
  134. # Handle propagation of session level range into media level
  135. Init 123456
  136. Parse 0x00000000 2 "v=0rna=range:npt=0-10rnm=audio 42 RTP/AVP 0rn"
  137. IntCount 0 2
  138. GetInt 0 Duration 10000
  139. GetInt 0 StreamCount 1
  140. StringCount 0 0
  141. BufferCount 0 0
  142. IntCount 1 9
  143. GetInt 1 AvgBitRate 64000
  144. GetInt 1 Channels 1
  145. GetInt 1 Duration 10000
  146. GetInt 1 HXTimestampConversionFactor 1
  147. GetInt 1 Port 42
  148. GetInt 1 RTPPayloadType 0
  149. GetInt 1 RTPTimestampConversionFactor 8
  150. GetInt 1 SamplesPerSecond 8000
  151. GetInt 1 StreamNumber 0
  152. StringCount 1 2
  153. GetString 1 ASMRuleBook "marker=0,AverageBandwidth=32000;marker=1,AverageBandwidth=32000;"
  154. GetString 1 MimeType "audio/PCMU"
  155. BufferCount 1 0
  156. # Handle GSM hack
  157. Init 123456
  158. Parse 0x00000000 2 "v=0rnm=audio 42 RTP/AVP 3rn"
  159. IntCount 0 2
  160. GetInt 0 LiveStream 1
  161. GetInt 0 StreamCount 1
  162. StringCount 0 0
  163. BufferCount 0 0
  164. IntCount 1 8
  165. GetInt 1 AvgBitRate 0
  166. GetInt 1 Channels 1
  167. GetInt 1 HXTimestampConversionFactor 1
  168. GetInt 1 Port 42
  169. GetInt 1 RTPPayloadType 3
  170. GetInt 1 RTPTimestampConversionFactor 8
  171. GetInt 1 SamplesPerSecond 8000
  172. GetInt 1 StreamNumber 0
  173. StringCount 1 2
  174. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  175. GetString 1 MimeType "audio/x-pn-gsm610"
  176. BufferCount 1 1
  177. GetBuffer 1 OpaqueData "31000100401f00005906000041000000020040012626"
  178. # rtpmap field test with encoding only
  179. Init 123456
  180. Parse 0x00000000 2 "v=0rnm=audio 42 RTP/AVP 101rna=rtpmap:101 ABC"
  181. IntCount 0 2
  182. GetInt 0 LiveStream 1
  183. GetInt 0 StreamCount 1
  184. StringCount 0 0
  185. BufferCount 0 0
  186. IntCount 1 4
  187. GetInt 1 AvgBitRate 0
  188. GetInt 1 Port 42
  189. GetInt 1 RTPPayloadType 101
  190. GetInt 1 StreamNumber 0
  191. StringCount 1 2
  192. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  193. GetString 1 MimeType "audio/ABC"
  194. BufferCount 1 0
  195. # rtpmap field test with encoding and sample rate only
  196. Init 123456
  197. Parse 0x00000000 2 "v=0rnm=audio 42 RTP/AVP 101rna=rtpmap:101 ABC/90000"
  198. IntCount 0 2
  199. GetInt 0 LiveStream 1
  200. GetInt 0 StreamCount 1
  201. StringCount 0 0
  202. BufferCount 0 0
  203. IntCount 1 5
  204. GetInt 1 AvgBitRate 0
  205. GetInt 1 Port 42
  206. GetInt 1 RTPPayloadType 101
  207. GetInt 1 SamplesPerSecond 90000
  208. GetInt 1 StreamNumber 0
  209. StringCount 1 2
  210. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  211. GetString 1 MimeType "audio/ABC"
  212. BufferCount 1 0
  213. # rtpmap field test with encoding, sample rate, and channels
  214. Init 123456
  215. Parse 0x00000000 2 "v=0rnm=audio 42 RTP/AVP 101rna=rtpmap:101 ABC/90000/2"
  216. IntCount 0 2
  217. GetInt 0 LiveStream 1
  218. GetInt 0 StreamCount 1
  219. StringCount 0 0
  220. BufferCount 0 0
  221. IntCount 1 6
  222. GetInt 1 AvgBitRate 0
  223. GetInt 1 Channels 2
  224. GetInt 1 Port 42
  225. GetInt 1 RTPPayloadType 101
  226. GetInt 1 SamplesPerSecond 90000
  227. GetInt 1 StreamNumber 0
  228. StringCount 1 2
  229. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  230. GetString 1 MimeType "audio/ABC"
  231. BufferCount 1 0
  232. # fmtp tests
  233. Init 123456
  234. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=fmtp:34 profile-id=0"
  235. IntCount 0 2
  236. GetInt 0 LiveStream 1
  237. GetInt 0 StreamCount 1
  238. StringCount 0 0
  239. BufferCount 0 0
  240. IntCount 1 9
  241. GetInt 1 AvgBitRate 0
  242. GetInt 1 Channels 0
  243. GetInt 1 FMTPprofile-id 0
  244. GetInt 1 HXTimestampConversionFactor 1
  245. GetInt 1 Port 42
  246. GetInt 1 RTPPayloadType 34
  247. GetInt 1 RTPTimestampConversionFactor 90
  248. GetInt 1 SamplesPerSecond 90000
  249. GetInt 1 StreamNumber 0
  250. StringCount 1 3
  251. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  252. GetString 1 MimeType "video/H263"
  253. GetString 1 PayloadParameters "profile-id=0"
  254. BufferCount 1 0
  255. # Test partial SDP FMTP chunk
  256. Init 123456
  257. Parse 0x00000000 1 "a=fmtp:101 object=2;cpresent=1;config=200013901387"
  258. IntCount 0 2
  259. GetInt 0 FMTPobject 2
  260. GetInt 0 FMTPcpresent 1
  261. StringCount 0 2
  262. GetString 0 PayloadParameters "object=2;cpresent=1;config=200013901387"
  263. GetString 0 FMTPconfig "200013901387"
  264. BufferCount 0 0
  265. # Test the case where the fmtp does not match the RTPPayloadType
  266. Init 123456
  267. Parse 0x00000000 2 "m=video 42 RTP/AVP 102rna=fmtp:101 object=2;cpresent=1;config=200013901387"
  268. IntCount 0 2
  269. GetInt 0 StreamCount 1
  270. GetInt 0 LiveStream 1
  271. StringCount 0 0
  272. BufferCount 0 0
  273. IntCount 1 4
  274. GetInt 1 StreamNumber 0
  275. GetInt 1 AvgBitRate 0
  276. GetInt 1 RTPPayloadType 102
  277. GetInt 1 Port 42
  278. StringCount 1 1
  279. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  280. BufferCount 1 0
  281. # ptime test
  282. Init 123456
  283. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=ptime:5"
  284. IntCount 0 2
  285. GetInt 0 LiveStream 1
  286. GetInt 0 StreamCount 1
  287. StringCount 0 0
  288. BufferCount 0 0
  289. IntCount 1 9
  290. GetInt 1 AvgBitRate 0
  291. GetInt 1 Channels 0
  292. GetInt 1 HXTimestampConversionFactor 1
  293. GetInt 1 Port 42
  294. GetInt 1 Ptime 5
  295. GetInt 1 RTPPayloadType 34
  296. GetInt 1 RTPTimestampConversionFactor 90
  297. GetInt 1 SamplesPerSecond 90000
  298. GetInt 1 StreamNumber 0
  299. StringCount 1 2
  300. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  301. GetString 1 MimeType "video/H263"
  302. BufferCount 1 0
  303. # x-bufferdelay test
  304. Init 123456
  305. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=x-bufferdelay:43"
  306. IntCount 0 2
  307. GetInt 0 LiveStream 1
  308. GetInt 0 StreamCount 1
  309. StringCount 0 0
  310. BufferCount 0 0
  311. IntCount 1 9
  312. GetInt 1 AvgBitRate 0
  313. GetInt 1 Channels 0
  314. GetInt 1 HXTimestampConversionFactor 1
  315. GetInt 1 Port 42
  316. GetInt 1 Preroll 43
  317. GetInt 1 RTPPayloadType 34
  318. GetInt 1 RTPTimestampConversionFactor 90
  319. GetInt 1 SamplesPerSecond 90000
  320. GetInt 1 StreamNumber 0
  321. StringCount 1 2
  322. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  323. GetString 1 MimeType "video/H263"
  324. BufferCount 1 0
  325. # x-bufferdelay test w/ Preroll present
  326. Init 123456
  327. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=Preroll:integer;64rna=x-bufferdelay:43"
  328. IntCount 0 2
  329. GetInt 0 LiveStream 1
  330. GetInt 0 StreamCount 1
  331. StringCount 0 0
  332. BufferCount 0 0
  333. IntCount 1 9
  334. GetInt 1 AvgBitRate 0
  335. GetInt 1 Channels 0
  336. GetInt 1 HXTimestampConversionFactor 1
  337. GetInt 1 Port 42
  338. GetInt 1 Preroll 64
  339. GetInt 1 RTPPayloadType 34
  340. GetInt 1 RTPTimestampConversionFactor 90
  341. GetInt 1 SamplesPerSecond 90000
  342. GetInt 1 StreamNumber 0
  343. StringCount 1 2
  344. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  345. GetString 1 MimeType "video/H263"
  346. BufferCount 1 0
  347. # x-initpredecbufperiod test
  348. Init 123456
  349. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=x-initpredecbufperiod:45000"
  350. IntCount 0 2
  351. GetInt 0 LiveStream 1
  352. GetInt 0 StreamCount 1
  353. StringCount 0 0
  354. BufferCount 0 0
  355. IntCount 1 9
  356. GetInt 1 AvgBitRate 0
  357. GetInt 1 Channels 0
  358. GetInt 1 HXTimestampConversionFactor 1
  359. GetInt 1 Port 42
  360. GetInt 1 Preroll 500
  361. GetInt 1 RTPPayloadType 34
  362. GetInt 1 RTPTimestampConversionFactor 90
  363. GetInt 1 SamplesPerSecond 90000
  364. GetInt 1 StreamNumber 0
  365. StringCount 1 2
  366. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  367. GetString 1 MimeType "video/H263"
  368. BufferCount 1 0
  369. # x-initpredecbufperiod test w/ Preroll present
  370. Init 123456
  371. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=Preroll:integer;64rna=x-initpredecbufperiod:43"
  372. IntCount 0 2
  373. GetInt 0 LiveStream 1
  374. GetInt 0 StreamCount 1
  375. StringCount 0 0
  376. BufferCount 0 0
  377. IntCount 1 9
  378. GetInt 1 AvgBitRate 0
  379. GetInt 1 Channels 0
  380. GetInt 1 HXTimestampConversionFactor 1
  381. GetInt 1 Port 42
  382. GetInt 1 Preroll 64
  383. GetInt 1 RTPPayloadType 34
  384. GetInt 1 RTPTimestampConversionFactor 90
  385. GetInt 1 SamplesPerSecond 90000
  386. GetInt 1 StreamNumber 0
  387. StringCount 1 2
  388. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  389. GetString 1 MimeType "video/H263"
  390. BufferCount 1 0
  391. # x-predecbufsize test
  392. Init 123456
  393. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=x-predecbufsize:45000"
  394. IntCount 0 2
  395. GetInt 0 LiveStream 1
  396. GetInt 0 StreamCount 1
  397. StringCount 0 0
  398. BufferCount 0 0
  399. IntCount 1 9
  400. GetInt 1 AvgBitRate 0
  401. GetInt 1 Channels 0
  402. GetInt 1 HXTimestampConversionFactor 1
  403. GetInt 1 Port 42
  404. GetInt 1 x-predecbufsize 45000
  405. GetInt 1 RTPPayloadType 34
  406. GetInt 1 RTPTimestampConversionFactor 90
  407. GetInt 1 SamplesPerSecond 90000
  408. GetInt 1 StreamNumber 0
  409. StringCount 1 2
  410. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  411. GetString 1 MimeType "video/H263"
  412. BufferCount 1 0
  413. # Unknown field test
  414. Init 123456
  415. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rna=somefield:5rn"
  416. IntCount 0 2
  417. GetInt 0 LiveStream 1
  418. GetInt 0 StreamCount 1
  419. StringCount 0 0
  420. BufferCount 0 0
  421. IntCount 1 8
  422. GetInt 1 AvgBitRate 0
  423. GetInt 1 Channels 0
  424. GetInt 1 HXTimestampConversionFactor 1
  425. GetInt 1 Port 42
  426. GetInt 1 RTPPayloadType 34
  427. GetInt 1 RTPTimestampConversionFactor 90
  428. GetInt 1 SamplesPerSecond 90000
  429. GetInt 1 StreamNumber 0
  430. StringCount 1 3
  431. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  432. GetString 1 MimeType "video/H263"
  433. GetString 1 SDPData "a=somefield:5n"
  434. BufferCount 1 0
  435. # Unknown field test w/ multiple media lines
  436. Init 123456
  437. Parse 0x00000000 3 "v=0rnm=video 42 RTP/AVP 34rna=somefield:5rnm=audio 44 RTP/AVP 0rn"
  438. IntCount 0 2
  439. GetInt 0 LiveStream 1
  440. GetInt 0 StreamCount 2
  441. StringCount 0 0
  442. BufferCount 0 0
  443. IntCount 1 8
  444. GetInt 1 AvgBitRate 0
  445. GetInt 1 Channels 0
  446. GetInt 1 HXTimestampConversionFactor 1
  447. GetInt 1 Port 42
  448. GetInt 1 RTPPayloadType 34
  449. GetInt 1 RTPTimestampConversionFactor 90
  450. GetInt 1 SamplesPerSecond 90000
  451. GetInt 1 StreamNumber 0
  452. StringCount 1 3
  453. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  454. GetString 1 MimeType "video/H263"
  455. BufferCount 1 0
  456. IntCount 2 8
  457. GetInt 2 AvgBitRate 64000
  458. GetInt 2 Channels 1
  459. GetInt 2 HXTimestampConversionFactor 1
  460. GetInt 2 Port 44
  461. GetInt 2 RTPPayloadType 0
  462. GetInt 2 RTPTimestampConversionFactor 8
  463. GetInt 2 SamplesPerSecond 8000
  464. GetInt 2 StreamNumber 1
  465. StringCount 2 2
  466. GetString 2 ASMRuleBook "marker=0,AverageBandwidth=32000;marker=1,AverageBandwidth=32000;"
  467. GetString 2 MimeType "audio/PCMU"
  468. BufferCount 2 0
  469. # SdpplinVersion test where version matches
  470. Init 123456
  471. Parse 0x00000000 2 "v=0rna=SdpplinVersion:123456rnm=video 42 RTP/AVP 34rn"
  472. IntCount 0 2
  473. GetInt 0 LiveStream 1
  474. GetInt 0 StreamCount 1
  475. StringCount 0 0
  476. BufferCount 0 0
  477. IntCount 1 8
  478. GetInt 1 AvgBitRate 0
  479. GetInt 1 Channels 0
  480. GetInt 1 HXTimestampConversionFactor 1
  481. GetInt 1 Port 42
  482. GetInt 1 RTPPayloadType 34
  483. GetInt 1 RTPTimestampConversionFactor 90
  484. GetInt 1 SamplesPerSecond 90000
  485. GetInt 1 StreamNumber 0
  486. StringCount 1 2
  487. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  488. GetString 1 MimeType "video/H263"
  489. BufferCount 1 0
  490. # SdpplinVersion test where version does not match w/o an m= line
  491. Init 123456
  492. Parse 0x80040017 0 "v=0rna=SdpplinVersion:187654321rn"
  493. # SdpplinVersion test where version does not match w an m= line
  494. Init 123456
  495. Parse 0x80040017 0 "v=0rna=SdpplinVersion:187654321rnm=video 42 RTP/AVP 34rn"
  496. # length field test
  497. Init 123456
  498. Parse 0x00000000 1 "v=0rna=length:10rn"
  499. IntCount 0 1
  500. GetInt 0 Duration 10
  501. StringCount 0 0
  502. BufferCount 0 0
  503. # length field propagation test
  504. Init 123456
  505. Parse 0x00000000 2 "v=0rna=length:10rnm=video 42 RTP/AVP 34rn"
  506. IntCount 0 2
  507. GetInt 0 Duration 10
  508. GetInt 0 StreamCount 1
  509. StringCount 0 0
  510. BufferCount 0 0
  511. IntCount 1 9
  512. GetInt 1 AvgBitRate 0
  513. GetInt 1 Channels 0
  514. GetInt 1 Duration 10
  515. GetInt 1 HXTimestampConversionFactor 1
  516. GetInt 1 Port 42
  517. GetInt 1 RTPPayloadType 34
  518. GetInt 1 RTPTimestampConversionFactor 90
  519. GetInt 1 SamplesPerSecond 90000
  520. GetInt 1 StreamNumber 0
  521. StringCount 1 2
  522. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  523. GetString 1 MimeType "video/H263"
  524. BufferCount 0 0
  525. # length field override test
  526. Init 123456
  527. Parse 0x00000000 2 "v=0rna=length:10rnm=video 42 RTP/AVP 34rna=length:73rn"
  528. IntCount 0 2
  529. GetInt 0 Duration 10
  530. GetInt 0 StreamCount 1
  531. StringCount 0 0
  532. BufferCount 0 0
  533. IntCount 1 9
  534. GetInt 1 AvgBitRate 0
  535. GetInt 1 Channels 0
  536. GetInt 1 Duration 73
  537. GetInt 1 HXTimestampConversionFactor 1
  538. GetInt 1 Port 42
  539. GetInt 1 RTPPayloadType 34
  540. GetInt 1 RTPTimestampConversionFactor 90
  541. GetInt 1 SamplesPerSecond 90000
  542. GetInt 1 StreamNumber 0
  543. StringCount 1 2
  544. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  545. GetString 1 MimeType "video/H263"
  546. BufferCount 1 0
  547. # length field override propagation test
  548. Init 123456
  549. Parse 0x00000000 3 "v=0rna=length:10rnm=video 42 RTP/AVP 34rna=length:73rnm=video 44 RTP/AVP 0rn"
  550. IntCount 0 2
  551. GetInt 0 Duration 10
  552. GetInt 0 StreamCount 2
  553. StringCount 0 0
  554. BufferCount 0 0
  555. IntCount 1 9
  556. GetInt 1 AvgBitRate 0
  557. GetInt 1 Channels 0
  558. GetInt 1 Duration 73
  559. GetInt 1 HXTimestampConversionFactor 1
  560. GetInt 1 Port 42
  561. GetInt 1 RTPPayloadType 34
  562. GetInt 1 RTPTimestampConversionFactor 90
  563. GetInt 1 SamplesPerSecond 90000
  564. GetInt 1 StreamNumber 0
  565. StringCount 1 2
  566. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  567. GetString 1 MimeType "video/H263"
  568. BufferCount 1 0
  569. IntCount 2 9
  570. GetInt 2 AvgBitRate 64000
  571. GetInt 2 Channels 1
  572. GetInt 2 Duration 10
  573. GetInt 2 HXTimestampConversionFactor 1
  574. GetInt 2 Port 44
  575. GetInt 2 RTPPayloadType 0
  576. GetInt 2 RTPTimestampConversionFactor 8
  577. GetInt 2 SamplesPerSecond 8000
  578. GetInt 2 StreamNumber 1
  579. StringCount 2 2
  580. GetString 2 ASMRuleBook "marker=0,AverageBandwidth=32000;marker=1,AverageBandwidth=32000;"
  581. GetString 2 MimeType "audio/PCMU"
  582. BufferCount 1 0
  583. # length field propagation test. The length from the first stream is
  584. # propagated to the second stream
  585. Init 123456
  586. Parse 0x00000000 3 "v=0rnm=video 42 RTP/AVP 34rna=length:73rnm=video 44 RTP/AVP 0rn"
  587. IntCount 0 1
  588. GetInt 0 StreamCount 2
  589. StringCount 0 0
  590. BufferCount 0 0
  591. IntCount 1 9
  592. GetInt 1 AvgBitRate 0
  593. GetInt 1 Channels 0
  594. GetInt 1 Duration 73
  595. GetInt 1 HXTimestampConversionFactor 1
  596. GetInt 1 Port 42
  597. GetInt 1 RTPPayloadType 34
  598. GetInt 1 RTPTimestampConversionFactor 90
  599. GetInt 1 SamplesPerSecond 90000
  600. GetInt 1 StreamNumber 0
  601. StringCount 1 2
  602. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  603. GetString 1 MimeType "video/H263"
  604. BufferCount 1 0
  605. IntCount 2 9
  606. GetInt 2 AvgBitRate 64000
  607. GetInt 2 Channels 1
  608. GetInt 2 Duration 73
  609. GetInt 2 HXTimestampConversionFactor 1
  610. GetInt 2 Port 44
  611. GetInt 2 RTPPayloadType 0
  612. GetInt 2 RTPTimestampConversionFactor 8
  613. GetInt 2 SamplesPerSecond 8000
  614. GetInt 2 StreamNumber 1
  615. StringCount 2 2
  616. GetString 2 ASMRuleBook "marker=0,AverageBandwidth=32000;marker=1,AverageBandwidth=32000;"
  617. GetString 2 MimeType "audio/PCMU"
  618. BufferCount 2 0
  619. # length field test using npt
  620. Init 123456
  621. Parse 0x00000000 1 "v=0rna=length:npt=42.234rn"
  622. IntCount 0 1
  623. GetInt 0 Duration 42234
  624. StringCount 0 0
  625. BufferCount 0 0
  626. # test invalid range
  627. Init 123456
  628. Parse 0x00000000 1 "v=0rna=range:npt=42rn"
  629. IntCount 0 0
  630. StringCount 0 0
  631. BufferCount 0 0
  632. # test open ended range
  633. Init 123456
  634. Parse 0x00000000 1 "v=0rna=range:npt=0-rn"
  635. IntCount 0 1
  636. GetInt 0 Duration 0
  637. StringCount 0 0
  638. BufferCount 0 0
  639. # test open ended range
  640. Init 123456
  641. Parse 0x00000000 1 "v=0rna=range:npt=64-rn"
  642. IntCount 0 1
  643. GetInt 0 Duration 0
  644. StringCount 0 0
  645. BufferCount 0 0
  646. # test range that is not in npt form
  647. Init 123456
  648. Parse 0x00000000 1 "v=0rna=range:64rn"
  649. IntCount 0 1
  650. GetInt 0 Duration 64
  651. StringCount 0 0
  652. BufferCount 0 0
  653. # test range with no start value
  654. Init 123456
  655. Parse 0x00000000 1 "v=0rna=range:npt=-71.98rn"
  656. IntCount 0 1
  657. GetInt 0 Duration 71980
  658. StringCount 0 0
  659. BufferCount 0 0
  660. # test range with a start and end value
  661. Init 123456
  662. Parse 0x00000000 1 "v=0rna=range:npt=65.28-71.98rn"
  663. IntCount 0 1
  664. GetInt 0 Duration 6700
  665. StringCount 0 0
  666. BufferCount 0 0
  667. # test length before range
  668. Init 123456
  669. Parse 0x00000000 1 "v=0rna=length:32rna=range:64rn"
  670. IntCount 0 1
  671. GetInt 0 Duration 64
  672. StringCount 0 0
  673. BufferCount 0 0
  674. # test range before length
  675. Init 123456
  676. Parse 0x00000000 1 "v=0rna=range:32rna=length:64rn"
  677. IntCount 0 1
  678. GetInt 0 Duration 64
  679. StringCount 0 0
  680. BufferCount 0 0
  681. # test range before length with propagation
  682. Init 123456
  683. Parse 0x00000000 2 "v=0rna=range:32rna=length:64rnm=video 42 RTP/AVP 34rn"
  684. IntCount 0 2
  685. GetInt 0 Duration 64
  686. GetInt 0 StreamCount 1
  687. StringCount 0 0
  688. BufferCount 0 0
  689. IntCount 1 9
  690. GetInt 1 AvgBitRate 0
  691. GetInt 1 Channels 0
  692. GetInt 1 Duration 32
  693. GetInt 1 HXTimestampConversionFactor 1
  694. GetInt 1 Port 42
  695. GetInt 1 RTPPayloadType 34
  696. GetInt 1 RTPTimestampConversionFactor 90
  697. GetInt 1 SamplesPerSecond 90000
  698. GetInt 1 StreamNumber 0
  699. StringCount 1 2
  700. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  701. GetString 1 MimeType "video/H263"
  702. BufferCount 1 0
  703. # test control field
  704. Init 123456
  705. Parse 0x00000000 1 "v=0rna=control:rtsp://foobar.com/blah.rmrn"
  706. IntCount 0 0
  707. StringCount 0 1
  708. GetString 0 Control "rtsp://foobar.com/blah.rm"
  709. BufferCount 0 0
  710. # test RN integer field
  711. Init 123456
  712. Parse 0x00000000 1 "v=0rna=anint:integer;100rn"
  713. IntCount 0 1
  714. GetInt 0 anint 100
  715. StringCount 0 0
  716. BufferCount 0 0
  717. # test RN string field
  718. Init 123456
  719. Parse 0x00000000 1 "v=0rna=astring:string;"this is a test"rn"
  720. IntCount 0 0
  721. StringCount 0 1
  722. GetString 0 astring "this is a test"
  723. BufferCount 0 0
  724. # test RN buffer field
  725. Init 123456
  726. Parse 0x00000000 1 "v=0rna=abuffer:buffer;"TWFjIFRWAA=="rn"
  727. IntCount 0 0
  728. StringCount 0 0
  729. BufferCount 0 1
  730. GetBuffer 0 abuffer "4d616320545600"
  731. # test illegal RN buffer field
  732. Init 123456
  733. Parse 0x00000000 1 "v=0rna=abuffer:buffer;"TWFjIFRWAA="rn"
  734. IntCount 0 0
  735. StringCount 0 0
  736. BufferCount 0 0
  737. # test a field with a ';' it but is not an RN field
  738. Init 123456
  739. Parse 0x00000000 1 "v=0rna=foo:bar;blahrn"
  740. IntCount 0 0
  741. StringCount 0 1
  742. GetString 0 SDPData "a=foo:bar;blahn"
  743. BufferCount 0 0
  744. # test session level "c=" line
  745. Init 123456
  746. Parse 0x00000000 1 "v=0rnc=IN IP4 123.231.123.123rn"
  747. IntCount 0 0
  748. StringCount 0 1
  749. GetString 0 MulticastAddress "123.231.123.123"
  750. BufferCount 0 0
  751. # test media level "c=" line
  752. Init 123456
  753. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rnc=IN IP4 123.231.123.123rn"
  754. IntCount 0 2
  755. GetInt 0 LiveStream 1
  756. GetInt 0 StreamCount 1
  757. StringCount 0 0
  758. BufferCount 0 0
  759. IntCount 1 8
  760. GetInt 1 AvgBitRate 0
  761. GetInt 1 Channels 0
  762. GetInt 1 HXTimestampConversionFactor 1
  763. GetInt 1 Port 42
  764. GetInt 1 RTPPayloadType 34
  765. GetInt 1 RTPTimestampConversionFactor 90
  766. GetInt 1 SamplesPerSecond 90000
  767. GetInt 1 StreamNumber 0
  768. StringCount 1 3
  769. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  770. GetString 1 MimeType "video/H263"
  771. GetString 1 MulticastAddress "123.231.123.123"
  772. BufferCount 1 0
  773. # test session level "c=" line with TTL
  774. Init 123456
  775. Parse 0x00000000 1 "v=0rnc=IN IP4 123.231.123.123/10rn"
  776. IntCount 0 1
  777. GetInt 0 MulticastTTL 10
  778. StringCount 0 1
  779. GetString 0 MulticastAddress "123.231.123.123"
  780. BufferCount 0 0
  781. # test media level "c=" line with TTL and address range
  782. Init 123456
  783. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rnc=IN IP4 123.231.123.123/10/3rn"
  784. IntCount 0 2
  785. GetInt 0 LiveStream 1
  786. GetInt 0 StreamCount 1
  787. StringCount 0 0
  788. BufferCount 0 0
  789. IntCount 1 10
  790. GetInt 1 AvgBitRate 0
  791. GetInt 1 Channels 0
  792. GetInt 1 HXTimestampConversionFactor 1
  793. GetInt 1 MulticastRange 3
  794. GetInt 1 MulticastTTL 10
  795. GetInt 1 Port 42
  796. GetInt 1 RTPPayloadType 34
  797. GetInt 1 RTPTimestampConversionFactor 90
  798. GetInt 1 SamplesPerSecond 90000
  799. GetInt 1 StreamNumber 0
  800. StringCount 1 3
  801. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  802. GetString 1 MimeType "video/H263"
  803. GetString 1 MulticastAddress "123.231.123.123"
  804. BufferCount 1 0
  805. # test "t=" lines. We don't really care about these lines
  806. Init 123456
  807. Parse 0x00000000 1 "v=0rnt=123456 234567rn"
  808. IntCount 0 0
  809. StringCount 0 0
  810. BufferCount 0 0
  811. # test session level "b=AS" lines
  812. Init 123456
  813. Parse 0x00000000 1 "v=0rnb=AS:100rn"
  814. IntCount 0 1
  815. GetInt 0 AvgBitRate 100000
  816. StringCount 0 0
  817. BufferCount 0 0
  818. # test media level "b=AS" lines
  819. Init 123456
  820. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rnb=AS:432rn"
  821. IntCount 0 2
  822. GetInt 0 LiveStream 1
  823. GetInt 0 StreamCount 1
  824. StringCount 0 0
  825. BufferCount 0 0
  826. IntCount 1 8
  827. GetInt 1 AvgBitRate 432000
  828. GetInt 1 Channels 0
  829. GetInt 1 HXTimestampConversionFactor 1
  830. GetInt 1 Port 42
  831. GetInt 1 RTPPayloadType 34
  832. GetInt 1 RTPTimestampConversionFactor 90
  833. GetInt 1 SamplesPerSecond 90000
  834. GetInt 1 StreamNumber 0
  835. StringCount 1 2
  836. GetString 1 ASMRuleBook "marker=0,AverageBandwidth=216000;marker=1,AverageBandwidth=216000;"
  837. GetString 1 MimeType "video/H263"
  838. BufferCount 1 0
  839. # test session level "b=RS" lines
  840. Init 123456
  841. Parse 0x00000000 1 "v=0rnb=RS:1234rn"
  842. IntCount 0 1
  843. GetInt 0 RtcpRSRate 1234
  844. StringCount 0 0
  845. BufferCount 0 0
  846. # test session level "b=RR" lines
  847. Init 123456
  848. Parse 0x00000000 1 "v=0rnb=RR:423rn"
  849. IntCount 0 1
  850. GetInt 0 RtcpRRRate 423
  851. StringCount 0 0
  852. BufferCount 0 0
  853. # test session level "i=" line
  854. Init 123456
  855. Parse 0x00000000 1 "v=0rni=this is a testrn"
  856. IntCount 0 0
  857. StringCount 0 1
  858. GetString 0 Information "this is a test"
  859. BufferCount 0 0
  860. # test media level "i=" line
  861. Init 123456
  862. Parse 0x00000000 2 "v=0rnm=video 42 RTP/AVP 34rni=this is a testrn"
  863. IntCount 0 2
  864. GetInt 0 LiveStream 1
  865. GetInt 0 StreamCount 1
  866. StringCount 0 0
  867. BufferCount 0 0
  868. IntCount 1 8
  869. GetInt 1 AvgBitRate 0
  870. GetInt 1 Channels 0
  871. GetInt 1 HXTimestampConversionFactor 1
  872. GetInt 1 Port 42
  873. GetInt 1 RTPPayloadType 34
  874. GetInt 1 RTPTimestampConversionFactor 90
  875. GetInt 1 SamplesPerSecond 90000
  876. GetInt 1 StreamNumber 0
  877. StringCount 1 3
  878. GetString 1 ASMRuleBook "marker=0,timestampdelivery=1;marker=1,timestampdelivery=1;"
  879. GetString 1 Information "this is a test"
  880. GetString 1 MimeType "video/H263"
  881. BufferCount 1 0
  882. # test a case where there are 'n' characters in a quoted string. This
  883. # case was taken from a RealServer that put 'n' characters in the ASMRuleBook
  884. # field
  885. Init 1610643188
  886. Parse 0x00000000 2 "v=0no=- 1061569100 1061569100 IN IP4 172.16.0.99ns=<No title>ni=<No author> <No copyright>nc=IN IP4 0.0.0.0nt=0 0na=SdpplinVersion:1610643188na=Width:integer;662na=Height:integer;443na=IsRealDataType:integer;1na=StreamCount:integer;1na=range:npt=0-5nm=application 0 RTP/AVP 101nb=AS:12na=control:streamid=0na=range:npt=0-5na=length:npt=5na=rtpmap:101 vnd.rn-gifstream2na=mimetype:string;"application/vnd.rn-gifstream2"na=RendererFlags:integer;0na=StartTime:integer;0na=AvgBitRate:integer;12000na=StreamVersion:integer;0na=PreDataAfterSeek:integer;0na=AvgPacketSize:integer;500na=PreData:integer;7310na=PreRollAfterSeek:integer;1na=Preroll:integer;5114na=ContentVersion:integer;0na=PreDataAtStart:integer;1na=PreRollAtStart:integer;0na=MaxPacketSize:integer;600na=MaxBitRate:integer;12000na=OpaqueData:buffer;"AAAAAAAA////AAAAAAAAbQAAAAEAAAASAAAcb0dJRjg5YZYCuwHEAAD////MzMwAAACZmZkAZplkkbZmZmYzZpn/tIz/xaji5+tHREWWsMLO197/oEKxsrMiGRfb4eYEfcT/4dMjHyA9hrESUHcYQFkHcK7t8fTo7O//8uUzMzMAAAAAAAAAAAAh+QQAAAAAACwAAAAAlgK7AQBA"na=ASMRuleBook:string;"AverageBandwidth=12000,nPriority=5;nAverageBandwidth=0,nPriority=9;"n"
  887. IntCount 0 5
  888. GetInt 0 Duration 5000
  889. GetInt 0 Height 443
  890. GetInt 0 IsRealDataType 1
  891. GetInt 0 StreamCount 1
  892. GetInt 0 Width 662
  893. StringCount 0 2
  894. GetString 0 "Information" "<No author> <No copyright>"
  895. GetString 0 "MulticastAddress" "0.0.0.0"
  896. BufferCount 0 0
  897. IntCount 1 17
  898. GetInt 1 AvgBitRate 12000
  899. GetInt 1 AvgPacketSize 500
  900. GetInt 1 ContentVersion 0
  901. GetInt 1 Duration 5000
  902. GetInt 1 MaxBitRate 12000
  903. GetInt 1 MaxPacketSize 600
  904. GetInt 1 PreData 7310
  905. GetInt 1 PreDataAfterSeek 0
  906. GetInt 1 PreDataAtStart 1
  907. GetInt 1 Preroll 5114
  908. GetInt 1 PreRollAfterSeek 1
  909. GetInt 1 PreRollAtStart 0
  910. GetInt 1 RendererFlags 0
  911. GetInt 1 RTPPayloadType 101
  912. GetInt 1 StartTime 0
  913. GetInt 1 StreamNumber 0
  914. GetInt 1 StreamVersion 0
  915. StringCount 1 3
  916. GetString 1 "ASMRuleBook" "AverageBandwidth=12000,nPriority=5;nAverageBandwidth=0,nPriority=9;"
  917. GetString 1 "Control" "streamid=0"
  918. GetString 1 "MimeType" "application/vnd.rn-gifstream2"
  919. BufferCount 1 1
  920. GetBuffer 1 "OpaqueData" "000000000000ffffff0000000000006d000000010000001200001c6f4749463839619602bb01c40000ffffffcccccc0000009999990066996491b6666666336699ffb48cffc5a8e2e7eb47444596b0c2ced7deffa042b1b2b3221917dbe1e6047dc4ffe1d3231f203d86b11250771840590770aeedf1f4e8eceffff2e533333300000000000000000021f90400000000002c000000009602bb010040"