{"push_id":3023548062,"size":1,"distinct_size":1,"ref":"refs/heads/merge-mux/add_basepad","head":"5adf7516f17e62e38f372f03c2c2874ba8a571ea","before":"5aeaa226576ce436c6bcd02f2f48afb9c0ccdf8f","commits":[{"sha":"5adf7516f17e62e38f372f03c2c2874ba8a571ea","author":{"name":"jijoong.moon","email":"74859cba87f17b388d65dc94632da3502f692972@samsung.com"},"message":"[Merge/Mux] Implement BasePad Time Synchronization Policy\n\nImplemnt BasePad Time Synchronization Policy. The sync_mode name is\n\"basepad\" and it has sync_options which is base pad number and\nduration. It is more like \"sync_mode=basepad\nsync_option=0:33333333\". Duration is GstClockTime (unsigned int 64)\nand pad number is uint.\n\nOnce this sync_mode is enabeled, then the merge time is decided based\non this \"basepad\". For example, if the framerate of basepad is 30/1,\nthen the time which is pushed by merge/mux is 33333333, 66666666,\n99999999, 133333333, 166666666, etc. Some details are below. It\ncompare current time with pts time of updated buffer and if it is\nbigger than duration, it use previous pad buffer.\n\nTest Case 1:\n - srcpad0 ( framerate 30/1 ) : basepad with 33333333 duration.\n - srcpad1 ( framerate 20/1 )\n - srcpad2 ( framerate 10/1 )\n\nthen, merge/mux pushed as below.\n    *srcpad0        srcpad1         srcpad2\n       0               0               0     : pushed\n    33333333        50000000           0     : pushed\n    66666666        50000000           0     : pushed\n    99999999       100000000      1000000000 : pushed\n   133333332       150000000      1000000000 : pushed\n   166666666       150000000      1000000000 : pushed\n   199999999       200000000      2000000000 : pushed\n   233333331       250000000      2000000000 : pushed\n   266666666       250000000      2000000000 : pushed\n   299999997       300000000      3000000000 : pushed\n\nif sync_mode is slowest,\nthen, merge/mux pushed as below.\n    srcpad0         srcpad1         *srcpad2\n       0               0               0     : pushed\n    33333333        50000000           0     : skiped\n    66666666        50000000           0     : skiped\n    99999999       100000000      1000000000 : pushed\n   133333332       150000000      1000000000 : skiped\n   166666666       150000000      1000000000 : skiped\n   199999999       200000000      2000000000 : pushed\n   233333331       250000000      2000000000 : skiped\n   266666666       250000000      2000000000 : skiped\n   299999997       300000000      3000000000 : pushed\n\nif sync_mode is nosync,\nthen, merge/mux pushed as below.\n    *srcpad0        *srcpad1        *srcpad2\n       0               0               0     : pushed\n    33333333        50000000      1000000000 : pushed\n    66666666       100000000      2000000000 : pushed\n    99999999       150000000      3000000000 : pushed\n   133333332       200000000      4000000000 : pushed\n   166666666       250000000      5000000000 : pushed\n   199999999       300000000      6000000000 : pushed\n   233333331       350000000      7000000000 : pushed\n   266666666       400000000      8000000000 : pushed\n   299999997       450000000      9000000000 : pushed\n\n**Self evaluation:**\n1. Build test:\t [X]Passed [ ]Failed [ ]Skipped\n2. Run test:\t [X]Passed [ ]Failed [ ]Skipped\n\nSigned-off-by: jijoong.moon <jijoong.moon@samsung.com>","distinct":true,"url":"https://api.github.com/repos/jijoongmoon/nnstreamer/commits/5adf7516f17e62e38f372f03c2c2874ba8a571ea"}]}
{"actor":{"display_login":"jijoongmoon"}}