Patent ID: 11909794
Assignee: OPENEXCHANGE, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 12:
13. A computer-implemented method, the method comprising:
re-synchronizing playback of a live media stream via a publishing client with execution of a stream of out-of-band commands;
at the publishing client operated by a publisher user:
obtaining (i) a location of an output media stream, (ii) a start time at which a media encoder began capturing and encoding an input, and (iii) an offset time adjusting the start time at the publishing client;
transmitting the location of the output media stream, the start time, and the offset time to a publishing server;
enabling the publisher user to initiate new commands at particular times, the new user-initiated commands being relevant to the input simultaneously captured and encoded by the media encoder; and
transmitting the new user-initiated commands to the publishing server;
at the publishing server coupled to the publishing client:
receiving the location of the output media stream, the start time, and the offset time from the publishing client;
generating and maintaining a command manifest file;
writing the received location of the output media stream and the start time as a first command in the command manifest file;
receiving the new user-initiated commands from the publishing client; and
appending the new user-initiated commands to the command manifest file as the user-initiated commands are received from the publishing client, each new received user-initiated command being appended to the end of the command manifest file, wherein each new received user-initiated command being appended with (i) a server clock time indicating time the new user-initiate command is received at the publishing server, (ii) the offset time, (iii) a command type, and (iv) a command parameter for executing the command;

parsing the location of the output media stream from the command manifest file, the parsed location being used to load and buffer the output media stream for presentation;
monitoring current playback time of the output media stream; and
determining whether to execute a new user-initiated command by polling the command manifest file based on the current playback time, if the sum of the start time and the current playback time is (a) greater than or equal to the sum of server clock time of the new user-imitated command, plus the offset time of the new user-initiated command, and (b) less than the sum of server clock time of a next immediate new user-initiated command in the command manifest file, plus offset time of the next immediate user-initiated command.