Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream
View Patent ↗Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream are disclosed. An exemplary method includes: receiving a command from a user mode video playback component; in response, processing layer- 2 packets received through a network interface driver binding to assemble, into an MPEG elementary stream, multimedia transport packets encapsulated within; and supplying the stream to a decoder. The receiving and processing steps are performed in kernel mode. Also disclosed is an exemplary digital home communication terminal that includes a network interface, memory, and a processor. The processor executes code to: receive a command from a user mode video playback component; process layer- 2 packets received through a network interface driver binding, in order to assemble into an MPEG elementary stream multimedia transport packets encapsulated within the received layer- 2 packets; and supply the elementary stream to a decoder. The receive and process operations are performed in kernel mode.
1. A method, performed in a digital home communication terminal (DHCT), of assembling a multimedia transport stream from a layer- 2 packet, the method comprising the steps of:
receiving, in kernel mode, a command from a user mode video playback component;
in response to the received command, processing, in kernel mode, layer- 2 packets received through a binding to a network interface driver in order to assemble multimedia transport packets encapsulated within the received layer- 2 packets into an MPEG elementary stream, wherein the processing includes applying at least one filter to the received layer- 2 packets and assembly only includes multimedia packets meeting the applied filter criteria;
copying the multimedia packets that did not meet the applied filter criteria to a protocol stack; and
supplying the MPEG elementary stream to a decoder.
2. The method of claim 1 , further comprising the step of:
after receiving the command, blocking the execution of the user mode video playback component.
3. The method of claim 1 , further comprising the steps of:
after receiving the command, blocking the user mode video playback component; and
unblocking the execution of the user mode video playback component in response to receiving a stop decoder event.
4. The method of claim 1 , further comprising the step of:
performing a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets.
5. The method of claim 1 , further comprising the step of:
conditionally performing a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option.
6. The method of claim 1 , further comprising the step of:
conditionally performing a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option specified by the user mode video playback component.
7. The method of claim 1 , further comprising the step of:
performing, in kernel mode, forward error correction on the received layer- 2 packets.
8. The method of claim 1 , further comprising the step of:
configuring the decoder based on at least one option specified by the user mode video playback component.
9. A digital home communication terminal (DHCT) comprising:
a network interface;
memory having stored thereon program code; and
a processor that is programmed by at least the program code to enable the client DHCT to:
receive, in kernel mode, a command from a user mode video playback component;
in response to the received command, process in kernel mode layer- 2 packets received through a binding to a network interface driver in order to assemble multimedia transport packets encapsulated within the received layer- 2 packets into an MPEG elementary stream, wherein the processing includes applying at least one filter to the received layer- 2 packets and assembly only includes multimedia packets meeting the applied filter criteria;
copy the multimedia packets that did not meet the applied filter criteria to a protocol stack; and
supply the MPEG elementary stream to a decoder.
10. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:
block the execution of the user mode video playback component after receiving the command.
11. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:
block the user mode video playback component after receiving the command; and unblock the execution of the user mode video playback component in response to receiving a stop decoder event.
12. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:
perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets.
13. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:
conditionally perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option.
14. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:
conditionally perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option specified by the user mode video playback component.
15. A digital home communication terminal (DHCT) comprising:
a processor, the processor configured with:
logic configured to receive, in kernel mode, a command from a user mode video playback component;
logic configured to process in kernel mode layer- 2 packets received through a binding to a network interface driver in order to assemble multimedia transport packets encapsulated within the received layer- 2 packets into an MPEG elementary stream, where the kernel-mode processing is performed in response to the received command, wherein the processing includes applying at least one filter to the received layer- 2 packets and assembly only includes multimedia packets meeting the applied filter criteria;
logic configured to copy the multimedia packets that did not meet the applied filter criteria to a protocol stack; and
logic configured to supply the MPEG elementary stream to a decoder.
16. The DHCT of claim 15 , wherein the processor is further comprising:
logic configured to block the execution of the user mode video playback component after receiving the command.
17. The DHCT of claim 15 , wherein the processor is further comprising:
logic configured to perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets.
18. The DHCT of claim 15 , wherein the processor is further comprising:
logic configured to perform forward error correction on the received layer- 2 packets in kernel-mode.
19. The DHCT of claim 15 , wherein the processor is further comprising:
logic configured to configure the decoder based on at least one option specified by the user mode video playback component.
20. The DHCT of claim 15 , wherein the processor is further comprising:
logic configured to conditionally perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option.