On Sun, Nov 27, 2011 at 6:42 AM, Bastiaan Timmer
<address@hidden> wrote:
Ok, I created a small example yesterday. I don't know if I can attach files here or send it to your personal email addresses so I've pasted it here: http://paste2.org/p/1799532 |
This works. I have a copy of the program now and run it and see it failing. Thanks.
It should be more straightforward now to check that the return value should indeed be a DRIVER_OP_BAD_POINTER instead of BAD_PARAMETER.
Just let me know if I should get it to you some other way. The file is just the example_paranoia.c program, with the wav-writing removed and a custom read_audio and callback added.
The reason the read_audio fails is in line 38, where 0 is passed instead of the allocated buffer (and it returns BAD_PARAMETER). The reason read_paranoia doesn't return is in line 131, where the paranoia mode is set to PARANOIA_MODE_DISABLE.
To come back to Robert's message about the paranoia mode, it seems that when I set the mode to PARANOIA_MODE_FULL^PARANOIA_MODE_NEVERSKIP, it does indeed allow skipping and so, it doesn't hang. I would have thought PARANOIA_MODE_DISABLE would also
allow skipping, but that doesn't seem to be the case. I've also tried PARANOIA_MODE_DISABLE^PARANOIA_MODE_NEVERSKIP, but that doesn't work either. So I guess that might be a bug? Or is it intended that skipping is not allowed when paranoia is disabled?
|
Again, this is paranoia's API not libcdio's. So although you may get thought and opinions here,I would imagine the best place to ask for a change is in the paranoia mailing list if it is deemed that this is an API bug.
Also, if I were doing that I'd probably rewrite the program so that it doesn't use libcdio at all. I am pretty sure that you'd get the same results but they'll probably want you to make sure.
_______________________________________________
Libcdio-help mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/libcdio-help