Private Function readXmlDvd(ByVal strPath As String) As Hashtable
'*************************************
'dvdinfo
'*************************************
Dim hr As Integer
Dim comobj As Object = vbNull
Dim status As AMDvdRenderStatus
Dim dvdGraph As IDvdGraphBuilder
Dim dvdInfo As IDvdInfo2
Dim strDVDInfoUrl As String = "http://movie.metaservices.microsoft.com/pas_movie_B/template/GetMDRDVDByCRC.xml?CRC="
Dim discID As Long = 0
Dim strDiscId As String
dvdGraph = New DvdGraphBuilder
Try
hr = dvdGraph.RenderDvdVideoVolume(vbNull, AMDvdGraphFlags.None, status)
DsError.ThrowExceptionForHR(hr)
hr = dvdGraph.GetDvdInterface(GetType(IDvdInfo2).GUID, comobj)
DsError.ThrowExceptionForHR(hr)
dvdInfo = comobj
comobj = vbNull
dvdInfo.GetDiscID(strPath + "video_ts", discID)
strDiscId = discID.ToString("x")
Dim reader As Xml.XmlTextReader
reader = New Xml.XmlTextReader(strDVDInfoUrl + strDiscId)
Dim htDVDInfo As New Hashtable
Dim htTitle As Hashtable
Dim Name As String = ""
Dim Value As String = ""
While reader.Read()
Select Case reader.NodeType
Case XmlNodeType.Element
Name = reader.Name
Case XmlNodeType.Text
Value = reader.Value
If Name = "titleNum" Then
htDVDInfo.Add("title" + Value, readTitle(reader))
Else
If Not (htDVDInfo.ContainsKey(Name)) Then
htDVDInfo.Add(Name, Value)
End If
End If
Name = ""
Value = ""
End Select
End While
Catch
FB_SDK.Freebrowser.SendLog("info", "Valeur de retour du graph directshow (hr) : [" & hr & "]")
End Try
Return htDVDInfo