['   \n  \n [ਅਗਲੇ ਸੀ ਕੋਡ ਨੂੰ ਰਸਟ ਉੱਤੇ ਮੁਡ਼ ਲਿਖੋਃ/* \\n * ਇਸ ਰੁਟੀਨ ਨੂੰ ਪੋਰਟ ਆਡੀਓ ਇੰਜਣ ਦੁਆਰਾ ਕਾਲ ਕੀਤਾ ਜਾਵੇਗਾ ਜਦੋਂ ਆਡੀਓ ਦੀ ਜ਼ਰੂਰਤ ਹੋਵੇਗੀ। \\n * ਇਸ ਨੂੰ ਇੰਟਰਪਟ ਪੱਧਰ ਉੱਤੇ ਕਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।ਕੁੱਝ ਮਸ਼ੀਨਾਂ ਉੱਤੇ ਇਸ ਲਈ ਅਜਿਹਾ ਕੁੱਝ ਵੀ ਨਾ ਕਰੋ ਜੋ ਸਿਸਟਮ ਨੂੰ ਗਡ਼ਬਡ਼ ਕਰ ਸਕੇ ਜਿਵੇਂ ਕਿ ਮੈਲੋਕ () ਜਾਂ ਫ੍ਰੀ () ਨੂੰ ਕਾਲ ਕਰਨਾ।* ਇੰਪੁੱਟਬੱਫਰ, ਵਾਇਲਡ * ਆਉਟਪੁੱਟਬੱਫਰ, \\n\\t\\t\\t ਅਣ-ਹਸਤਾਖਰ ਕੀਤੇ ਲੰਬੇ ਫਰੇਮਕਾਊਂਟ, \\n\\t\\t\\t ਕਾਂਸਟ ਪਾਸਟ੍ਰੀਮਕਾਲਬੈਕ ਟਾਈਮਇਨਫੋ * ਟਾਈਮਇਨਫੋ, \\n\\t\\t\\t ਪਾਸਟ੍ਰੀਮਕਾਲਬੈਕਫਲਾਗਸਸਟੇਟਸ ਫਲੈਗ, ਵੋਇਡ * ਯੂਜਰਡੇਟਾ) \\n {\\n\\tstruct ausrc _ st * st = ਯੂਜਰਡੇਟਾ; \\n\\tstruct auframe ap; \\n\\tsize _ tsampc; \\n\\n\\t (ਖ਼ਾਲੀ) ਆਉਟਪੁੱਟ ਬਫ਼ਰ; \\n\\t (ਖ਼ਾਲੀ) ਟਾਈਮਇਨਫੋ; \\n\\t (ਖ਼ਾਲੀ) ਸਥਿਤੀ ਫਲੈਗ; \\n\\n\\tif (!ਐੱਸ. ਟੀ.-> prm.ch; \\n\\n\\tauframe _ init (& ap, ਐੱਸ. ਟੀ.-> prm.fmt, (ਵੋਇਡ *) ਇੰਪੁੱਟਬਫਰ, ਐੱਸ. ਐੱਮ. ਪੀ. ਸੀ., \\n\\t\\tst-> prm.srate, ਐੱਸ. ਟੀ.-> prm.ch); \\n\\ taf.timestamp =ਪਾ _ ਗੇਟਸਟ੍ਰੀਮ ਟਾਈਮ (ਸਟੈਮ-> ਸਟ੍ਰੀਮ _ ਆਰ. ਡੀ.) * ਆਡੀਓ _ ਟਾਈਮਬੇਸ; \\n\\n\\tst-> rh (& ap, ਸਟੈਮ-> ਆਰ. ਜੀ.); \\n\\n\\treturn ਪਾ ਕੰਟੀਨਯੂ; \\n "] ', 'ਅਗਲੇ ਸੀ ਕੋਡ ਨੂੰ ਰਸਟ ਵਿੱਚ ਦੁਬਾਰਾ ਲਿਖੋਃ/* * ਇਹ ਰੁਟੀਨ ਪੋਰਟ ਆਡੀਓ ਇੰਜਣ ਦੁਆਰਾ ਕਾਲ ਕੀਤੀ ਜਾਵੇਗੀ ਜਦੋਂ ਆਡੀਓ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ। * ਇਹ ਕੁਝ ਉੱਤੇ ਇੰਟਰਪਟ ਪੱਧਰ ਉੱਤੇ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ।ਮਸ਼ੀਨਾਂ ਇਸ ਲਈ ਅਜਿਹਾ ਕੁਝ ਵੀ ਨਾ ਕਰੋ * ਜੋ ਸਿਸਟਮ ਨੂੰ ਗਡ਼ਬਡ਼ ਕਰ ਸਕਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਮੈਲੋਕ () ਜਾਂ ਫ੍ਰੀ (). */ਸਟੈਟਿਕ ਇੰਟ ਰੀਡ _ ਕਾਲਬੈਕ (ਕਾਂਸਟ ਵੋਇਡ * ਇੰਪੁੱਟਬਫਰ,ਵਾਇਲਡ * ਆਉਟਪੁੱਟ ਬਫਰ, ਬਿਨਾਂ ਦਸਤਖਤ ਵਾਲਾ ਲੰਬਾ ਫਰੇਮਕਾਊਂਟ, ਕਾਂਸਟ ਪਾਸਟ੍ਰੀਮਕਾਲਬੈਕ ਟਾਈਮਇਨਫੋ * ਟਾਈਮਇਨਫੋ, ਪਾਸਟ੍ਰੀਮਕਾਲਬੈਕਫਲਾਗਸ ਸਟੇਟਸਫਲਾਗਸ, ਵਾਇਲਡ * ਯੂਜਰਡੇਟਾ) {ਸਟਰੈਕਟausrc _ st * st = ਯੂਜਰਡੇਟਾ; ਸਟਰਕਟ auframe ap; ਸਾਈਜ਼ _ t sampc; (ਵਾਇਲਡ) ਆਉਟਪੁੱਟਬਫਰ; (ਵਾਇਲਡ) ਟਾਈਮਇਨਫੋ; (ਵਾਇਲਡ) ਸਟੇਟਸਫਲੈਗ; ਜੇਕਰ (!= ਫ੍ਰੇਮਕੌਂਟ * ਸਟੈ-> prm.ch; auphrame _ init (& ap, ਸਟੈ-> prm.fmt, (ਵੋਇਡ *) ਇੰਪੁੱਟਬਫਰ, ਸੈਂਪਸੀ, ਸਟੈ-> prm.srate, ਸਟੈ-> prm.ch); af.timestamp =ਪਾ _ ਗੇਟਸਟ੍ਰੀਮ ਟਾਈਮ (ਸਟੈਮ-> ਸਟ੍ਰੀਮ _ ਆਰਡੀ) * ਆਡੀਓ _ ਟਾਈਮਬੇਸ; ਸਟੈਮ-> ਆਰਐੱਚ (& ਏਐੱਫ, ਸਟੈਮ-> ਆਰਜੀ); ਪੈਕਾਂਟਿਨਯੂ ਵਾਪਸ ਕਰੋ;} \n ']