All pastes #199537 Raw Edit

Quelque chose

public text v1 · immutable
#199537 ·published 2006-10-12 16:17 UTC
rendered paste body
        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