… | |
… | |
75 | reset_state (); |
75 | reset_state (); |
76 | send_packet_printf ("drawinfo %d command queue overflow, ignoring.", NDI_RED); |
76 | send_packet_printf ("drawinfo %d command queue overflow, ignoring.", NDI_RED); |
77 | } |
77 | } |
78 | else |
78 | else |
79 | { |
79 | { |
80 | cmd_queue.push_back (command ()); |
80 | cmd_queue.resize (cmd_queue.size () + 1); |
81 | command &cmd = cmd_queue.back (); |
81 | command &cmd = cmd_queue.back (); |
82 | cmd.stamp = stamp; |
82 | cmd.stamp = stamp; |
83 | cmd.handler = handler; |
83 | cmd.handler = handler; |
84 | cmd.data = salloc<char> (datalen + 1, data); |
84 | cmd.data = salloc<char> (datalen + 1, data); |
85 | cmd.datalen = datalen; |
85 | cmd.datalen = datalen; |
… | |
… | |
101 | send_packet_printf ("drawinfo %d ignoring delayed commands.", NDI_RED); |
101 | send_packet_printf ("drawinfo %d ignoring delayed commands.", NDI_RED); |
102 | } |
102 | } |
103 | else |
103 | else |
104 | execute (cmd.handler, cmd.data, cmd.datalen); |
104 | execute (cmd.handler, cmd.data, cmd.datalen); |
105 | |
105 | |
|
|
106 | sfree<char> (cmd.data, cmd.datalen + 1); |
106 | cmd_queue.pop_front (); |
107 | cmd_queue.pop_front (); |
107 | return true; |
108 | return true; |
108 | } |
109 | } |
109 | else |
110 | else |
110 | return false; |
111 | return false; |