The 'sent_headers' member variable of the FLV output would not be reset when the output was restarted, causing important data to not be written, thus creating an invalid FLV file.
@@ -79,6 +79,7 @@ static void flv_output_stop(void *data)
fclose(stream->file);
obs_output_end_data_capture(stream->output);
stream->active = false;
+ stream->sent_headers = false;
info("FLV file output complete");
}