Skip to main content

Existing TSB data affecting the used space of MSV !!

5 replies [Last post]
svikrant
Offline
Joined: 2011-02-09

Consider a Scenario :

I initiate the recording on the same service(A) on a user created Media Storage Volume (e.g. MSV_VIK of 1000 MB). Once the recording starts I shrink the MSV to 20 MB. The reallocation passes when the TSB(on service A) is created at the time of Recording. But this reallocation fail when the when TSB is already existing for the given service(say A) !!

Please refer the sequence of flow :

a) MSV Allocation is successfully :
mpeos_dvrMediaVolumeSetInfo - Requesting new volume /114RelG- 0.9.0.B509/ocap/bin/CableLabs/simulator/Win32/debug/env/storage/I2/OCAP_LSV/1112/7133/MSV_VIK) reserve size of 1000000000 - used size: 0 - reserved size: 0
mpeos_dvrMediaVolumeSetInfo - Setting volume reserve size to 1000000000 Volume = /114RelG-0.9.0.B509/ocap/bin/CableLabs/simulator/Win32/debug/env/storage/I2/OCAP_LSV/1112/7133/MSV_VIK, Device free size = 171724725168

b) TSB Already Existing :
20110502 17:07:49.767 INFO RI.Stack- 147750 [Thread-2] INFO timeshift.TimeShiftWindow - TSW …… TSB 0xb205c069[size 3900,ntsb 0x237f3200,sysbufstart/end Mon May 02 05:36:20 GMT-06:00 2011/Mon May 02 05:37:49 GMT-06:00 2011,tbstart/end 1431ms/9223372036854ms,tswoffset 1431ms,bufstopreason NOREASON ], nclients 1, TSC:[uses NO USES,res BUFFERING+RECORDING,mind 0,desd 0,maxd MAX_VAL]],constrain TSC:[uses NO USES,res BUFFERING+RECORDING,mind 0,desd 0,maxd MAX_VAL],1st tsb: none]

c) Time Shift Buffer Conversion starts:
20110502 17:07:49.814 DEBUG RI.Stack- <<DVR>> mpeos_dvrTsbConvertStart - buffer = 237F3200, startTime = 1304336269725, duration = 180000, bitRate = 3 20110502 17:07:49.830 INFO RI.Stack- <<DVR>> mpeos_dvrTsbConvertStart - PID Summary -- num pids = 5
20110502 17:07:49.830 TRACE RI.Stack- <<DVR>> setRecFileInfo - lengthSecs = 180, currentLength = 0, playbackTime = 0, size = 0, pidCount = 5
20110502 17:07:49.830 INFO RI.Stack- <<DVR>> mpeos_dvrTsbConvertStart - TSB = 237F3200, startTime = 1304336269725, recording name = I2/OCAP_LSV/1112/7133/MSV_VIK/4DBE978D_0029

d) Conversion Callback is received by mpeos layer

20110502 17:07:49.830 TRACE RI.Stack- <<DVR>> updateDiskUsage - Updating volume usage -- Volume = 23835008, device free media size = 171724725168, current size = 0, delta = 21637064 <-------PLEASE NOTE----
20110502 17:07:49.830 DEBUG RI.Stack- <<DVR>> sendVolumeAlarms - Current free space level is 97
20110502 17:07:49.830 TRACE RI.Stack- <<DVR>> convert_event_cb (237F3200) - TSB_CONVERSION_STATUS event received! status->end_time = 1304336269798910000, sysStartTime = 1304336180030987000, convertStartTime = 9694013000
20110502 17:07:49.830 TRACE RI.Stack- <<DVR>> setRecFileInfo - lengthSecs = 0, currentLength = 73910000, playbackTime = 0, size = 21637064 <-------PLEASE NOTE----
20110502 17:07:49.845 TRACE RI.Stack- <<DVR>> convert_event_cb (237F3200) - TSB_CONVERSION_STATUS event received! currentLength = 73910000, size = 21637064
IMP !! : Here the recording file of length 0 second has size 21637064 MB !! (This is due to the chunk of TSB data which is considered here).

e) usedSize of the User created MSV Increases :
20110502 17:07:49.845 DEBUG RI.Stack- <<DVR>> mpeos_dvrMediaVolumeGetInfo MPE_DVR_MEDIA_VOL_FREE_SPACE = 978362936, reservedSize = 1000000000, usedSize = 21637064, device freeMediaSize = 171724725168
20110502 17:07:49.877 TRACE RI.Stack- <<DVR>> getRecFileInfo - lengthSecs = 0, currentLength = 73910000, playbackTime = 0, size = 21637064, pidCount = 5

f) Now we Re-allocate the media storage volume size from 1000 MB to 20 MB. ie reduce the MSV size to 20 MB (usedSize = 21637064, requested is 20000000)
MSV reallocation request for 20000000 bytes resulted in Exception :java.lang.IllegalArgumentException: Too small for existing recordings This reallocation will file !! <-------PLEASE NOTE----

-----------------------------------------------------------------------------------------------------------
This reallocation fails because the chunk the TSB data which is considered whne TSB already exists is much bigger than expected (the TSB data is not proper i.e more than expected) !!


I feel that the TSB data info that is coming as a callback should only be from the point the actual recording is initiated. Not the previous saved/existing TSB on that service !!

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
greg80303
Offline
Joined: 2008-07-03

I see what you are getting at... definitely seems to be a problem. Any chance that you have a simple test Xlet you could provide for us that exhibits the problem?

svikrant
Offline
Joined: 2011-02-09

Hi Greg,
Please find the TestXlet and the RIlog for the same issue. Please check on the issue which i was highlighting. i
Complete TSB chunk of (20994376) coming from the TSB for Recording Conversion.

RI.Stack- &lt;&lt;DVR&gt;&gt; updateDiskUsage - Updating volume usage -- Volume = 14C29008, device free media size = 169704412276, current size = 0, delta = 20994376

becasue of which Exception generated due to Oversize of the Recording File(which should not be)
RI.Stack.StdOut- java.lang.IllegalArgumentException: Too small for existing recordings

We should raise and I.T for this. Please let me know your views on this.
Thanks,
Vikrant

svikrant
Offline
Joined: 2011-02-09

Thanks greg for confirming.. I don't have a xlet right now.. I'll try if i can write one for your simulation.
But is it possible to upload any xlet file/any file in this discusssion forum ? If yes pls guide me !!

greg80303
Offline
Joined: 2008-07-03

It is probably easier if you just go ahead and create a bug. Then you can attach any sample code to the bug report.

svikrant
Offline
Joined: 2011-02-09

Sure.. will file a bug for this issue in the C.L Issue tracker and will update the relevant details. and logs.
Will see..if possible..will analyse & will try to provide the fix for this issue.