I've tried to use HandBrake and I've found it perfect except one thing.
I'm not a DVD specialist and I was confused by "titles" and "chapters".
I've tried to make a DVD backup copy and specified chapter 6 instead of title 6. There was no chapter 6 on my DVD and HandBrake crashed with a "Segmentation fault" error.
Well, I've done a little investigation and I've found at least 2 problems.
The first one is in hb_sync_init function; the problem is in the following snippet of code:
Code: Select all
for( i = job->chapter_start; i <= job->chapter_end; i++ )
{
chapter = hb_list_item( job->list_chapter, i - 1 );
duration += chapter->duration;
}
the second problem is related with ReadLoop() in reader.c
Code: Select all
hb_chapter_t *chap = hb_list_item( r->job->list_chapter, chapter_end - 1 );
I'm not sure if there are other places with similar problem.
I'm not familiar with program architecture and I'm not sure where the bounds check should be placed to fix the problem once and forever.
I do not have much time but I will try to solve this issue.
If someone of developers picks this task - please, just inform me cause I just don't want to do the job that has been already done