#1 qscan 0.7.2 unable to detect number of layers in BD-R DL media von JustAnother 23.08.2016 20:47

You might remember me back from 2012 when I asked you to support bluray media initially ;)

I'm currently testing out BD-R DL media for use - when running a qpxtool Error Correction test, the graph is only sized for single layer BD-R media. Looking into the problem, qscan is reporting the media as having a single layer:

===================================================================

$ console/qscan/qscan -d /dev/sr0 -m

qScan 0.7.2 (C) 2007-2009 Gennady "ShultZ" Kozlov
qscan: using device '/dev/sr0': 'ATAPI ' 'iHBS112 2 ' 'PL05'
ID: Current read speed : 8.0X ( 35960 kB/s)
ID: Current write speed : 2.0X ( 8990 kB/s)
ID: Supported write modes: Packet TAO SAO SAO/RAW SAO/16 SAO/96R SAO/96P RAW/16 RAW/96R RAW/96P LayerJump
SM: Read speeds:
SM: RD speed max: 8.0X (35960 kB/s)
SM: RD speed #00: 1.0X (4495 kB/s)
SM: RD speed #01: 2.0X (8990 kB/s)
SM: RD speed #02: 4.0X (17980 kB/s)
SM: RD speed #03: 6.0X (26970 kB/s)
SM: RD speed #04: 8.0X (35960 kB/s)
SM: Write speeds:
SM: D WR speed max: 2.0X (8990 kB/s)
SM: D WR speed #00: 2.0X (8990 kB/s)
qscan: using plugin: LITEON
IM: Media class : BD
IM: Media type : BD-R (Sequential)
IM: Media size : 120mm
IM: Polarity flags: 00
IM: Disc Category : HTL
IM: Available quality tests: rt errc ft
IM: ERRC data : LDC BIS UNCR
IM: ERRC speeds : 1X 2X 4X 6X 8X
IM: Layers : 1
IM: Erasable : no
IM: Disc state : Incomplete
IM: Session state : Empty
IM: Read capacity : 24412000 sectors/47679MB/5424:53.25MSF
IM: Free capacity : 26784 sectors/52MB/05:57.09MSF
IM: Total capacity: 24438784 sectors/47732MB/5430:50.34MSF
IM: Media ID : MEI-T01/001
IM: MID raw data 00: 44 49 01 20 00 00 62 00 42 44 52 01 22 01 00 00 | DI....b.BDR."...
IM: MID raw data 10: 01 00 00 00 00 00 00 00 00 02 00 00 00 19 4E 7E | ..............N~
IM: MID raw data 20: 01 EC 64 64 46 46 46 46 3C 3C 3C 3C 00 00 00 00 | .�ddFFFF<<<<....
IM: MID raw data 30: 89 3D 85 1E 1E 4A 1B 74 A0 F0 F0 F0 F0 F8 F8 F8 | �=�..J.t�������
IM: MID raw data 40: F8 F8 F8 F8 F8 50 00 50 00 50 00 50 00 58 00 58 | �����P.P.P.P.X.X
IM: MID raw data 50: 00 58 00 58 00 58 00 58 00 58 00 58 00 A0 A0 C0 | .X.X.X.X.X.X.��
IM: MID raw data 60: C0 C0 00 00 4D 45 49 00 00 00 54 30 31 7D 5C 01 | ��..MEI...T01}\.
IM: Total tracks : 2
IM: Track: Session TMode DMode Start End Size Free Next Writable
--------------------------------------------------------------------------------------------------
IM: Track# 1 1 4 1 0 24411999 24412000 0 0
IM: Track# 2 2 4 1 24412000 0 26784 26784 24412000
--------------------------------------------------------------------------------------------------

===================================================================

This is an apparently good Panasonic BD-R DL disk.

Looking into the code, lib/qpxtransport/qpx_mmc.cpp:determine_disc_type, ~line 2325 is doing the check:

===============================================

drive->media.layers = 1 + ((drive->rd_buf[6] & 0x60) >> 5);

===============================================

Other than the fact this is the same as the code for DVD layer detection, I have no idea if its right or not. Did you test with any BD-R DL media when you wrote the code?

For others interested, qpxtool can still scan the disc but the graph (and output in subsequent reports) gets truncated. I'm going to hack detection of the two layers into the graphing code - if anyones interested, say and I'll attach/link to the patch.

Xobor Ein Kostenloses Forum von Xobor.de
Einfach ein Forum erstellen