A source computing device for casting digital media content, the source computing device comprising: a communication management module configured to (i) transmit a set of identifiers of the source computing device to a destination computing device, wherein the set of identifiers of the source computing device includes a version associated with the source computing device and a unique identifier of the source computing device and (ii) receive a set of identifiers of the destination computing device from the destination computing device, wherein the set of identifiers of the destination computing device includes a version associated with the destination computing device and a unique identifier of the destination computing device; a capability negotiation module configured to determine a subset of casting session parameters from a set of casting session parameters based on the one or more capabilities and the identifying information of the destination computing device, wherein the subset of casting session parameters are usable by the destination computing device to establish a casting session and stream content in accordance with the subset of casting session parameters; and a digital media content casting module configured to transmit the subset of casting session parameters to the destination computing device; wherein to transmit the set of identifiers of the source computing device to the destination computing device comprises to transmit a request for one or more protocol methods supported by the destination computing device, wherein the request for the one or more protocol methods supported by the destination computing device includes the set of identifiers of the source computing device; and wherein to receive the set of identifiers of the destination computing device from the destination computing device comprises to receive, subsequent to having transmitted the request for one or more protocol methods supported by the destination computing device, a response that includes the one or more protocol methods supported by the destination computing device and the set of identifiers of the destination computing device, and wherein to determine the subset of casting session parameters is further based on the one or more protocol methods supported by the destination computing device. a communication management module configured to (i) transmit a set of identifiers of the source computing device to a destination computing device, wherein the set of identifiers of the source computing device includes a version associated with the source computing device and a unique identifier of the source computing device and (ii) receive a set of identifiers of the destination computing device from the destination computing device, wherein the set of identifiers of the destination computing device includes a version associated with the destination computing device and a unique identifier of the destination computing device; a capability negotiation module configured to determine a subset of casting session parameters from a set of casting session parameters based on the one or more capabilities and the identifying information of the destination computing device, wherein the subset of casting session parameters are usable by the destination computing device to establish a casting session and stream content in accordance with the subset of casting session parameters; and a digital media content casting module configured to transmit the subset of casting session parameters to the destination computing device; wherein to transmit the set of identifiers of the source computing device to the destination computing device comprises to transmit a request for one or more protocol methods supported by the destination computing device, wherein the request for the one or more protocol methods supported by the destination computing device includes the set of identifiers of the source computing device; and wherein to receive the set of identifiers of the destination computing device from the destination computing device comprises to receive, subsequent to having transmitted the request for one or more protocol methods supported by the destination computing device, a response that includes the one or more protocol methods supported by the destination computing device and the set of identifiers of the destination computing device, and wherein to determine the subset of casting session parameters is further based on the one or more protocol methods supported by the destination computing device.