Embedding a session description message in a real-time control protocol (RTCP) message
First Claim
1. One or more computer readable media encoded with computer-readable instructions that when executed by a computing device, configure the computing device to execute a method, the method comprising:
- identifying a piece of media content to be streamed from the computing device to a recipient computing device requesting the piece of media content;
obtaining information describing the identified piece of media content;
generating a Real Time Control Protocol (RTCP) message having the obtained information of the identified piece of media content, the RTCP message comprising;
a first field containing data identifying the RTCP message as being a type that embeds a session description message;
a second field containing data that is the session description message for a media presentation, the session description message being a Session Description Protocol (SDP) session description message such that SDP information of the media presentation is made available to the client device through the RTCP message without the client receiving a separate SDP session description message;
a third field containing data identifying a length of the RTCP message;
a fourth field containing data that identifies a version of RTP (Real-Time Transport Protocol) being used to stream the media presentation;
a fifth field containing data identifying whether additional padding octets are included in the RTCP message;
a sixth field containing data identifying whether the data in the second field has been compressed;
a seventh field containing data identifying the session description message and an address of a sender of the session description message;
an eighth field containing data identifying a number of RTP-State blocks contained in the RTCP message;
a ninth field containing data identifying whether data in an RTP-State block of the RTCP message applies to all RTP packets having a particular SDP Flow ID or only to RTP packets having a particular RTP Payload Type number;
a tenth field containing data identifying an RTP Payload Type number for the RTP-State block of the RTCP message;
an eleventh field containing data identifying a media stream of the media presentation to which the RTP-State block of the RTCP message refers;
a twelfth field containing data identifying a source of the media stream of the media presentation to which the RTP-State block of the RTCP message refers;
a thirteenth field containing data identifying a value of an RTP Timestamp field that an RTP packet for the media stream of the media presentation would have if the RTP packet was sent at the beginning of the media presentation;
a fourteenth field containing data identifying a value of an RTP sequence number field of a first RTP packet that is sent for the media stream of the media presentation;
a fifteenth field containing data that indicates that the RTCP message contains a fragment of the session description message; and
a sixteenth field containing data that identifies the fragment;
wherein the length of the RTCP message in the third filed is generated by summing the length of the first field, the length of the second field, the length of the third field, a length of the fourth field, a length of the fifth field, a length of the sixth field, a length of the seventh field, a length of the eighth field, a length of the ninth field, a length of the tenth field, a length of the eleventh field, a length of the twelfth field, a length of the thirteenth field, a length of the fourteenth field, a length of the fifteenth field, and a length of the sixteenth field transmitting the RTCP message to the recipient computing device.
3 Assignments
0 Petitions
Accused Products
Abstract
Embedded within at least some Real-Time Control Protocol (RTCP) messages sent from a media content source to a recipient is a session description message that describes a media presentation being streamed to the recipient. The session description message can be associated, for example, with one of a plurality of pieces of media content in a play list of media content being streamed from the device to the recipient. In accordance with certain aspects, an RTCP message that embeds a session description message includes at least three fields: a first field containing data identifying the RTCP message as being a type that embeds a session description message; a second field containing data that is the session description message for a media presentation; and a third field containing data identifying a length of the RTCP message, generated by summing the length of the first, second, and third fields.
-
Citations
13 Claims
-
1. One or more computer readable media encoded with computer-readable instructions that when executed by a computing device, configure the computing device to execute a method, the method comprising:
-
identifying a piece of media content to be streamed from the computing device to a recipient computing device requesting the piece of media content;
obtaining information describing the identified piece of media content;
generating a Real Time Control Protocol (RTCP) message having the obtained information of the identified piece of media content, the RTCP message comprising;a first field containing data identifying the RTCP message as being a type that embeds a session description message; a second field containing data that is the session description message for a media presentation, the session description message being a Session Description Protocol (SDP) session description message such that SDP information of the media presentation is made available to the client device through the RTCP message without the client receiving a separate SDP session description message; a third field containing data identifying a length of the RTCP message; a fourth field containing data that identifies a version of RTP (Real-Time Transport Protocol) being used to stream the media presentation; a fifth field containing data identifying whether additional padding octets are included in the RTCP message; a sixth field containing data identifying whether the data in the second field has been compressed; a seventh field containing data identifying the session description message and an address of a sender of the session description message; an eighth field containing data identifying a number of RTP-State blocks contained in the RTCP message; a ninth field containing data identifying whether data in an RTP-State block of the RTCP message applies to all RTP packets having a particular SDP Flow ID or only to RTP packets having a particular RTP Payload Type number; a tenth field containing data identifying an RTP Payload Type number for the RTP-State block of the RTCP message; an eleventh field containing data identifying a media stream of the media presentation to which the RTP-State block of the RTCP message refers; a twelfth field containing data identifying a source of the media stream of the media presentation to which the RTP-State block of the RTCP message refers; a thirteenth field containing data identifying a value of an RTP Timestamp field that an RTP packet for the media stream of the media presentation would have if the RTP packet was sent at the beginning of the media presentation; a fourteenth field containing data identifying a value of an RTP sequence number field of a first RTP packet that is sent for the media stream of the media presentation; a fifteenth field containing data that indicates that the RTCP message contains a fragment of the session description message; and a sixteenth field containing data that identifies the fragment; wherein the length of the RTCP message in the third filed is generated by summing the length of the first field, the length of the second field, the length of the third field, a length of the fourth field, a length of the fifth field, a length of the sixth field, a length of the seventh field, a length of the eighth field, a length of the ninth field, a length of the tenth field, a length of the eleventh field, a length of the twelfth field, a length of the thirteenth field, a length of the fourteenth field, a length of the fifteenth field, and a length of the sixteenth field transmitting the RTCP message to the recipient computing device. - View Dependent Claims (2, 3, 4)
-
-
5. One or more computer readable media encoded with computer-readable instructions, the computer-readable instructions, when executed by one or more processors of a computing device, configure the one or more processors of the computing device to execute a method, the method comprising:
-
receiving, a from media content source a Real-Time Control Protocol (RTCP) message; extracting, from the RTCP message, a session description message associated with one of a plurality of pieces of media content in a play list of media content being streamed from the media content source to the device, the session description message being a Session Description Protocol (SDP) session description message such that SDP information of the one of a plurality of pieces of media content is made available to a client, without the client receiving a separate SDP session description message; and processing the one of the plurality of pieces of media content based at least in part on the session description message, wherein the RTCP message comprises; a first field containing data identifying the RTCP message as being a type that embeds a session description message; a second field containing data that is the session description message for a media presentation, the session description message being a Session Description Protocol (SDP) session description message such that SDP information of the media presentation is made available to the client device through the RTCP message without the client receiving a separate SDP session description message; a third field containing data identifying a length of the RTCP message; a fourth field containing data that identifies a version of RTP (Real-Time Transport Protocol) being used to stream the media presentation; a fifth field containing data identifying whether additional padding octets are included in the RTCP message; a sixth field containing data identifying whether the data in the second field has been compressed; a seventh field containing data identifying the session description message and an address of a sender of the session description message; an eighth field containing data identifying a number of RTP-State blocks contained in the RTCP message; a ninth field containing data identifying whether data in an RTP-State block of the RTCP message applies to all RTP packets having a particular SDP Flow ID or only to RTP packets having a particular RTP Payload Type number; a tenth field containing data identifying an RTP Payload Type number for the RTP-State block of the RTCP message; an eleventh field containing data identifying a media stream of the media presentation to which the RTP-State block of the RTCP message refers; a twelfth field containing data identifying a source of the media stream of the media presentation to which the RTP-State block of the RTCP message refers; a thirteenth field containing data identifying a value of an RTP Timestamp field that an RTP packet for the media stream of the media presentation would have if the RTP packet was sent at the beginning of the media presentation; a fourteenth field containing data identifying a value of an RTP sequence number field of a first RTP packet that is sent for the media stream of the media presentation; a fifteenth field containing data that indicates that the RTCP message contains a fragment of the session description message; and a sixteenth field containing data that identifies the fragment; and wherein the length of the RTCP message in the third field is generated by summing the length of the first field, the length of the second field, the length of the third field, a length of the fourth field, a length of the fifth field, a length of the sixth field, a length of the seventh field, a length of the eighth field, a length of the ninth field, a length of the tenth field, a length of the eleventh field, a length of the twelfth field, a length of the thirteenth field, a length of the fourteenth field, a length of the fifteenth field, and a length of the sixteenth field. - View Dependent Claims (6, 7, 8)
-
-
9. A method, implemented in a device, the method comprising:
-
creating a Real-Time Control Protocol (RTCP) message that includes a session description message, the session description message being associated with one of a plurality of pieces of media content in a play list of media content being streamed from the device to a client device and the session description message being a Session Description Protocol (SDP) session description message that contains SDP information of the one of a plurality of pieces of media content; and sending the RTCP message to the client device, wherein the SDP information of the one of a plurality of pieces of media content is made available at the client device without sending a separate SDP session description message from the device; wherein the RTCP message comprises; a first field containing data identifying the RTCP message as being a type that embeds a session description message; a second field containing data that is the session description message for a media presentation, the session description message being a Session Description Protocol (SDP) session description message such that SDP information of the media presentation is made available to the client device through the RTCP message without the client receiving a separate SDP session description message; a third field containing data identifying a length of the RTCP message; a fourth field containing data that identifies a version of RTP (Real-Time Transport Protocol) being used to stream the media presentation; a fifth field containing data identifying whether additional padding octets are included in the RTCP message; a sixth field containing data identifying whether the data in the second field has been compressed; a seventh field containing data identifying the session description message and an address of a sender of the session description message; an eighth field containing data identifying a number of RTP-State blocks contained in the RTCP message; a ninth field containing data identifying whether data in an RTP-State block of the RTCP message applies to all RTP packets having a particular SDP Flow ID or only to RTP packets having a particular RTP Payload Type number; a tenth field containing data identifying an RTP Payload Type number for the RTP-State block of the RTCP message; an eleventh field containing data identifying a media stream of the media presentation to which the RTP-State block of the RTCP message refers; a twelfth field containing data identifying a source of the media stream of the media presentation to which the RTP-State block of the RTCP message refers; a thirteenth field containing data identifying a value of an RTP Timestamp field that an RTP packet for the media stream of the media presentation would have if the RTP packet was sent at the beginning of the media presentation; a fourteenth field containing data identifying a value of an RTP sequence number field of a first RTP packet that is sent for the media stream of the media presentation; a fifteenth field containing data that indicates that the RTCP message contains a fragment of the session description message; and a sixteenth field containing data that identifies the fragment; and wherein the length of the RTCP message in the third field is generated by summing the length of the first field, the length of the second field, the length of the third field, a length of the fourth field, a length of the fifth field, a length of the sixth field, a length of the seventh field, a length of the eighth field, a length of the ninth field, a length of the tenth field, a length of the eleventh field, a length of the twelfth field, a length of the thirteenth field, a length of the fourteenth field, a length of the fifteenth field, and a length of the sixteenth field. - View Dependent Claims (10, 11, 12)
-
-
13. A system comprising:
-
a server device; a client device; the server device being configured to; create a Real-Time Control Protocol (RTCP) message that includes a session description message, the session description message being associated with one of a plurality of pieces of media content in a play list of media content being streamed from the server device to the client device and the session description message being a Session Description Protocol (SDP) session description message that contains SDP information of the one of a plurality of pieces of media content; and send the RTCP message to the client device; and the client device being configured to; receive, from the server device, the RTCP message; extract, from the RTCP message, the session description message, wherein the SDP information of the one of a plurality of pieces of media content in the session description message is made available at the client device without the client device receiving a separate SDP session description message from the server device; and process the one of the plurality of pieces of media content based at least in part on the session description message; wherein the RTCP message comprises; a first field containing data identifying the RTCP message as being a type that embeds a session description message; a second field containing data that is the session description message for a media presentation, the session description message being a Session Description Protocol (SDP) session description message such that SDP information of the media presentation is made available to the client device through the RTCP message without the client receiving a separate SDP session description message; a third field containing data identifying a length of the RTCP message; a fourth field containing data that identifies a version of RTP (Real-Time Transport Protocol) being used to stream the media presentation; a fifth field containing data identifying whether additional padding octets are included in the RTCP message; a sixth field containing data identifying whether the data in the second field has been compressed; a seventh field containing data identifying the session description message and an address of a sender of the session description message; an eighth field containing data identifying a number of RTP-State blocks contained in the RTCP message; a ninth field containing data identifying whether data in an RTP-State block of the RTCP message applies to all RTP packets having a particular SDP Flow ID or only to RTP packets having a particular RTP Payload Type number; a tenth field containing data identifying an RTP Payload Type number for the RTP-State block of the RTCP message; an eleventh field containing data identifying a media stream of the media presentation to which the RTP-State block of the RTCP message refers; a twelfth field containing data identifying a source of the media stream of the media presentation to which the RTP-State block of the RTCP message refers; a thirteenth field containing data identifying a value of an RTP Timestamp field that an RTP packet for the media stream of the media presentation would have if the RTP packet was sent at the beginning of the media presentation; a fourteenth field containing data identifying a value of an RTP sequence number field of a first RTP packet that is sent for the media stream of the media presentation; a fifteenth field containing data that indicates that the RTCP message contains a fragment of the session description message; and a sixteenth field containing data that identifies the fragment; and wherein the length of the RTCP message in the third field is generated by summing the length of the first field, the length of the second field, the length of the third field, a length of the fourth field, a length of the fifth field, a length of the sixth field, a length of the seventh field, a length of the eighth field, a length of the ninth field, a length of the tenth field, a length of the eleventh field, a length of the twelfth field, a length of the thirteenth field, a length of the fourteenth field, a length of the fifteenth field, and a length of the sixteenth field.
-
Specification