Atmega328p IRremote SONY sirc with 56kzh

I try to transmit through one Arduino atmega328p) and receive through the second, using the irremote library
I am using the Tsal6100 and tsop4838
And everything works perfectly with SONY sirc protocol
Despite the fact that SONY sirc it is 40khz and tsop4838 it is 38khz
For maximum beauty, I fixed for my project in the irremote library in the ir_Sony file.cpp
from 40khz to 38khz
In the future I would also like to be able to use 56khz with irremote Sony sirc
I am studying the irremote library and found the following description there in file irSend.cpp

// Enables IR output.  The khz value controls the modulation frequency in kilohertz.
// The IR output will be on pin 3 (OC2B).
// This routine is designed for 36-40KHz; if you use it for other values, it's up to you
// to make sure it gives reasonable results.  (Watch out for overflow / underflow / rounding.)
// TIMER2 is used in phase-correct PWM mode, with OCR2A controlling the frequency and OCR2B
// controlling the duty cycle.
// There is no prescaling, so the output frequency is 16MHz / (2 * OCR2A)
// To turn the output on and off, we leave the PWM running, but connect and disconnect the output pin.
// A few hours staring at the ATmega documentation and this will all make sense.
// See my Secrets of Arduino PWM at for details.
void  IRsend::enableIROut (int khz)
 periodTime = (1000U + khz/2) / khz; // = 1000/khz + 1/2 = round(1000.0/khz)
 periodOnTime = periodTime * DUTY_CYCLE / 100U - PULSE_CORRECTION;

I haven't tried testing TSOP4856 sensors yet.
They're a little expensive for me.
I tried to use the irremote library code to figure out why I can't use 56kHz
But I couldn't find anything useful.

Maybe someone has already tried using 56khz
Or maybe someone knows why I can't use 56khz
Maybe you can tell me which parts of the library's code contain the frequency limit 36-40KHz.
Maybe I can fix it for use with 56khz