@@ -291,6 +291,141 @@ TEST_F(ProducerFunctionalityTest, create_client_repeated_create_stream_put_frame
291
291
EXPECT_EQ (STATUS_SUCCESS, freeKinesisVideoStream (&streamHandle));
292
292
mStreams [0 ] = INVALID_STREAM_HANDLE_VALUE;
293
293
}
294
+
295
+ EXPECT_EQ (FUNCTIONALITY_TEST_STRESS_TEST_ITERATION, mCurlDescribeStreamCount );
296
+ EXPECT_EQ (FUNCTIONALITY_TEST_STRESS_TEST_ITERATION, mCurlGetDataEndpointCount );
297
+ }
298
+
299
+ TEST_F (ProducerFunctionalityTest, create_caching_endpoint_repeated_create_stream_put_frame_free_stream)
300
+ {
301
+ UINT32 i, j;
302
+ STREAM_HANDLE streamHandle = INVALID_STREAM_HANDLE_VALUE;
303
+ UINT32 totalFragments = 2 ;
304
+ UINT32 totalFrames = totalFragments * TEST_FPS;
305
+
306
+ createDefaultProducerClient (TRUE , FUNCTIONALITY_TEST_CREATE_STREAM_TIMEOUT);
307
+
308
+ for (i = 0 ; i < FUNCTIONALITY_TEST_STRESS_TEST_ITERATION; i++) {
309
+
310
+ EXPECT_EQ (STATUS_SUCCESS, createTestStream (0 , STREAMING_TYPE_REALTIME, TEST_MAX_STREAM_LATENCY, TEST_STREAM_BUFFER_DURATION, FALSE ));
311
+ streamHandle = mStreams [0 ];
312
+ EXPECT_TRUE (streamHandle != INVALID_STREAM_HANDLE_VALUE);
313
+
314
+ for (j = 0 ; j < totalFrames; ++j) {
315
+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFrame (streamHandle, &mFrame ));
316
+ updateFrame ();
317
+ }
318
+
319
+ mFrame .flags = FRAME_FLAG_NONE;
320
+ mFrame .presentationTs = 0 ;
321
+ mFrame .decodingTs = 0 ;
322
+ mFrame .index = 0 ;
323
+
324
+ EXPECT_EQ (STATUS_SUCCESS, stopKinesisVideoStreamSync (streamHandle));
325
+ EXPECT_EQ (STATUS_SUCCESS, freeKinesisVideoStream (&streamHandle));
326
+ mStreams [0 ] = INVALID_STREAM_HANDLE_VALUE;
327
+ }
328
+
329
+ EXPECT_EQ (0 , mCurlDescribeStreamCount );
330
+ EXPECT_EQ (FUNCTIONALITY_TEST_STRESS_TEST_ITERATION, mCurlGetDataEndpointCount );
331
+ }
332
+
333
+ TEST_F (ProducerFunctionalityTest, create_caching_endpoint_client_repeated_create_stream_put_frame_reset_stream)
334
+ {
335
+ UINT32 i, j;
336
+ STREAM_HANDLE streamHandle = INVALID_STREAM_HANDLE_VALUE;
337
+ UINT32 totalFragments = 2 ;
338
+ UINT32 totalFrames = totalFragments * TEST_FPS;
339
+
340
+ createDefaultProducerClient (TRUE , FUNCTIONALITY_TEST_CREATE_STREAM_TIMEOUT);
341
+
342
+ EXPECT_EQ (STATUS_SUCCESS, createTestStream (0 , STREAMING_TYPE_REALTIME, TEST_MAX_STREAM_LATENCY, TEST_STREAM_BUFFER_DURATION, FALSE ));
343
+ streamHandle = mStreams [0 ];
344
+ EXPECT_TRUE (streamHandle != INVALID_STREAM_HANDLE_VALUE);
345
+
346
+ for (i = 0 ; i < FUNCTIONALITY_TEST_STRESS_TEST_ITERATION; i++) {
347
+ for (j = 0 ; j < totalFrames; ++j) {
348
+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFrame (streamHandle, &mFrame ));
349
+ updateFrame ();
350
+ }
351
+
352
+ mFrame .flags = FRAME_FLAG_NONE;
353
+ mFrame .presentationTs = 0 ;
354
+ mFrame .decodingTs = 0 ;
355
+ mFrame .index = 0 ;
356
+
357
+ EXPECT_EQ (STATUS_SUCCESS, stopKinesisVideoStreamSync (streamHandle));
358
+ EXPECT_EQ (STATUS_SUCCESS, kinesisVideoStreamResetStream (streamHandle));
359
+ }
360
+
361
+ EXPECT_EQ (0 , mCurlDescribeStreamCount );
362
+ EXPECT_EQ (1 , mCurlGetDataEndpointCount );
363
+ }
364
+
365
+ TEST_F (ProducerFunctionalityTest, create_caching_all_repeated_create_stream_put_frame_free_stream)
366
+ {
367
+ UINT32 i, j;
368
+ STREAM_HANDLE streamHandle = INVALID_STREAM_HANDLE_VALUE;
369
+ UINT32 totalFragments = 2 ;
370
+ UINT32 totalFrames = totalFragments * TEST_FPS;
371
+
372
+ createDefaultProducerClient (API_CALL_CACHE_TYPE_ALL, FUNCTIONALITY_TEST_CREATE_STREAM_TIMEOUT);
373
+
374
+ for (i = 0 ; i < FUNCTIONALITY_TEST_STRESS_TEST_ITERATION; i++) {
375
+
376
+ EXPECT_EQ (STATUS_SUCCESS, createTestStream (0 , STREAMING_TYPE_REALTIME, TEST_MAX_STREAM_LATENCY, TEST_STREAM_BUFFER_DURATION, FALSE ));
377
+ streamHandle = mStreams [0 ];
378
+ EXPECT_TRUE (streamHandle != INVALID_STREAM_HANDLE_VALUE);
379
+
380
+ for (j = 0 ; j < totalFrames; ++j) {
381
+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFrame (streamHandle, &mFrame ));
382
+ updateFrame ();
383
+ }
384
+
385
+ mFrame .flags = FRAME_FLAG_NONE;
386
+ mFrame .presentationTs = 0 ;
387
+ mFrame .decodingTs = 0 ;
388
+ mFrame .index = 0 ;
389
+
390
+ EXPECT_EQ (STATUS_SUCCESS, stopKinesisVideoStreamSync (streamHandle));
391
+ EXPECT_EQ (STATUS_SUCCESS, freeKinesisVideoStream (&streamHandle));
392
+ mStreams [0 ] = INVALID_STREAM_HANDLE_VALUE;
393
+ }
394
+
395
+ EXPECT_EQ (FUNCTIONALITY_TEST_STRESS_TEST_ITERATION, mCurlDescribeStreamCount );
396
+ EXPECT_EQ (FUNCTIONALITY_TEST_STRESS_TEST_ITERATION, mCurlGetDataEndpointCount );
397
+ }
398
+
399
+ TEST_F (ProducerFunctionalityTest, create_caching_all_client_repeated_create_stream_put_frame_reset_stream)
400
+ {
401
+ UINT32 i, j;
402
+ STREAM_HANDLE streamHandle = INVALID_STREAM_HANDLE_VALUE;
403
+ UINT32 totalFragments = 2 ;
404
+ UINT32 totalFrames = totalFragments * TEST_FPS;
405
+
406
+ createDefaultProducerClient (API_CALL_CACHE_TYPE_ALL, FUNCTIONALITY_TEST_CREATE_STREAM_TIMEOUT);
407
+
408
+ EXPECT_EQ (STATUS_SUCCESS, createTestStream (0 , STREAMING_TYPE_REALTIME, TEST_MAX_STREAM_LATENCY, TEST_STREAM_BUFFER_DURATION, FALSE ));
409
+ streamHandle = mStreams [0 ];
410
+ EXPECT_TRUE (streamHandle != INVALID_STREAM_HANDLE_VALUE);
411
+
412
+ for (i = 0 ; i < FUNCTIONALITY_TEST_STRESS_TEST_ITERATION; i++) {
413
+ for (j = 0 ; j < totalFrames; ++j) {
414
+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFrame (streamHandle, &mFrame ));
415
+ updateFrame ();
416
+ }
417
+
418
+ mFrame .flags = FRAME_FLAG_NONE;
419
+ mFrame .presentationTs = 0 ;
420
+ mFrame .decodingTs = 0 ;
421
+ mFrame .index = 0 ;
422
+
423
+ EXPECT_EQ (STATUS_SUCCESS, stopKinesisVideoStreamSync (streamHandle));
424
+ EXPECT_EQ (STATUS_SUCCESS, kinesisVideoStreamResetStream (streamHandle));
425
+ }
426
+
427
+ EXPECT_EQ (1 , mCurlDescribeStreamCount );
428
+ EXPECT_EQ (1 , mCurlGetDataEndpointCount );
294
429
}
295
430
296
431
TEST_F (ProducerFunctionalityTest, create_client_repeated_create_stream_put_frame_free_stream_multi_stream)
0 commit comments