Seamless looping of a signal without pops
But is this good practice?

Yes, that's a perfectly reasonable approach.

Will this will work for all types of signals I might have ?

There are a LOT of signals out there and there is always an outlier. In your case, I think the most &quot;vulnerable&quot; would be low frequency sine waves. A 40 Hz sine wave has a period of 25 ms and looping one at an inconvenient point without audible artifact is tricky. So this all boils down to: how likely are these signal for your application, what level audibility is acceptable and what are the constraints around resources,  looping points &amp; length, etc.

Is there any other way this could be done in a more &quot;proper&quot; manner?


If you have some leeway with the exact loop length and loop points, try to put the loop points at the nearest zero crossing. Ideally both zero crossing go in the same direction.
You can do an energy cross fade instead of a linear cross fade. This will minimize the volume dip in the middle of the cross fade, but at 15ms it's not going to make much of an audible difference.