2.2.1.2 CLIENT_LOG_INFO

The CLIENT_LOG_INFO structure is a component of the CLIENT_LOG (section 2.2.1.1) structure. The purpose of this structure is to provide logging information from the client when a stream (2) stops for any reason.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

cbSize

szURL (260 bytes)

...

...

szChannelURL (260 bytes)

...

...

szUserAgent (64 bytes)

...

...

szHostingWebPage (260 bytes)

...

...

qwClientVersion

...

szLang (16 bytes)

...

...

szUniquePID (40 bytes)

...

...

szHostExe (32 bytes)

...

...

qwHostExeVer

...

msFileDuration

qwFileSize

...

dwAvgBandwidthBps

szAudioCodec (64 bytes)

...

...

szVideoCodec (64 bytes)

...

...

msStartTime

msPlayed

rate

dwBufferingCount

...

msBufferingTime

...

qwBytesReceived

...

...

dwPacketsReceived

...

dwPacketsLostClient

...

dwPacketsRecoveredECC

...

dwMinReceptionQuality

...

hr

...

cbSize (4 bytes): An unsigned 32-bit integer. It specifies the length of the CLIENT_LOG_INFO structure, in bytes.

szURL (260 bytes): A string field. It MUST be set to the URL of the content that the CLIENT_LOG_INFO structure provides information on.

szChannelURL (260 bytes): A string field. If the URL in the szURL field is obtained from a Windows Media Station (.nsc) file, the szChannelURL field MUST be set to the URL of that .nsc file.

szUserAgent (64 bytes): A string field. It MUST be set to the HTTP User-Agent string of the embedded web browser in the client software.

szHostingWebPage (260 bytes): A string field. If the client software is embedded in a web page (in the form of a plug-in or ActiveX control), the szHostingWebPage field MUST be set to the URL of that web page.

qwClientVersion (8 bytes): An unsigned 64-bit integer. It MUST specify the version number of the Windows Media Player software. The version number consists of four 16-bit integer parts. The most significant 16 bits of the qwClientVersion field MUST be set to the most significant part of the version number; that is, what is often referred to as the major version number. The second most significant bits of the qwClientVersion field MUST be set to the second most significant part of the version number, often referred to as the minor version number (and so on for the other two parts of the version number).

szLang (16 bytes): This is a string field. This field MUST specify the client system language; for example, en-US for a U.S. English language system.

szUniquePID (40 bytes): A string field. It MUST specify a unique player identifier that can be used to correlate multiple logging requests for the same streaming media session. It is recommended that a globally unique identifier (GUID) be used as the value for this field.

szHostExe (32 bytes): A string field. It MUST be set to the name of the executable file in which Windows Media Player is loaded as a plug-in.

qwHostExeVer (8 bytes): An unsigned 64-bit integer. This field MUST specify the version number of the application named in the szHostExe field. The version number consists of four 16-bit integer parts. The most significant 16 bits of the qwHostExeVer field MUST be set to the most significant part of the version number—that is, what is often referred to as the major version number. The second most significant bits of the qwHostExeVer field MUST be set to the second most significant part of the version number, often referred to as the minor version number (and so on for the other two parts of the version number).

msFileDuration (4 bytes): An unsigned 32-bit integer. It MUST be set to the duration, in milliseconds, of the content. When streaming live content, this field MUST be set to 0x00000000.

qwFileSize (8 bytes): An unsigned 64-bit integer. File size, in bytes, of the content. When streaming live content, this field MUST be set to 0x0000000000000000.

dwAvgBandwidthBps (4 bytes): An unsigned 32-bit integer. It MUST be set to the average bit rate, in bits per second, of the content that is received by the client (as measured by the client).

szAudioCodec (64 bytes): This is a string field. It MUST be set to the name of the codec currently in use to decompress the audio stream in the content.

szVideoCodec (64 bytes): This is a string field. It MUST be set to the name of the codec currently in use to decompress the video stream in the content.

msStartTime (4 bytes): An unsigned 32-bit integer. It MUST be set to the time (in the timeline of the content), in milliseconds, at which playback began. The timeline of the content starts at 0, so if playback started from the beginning of the content, the value of this field becomes 0x00000000. When streaming live content, this field SHOULD be set to 0x00000000.

msPlayed (4 bytes): An unsigned 32-bit integer. It MUST be set to the amount of content that has been played by the client, expressed in millisecond time units.

rate (2 bytes): A signed 16-bit integer. It MUST be set to the current playback rate in which a positive value specifies playback in the forward direction, and a negative value specifies playback in the reverse direction. The value 0x0001 MUST be specified if content has been played at the normal rate.

dwBufferingCount (4 bytes): An unsigned 32-bit integer. It MUST be set to the number of times buffering is required by the client.

msBufferingTime (4 bytes): An unsigned 32-bit integer. It MUST be set to the time spent buffering, expressed in milliseconds.

qwBytesReceived (8 bytes): An unsigned 64-bit integer. It MUST be set to the total number of data bytes the client received. This field MUST only count the bytes in the payload of the Data (section 2.2.2) packets.

dwPacketsReceived (4 bytes): An unsigned 32-bit integer. It MUST be set to the total number of Data (section 2.2.2) packets the client received.

dwPacketsLostClient (4 bytes): An unsigned 32-bit integer. It MUST be set to the number of Data (section 2.2.2) packets the client never received.

dwPacketsRecoveredECC (4 bytes): An unsigned 32-bit integer. It MUST be set to 0x00000000.

dwMinReceptionQuality (4 bytes): An unsigned 32-bit integer. It MUST be set to the minimum percentage of the Data (section 2.2.2) packets received or recovered in the last 30 seconds. The maximum value is 0x00000064 for all Data (section 2.2.2) packets received and 0x00000000 for no Data (section 2.2.2) packets received.

hr (4 bytes): An unsigned 32-bit integer. It MUST be set to 0x00000000.