@@ -419,6 +419,40 @@ QUnit.test('aggregates program stream packets from the transport stream', functi
419
419
assert . equal ( events [ 0 ] . data . byteLength , packetData . length , 'concatenated transport packets' ) ;
420
420
} ) ;
421
421
422
+ QUnit . test ( 'aggregates program stream packets from the transport stream with no header data' , function ( assert ) {
423
+ var events = [ ]
424
+
425
+ elementaryStream . on ( 'data' , function ( event ) {
426
+ events . push ( event ) ;
427
+ } ) ;
428
+
429
+ elementaryStream . push ( {
430
+ type : 'pes' ,
431
+ streamType : H264_STREAM_TYPE ,
432
+ data : new Uint8Array ( [ 0x1 , 0x2 , 0x3 ] )
433
+ } ) ;
434
+
435
+ assert . equal ( events . length , 0 , 'buffers partial packets' ) ;
436
+
437
+ elementaryStream . push ( {
438
+ type : 'pes' ,
439
+ streamType : H264_STREAM_TYPE ,
440
+ payloadUnitStartIndicator : true ,
441
+ data : new Uint8Array ( [ 0x4 , 0x5 , 0x6 ] )
442
+ } ) ;
443
+
444
+ elementaryStream . push ( {
445
+ type : 'pes' ,
446
+ streamType : H264_STREAM_TYPE ,
447
+ data : new Uint8Array ( [ 0x7 , 0x8 , 0x9 ] )
448
+ } ) ;
449
+ elementaryStream . flush ( ) ;
450
+
451
+ assert . equal ( events . length , 1 , 'built one packet' ) ;
452
+ assert . equal ( events [ 0 ] . type , 'video' , 'identified video data' ) ;
453
+ assert . equal ( events [ 0 ] . data . byteLength , 0 , 'empty packet' ) ;
454
+ } ) ;
455
+
422
456
QUnit . test ( 'parses an elementary stream packet with just a pts' , function ( assert ) {
423
457
var packet ;
424
458
elementaryStream . on ( 'data' , function ( data ) {
0 commit comments