Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
I get Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure.
What do I do:
1. connect to rtsp://127.0.0.1:8554/stream.sdp to play video
2. stop video streaming (I use VLC if it matters) -> Access violation ... at avcodec-58.dll ( )
3. stop RVCamera
4. start RVCamera again (video streaming is still stopped) -> Range check error in MD5Encode procedure ( )
What do I do:
1. connect to rtsp://127.0.0.1:8554/stream.sdp to play video
2. stop video streaming (I use VLC if it matters) -> Access violation ... at avcodec-58.dll ( )
3. stop RVCamera
4. start RVCamera again (video streaming is still stopped) -> Range check error in MD5Encode procedure ( )
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
The same issue with Range check error in MD5Encode procedure if I press Search camera button in Media Test demo application.
RVMedia v 7.4
RVMedia v 7.4
-
- Site Admin
- Posts: 17522
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
MRVMD5.pas must be compiled without overflow checking.
It is fixed in the newer version of RVMedia by adding {$OVERFLOWCHECKS OFF} below the line {$I MRV_Defs.inc}.
It is fixed in the newer version of RVMedia by adding {$OVERFLOWCHECKS OFF} below the line {$I MRV_Defs.inc}.
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
I have {$OVERFLOWCHECKS OFF} directive after {$I MRV_Defs.inc}, but still get the error.
Could you please check it once again.
If it matters overflow checking is turned on in my project.
Could you please check it once again.
If it matters overflow checking is turned on in my project.
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
And I still get access violation in TRVMFFMPEG.DeinitDecode function
-
- Site Admin
- Posts: 17522
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
Can you tell me which string causes problem in MD5 function?
Please put a breakpoint on the call of MD5String from (MRVMD5.pas) and, store the value of S parameter somewhere, and if this string causes a range check error, send it to me.
Please put a breakpoint on the call of MD5String from (MRVMD5.pas) and, store the value of S parameter somewhere, and if this string causes a range check error, send it to me.
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
You can see the string in Call Stack panel on the second screenshot.
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
May be there should be {$RANGECHECKS OFF} as well?
-
- Site Admin
- Posts: 17522
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
Unfortunately, the call stack does not show the value of the string parameter, it shows
RVMD5.MD5String(???)
RVMD5.MD5String(???)
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
Yes, but if we open the source code of md5() we will see that S is directly passed from md5() to MD5String() and the value of the parameter of md5() is shown in call stack, isn't it?
Code: Select all
function md5(S: String): String;
begin
{$IFDEF MRVDELPHIXE8}
Result := System.Hash.THashMD5.GetHashString(S);
{$ELSE}
Result := MD5Print(MD5String(S));
{$ENDIF}
end;
-
- Site Admin
- Posts: 17522
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
As you can see, sometimes instead of the parameter value Delphi shows ??? in the call stack window, especially if the project is compiled with optimization and without stack frames (see compiler options for the project)
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
Yes, I see. But still we can get info from previous calls.
Is that enough to fix the problem or should I do smth else?
And what would you say about access violation errors?
Is that enough to fix the problem or should I do smth else?
And what would you say about access violation errors?
-
- Site Admin
- Posts: 17522
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
Sorry, I overlooked the previous call.
Tomorrow I'll upload a new version of TRichView and then switch to RVMedia.
I'll try to review code to find that can go wrong in DeinitDecode. If I will not be able to find it, I'll need your assistance to reproduce this problem.
Tomorrow I'll upload a new version of TRichView and then switch to RVMedia.
I'll try to review code to find that can go wrong in DeinitDecode. If I will not be able to find it, I'll need your assistance to reproduce this problem.
-
- Site Admin
- Posts: 17522
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: Access violation in TRVMFFMPEG.DeinitDecode function and Range check error in MD5Encode procedure
Sorry, completing the new release took more time than I expected.
Now I am switching to RVMedia.
The first result: yes, range checking must be turned off for MRVMD5.pas
Add {$R-} to the beginning of this file.
Now I am switching to RVMedia.
The first result: yes, range checking must be turned off for MRVMD5.pas
Add {$R-} to the beginning of this file.