After the fix to rtsp.c in a14f715, I've tried to run a test where I set WRITEDATA and WRITEFUNCTION and rtsp.c is still failing. I think the issue is as below:
writeit = data->set.fwrite_rtp?data->set.fwrite_rtp:data->set.fwrite_func;
if(!data->set.fwrite_rtp && !data->set.is_fwrite_set &&
!data->set.rtp_out) {
/* if no callback is set for either RTP or default, the default function
fwrite() is utilized and that can't handle a NULL input */
failf(data, "No destination to default data callback!");
return CURLE_WRITE_ERROR;
}
wrote = writeit(ptr, 1, len, data->set.rtp_out);
It doesn't suffice to simply use data->set.rtp_out - I think the userdata pointer has to be set up by the if statement as well. I think if the fwrite_func is being used then the data->set.out pointer should be passed to the callback instead of data->set.rtp_out.
After the fix to rtsp.c in a14f715, I've tried to run a test where I set WRITEDATA and WRITEFUNCTION and rtsp.c is still failing. I think the issue is as below:
It doesn't suffice to simply use
data->set.rtp_out- I think the userdata pointer has to be set up by theifstatement as well. I think if the fwrite_func is being used then thedata->set.outpointer should be passed to the callback instead ofdata->set.rtp_out.