Skip to content

Unable to receive video stream from the latest ZLMediaKit #1425

@biao-c

Description

@biao-c

Environment

libdatachannel version: Latest master branch

Operating System: Windows 11

Compiler: Visual Studio 2022

Remote Media Server: ZLMediaKit (latest version)

Problem Description

I have successfully compiled the latest version of libdatachannel on Windows 11.

When using libdatachannel , it works with an older version of the ZLMediaKit server, and the video stream plays as expected.

However, when I try to connect to a server running the latest version of ZLMediaKit, a problem occurs. The initial SDP offer/answer exchange seems to complete successfully, but the client is unable to receive any media packets. The connection either fails to establish fully at the media level, or no video data is sent from the server.

[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: Connectivity timer started
[WebRTC] rtc::impl::PeerConnection::changeSignalingState@1365: Changed signaling state to stable
[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: Ignoring candidate with transport TCP
[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: Changing state to connected
[WebRTC] rtc::impl::PeerConnection::changeIceState@1334: Changed ICE state to connected
[WebRTC] rtc::impl::PeerConnection::initDtlsTransport@277: This connection requires media support
[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: IP Differentiated Services are not supported on Windows
[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: Changing state to completed
[WebRTC] rtc::impl::PeerConnection::changeIceState@1334: Changed ICE state to completed
[WebRTC] rtc::impl::DtlsTransport::doRecv@963: DTLS handshake finished
[WebRTC] rtc::impl::DtlsSrtpTransport::postHandshake@298: Deriving SRTP keying material (OpenSSL)
[WebRTC] rtc::impl::PeerConnection::changeState@1316: Changed state to connected
[Pusher] State: connected
[WebRTC] rtc::impl::DtlsTransport::doRecv@963: DTLS handshake finished
[WebRTC] rtc::impl::DtlsSrtpTransport::postHandshake@298: Deriving SRTP keying material (OpenSSL)
[WebRTC] rtc::impl::PeerConnection::changeState@1316: Changed state to connected
[Player] State: connected
[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: STUN entry 0: Consent expired for candidate pair
[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: Lost connectivity
[WebRTC] rtc::impl::IceTransport::LogCallback@390: juice: Changing state to failed
[WebRTC] rtc::impl::PeerConnection::changeIceState@1334: Changed ICE state to failed
[WebRTC] rtc::impl::PeerConnection::changeState@1316: Changed state to failed
[Pusher] State: failed
[WebRTC] rtc::impl::PeerConnection::changeIceState@1334: Changed ICE state to closed
[WebRTC] rtc::impl::PeerConnection::changeState@1316: Changed state to closed
[Pusher] State: closed
[WebRTC] rtc::impl::DtlsTransport::doRecv@995: DTLS closed
[WebRTC] rtc::impl::PeerConnection::changeIceState@1334: Changed ICE state to closed
[WebRTC] rtc::impl::PeerConnection::changeState@1316: Changed state to closed
[Player] State: closed
Shutdown complete.
[WebRTC] rtc::impl::DtlsTransport::doRecv@995: DTLS closed

I strongly suspect the cause is that ZLMediaKit changed its handling logic for receiver reports in a certain version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions