usb发送接收回调函数的启动问题

我对usb发送接收回调函数的启动事件很困惑,比如说我正在接收1ms一次 的同步传输管道的音频数据,而urb的buffer是1024byte,那么是当1024byte的buffer存满时调用usb发送接收回调函数,还是当1ms的接收完成时调用usb发送接收回调函数?
还有,当我传送一个文件结束时,需要用urb发送一个空帧来标示结束吗?