I am using GTK2. I've seen where some people experienced problems using QT. This is my debug log:
TControlCanvas.SetControl
=thread-group-added,id="i1"
(gdb)
<-gdb-set confirm off>
^done
(gdb)
<-gdb-set new-console off>
^error,msg="No symbol table is loaded. Use the \"file\" command."
(gdb)
<set width 50000>
&"set width 50000\n"
=cmd-param-changed,param="width",value="50000"
^done
. . . GDB advertising removed . . .
. . . GDB setup stuff . . .
. . . GDB library loading - startup . . .
. . . breakpoint I placed just ahead of mplayer @ TCustomMPlayerControl.Create line 537
(gdb)
<info line "/home/arlen/FreePascal/lazarus-1.6.0/components/mplayer/mplayerctrl.pas":537>
&"info line \"/home/arlen/FreePascal/lazarus-1.6.0/components/mplayer/mplayerctrl.pas\":537\n"
~"Line 537 of \"../../FreePascal/lazarus-1.6.0/components/mplayer/mplayerctrl.pas\" starts at address 0x984677 <Create+279> and ends at 0x98468b <Create+299>.\n"
^done
(gdb)
<-break-insert "\"/home/arlen/FreePascal/lazarus-1.6.0/components/mplayer/mplayerctrl.pas\":537">
^done,bkpt={number="9",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000984677",func="Create",file="../../FreePascal/lazarus-1.6.0/components/mplayer/mplayerctrl.pas",fullname="/home/arlen/FreePascal/lazarus-1.6.0/components/mplayer/mplayerctrl.pas",line="537",thread-groups=["i1"],times="0",original-location="/home/arlen/FreePascal/lazarus-1.6.0/components/mplayer/mplayerctrl.pas:537"}
(gdb)
<-break-enable 9>
^done
(gdb)
<-exec-continue>
^running
*running,thread-id="all"
(gdb)
=library-loaded,id="/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so",target-name="/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so",host-name="/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgtk-vector-screenshot.so",target-name="/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgtk-vector-screenshot.so",host-name="/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgtk-vector-screenshot.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libmurrine.so",target-name="/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libmurrine.so",host-name="/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libmurrine.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so",target-name="/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so",host-name="/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so",target-name="/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so",host-name="/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib/x86_64-linux-gnu/libudev.so.1",target-name="/lib/x86_64-linux-gnu/libudev.so.1",host-name="/lib/x86_64-linux-gnu/libudev.so.1",symbols-loaded="0",thread-group="i1"
=thread-created,id="2",group-id="i1"
~"[New Thread 0x7fffef198700 (LWP 11923)]\n"
*running,thread-id="2"
=thread-created,id="3",group-id="i1"
~"[New Thread 0x7fffee997700 (LWP 11924)]\n"
*running,thread-id="3"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so",target-name="/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so",host-name="/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/librsvg-2.so.2",target-name="/usr/lib/x86_64-linux-gnu/librsvg-2.so.2",host-name="/usr/lib/x86_64-linux-gnu/librsvg-2.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3",target-name="/usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3",host-name="/usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/libxml2.so.2",target-name="/usr/lib/x86_64-linux-gnu/libxml2.so.2",host-name="/usr/lib/x86_64-linux-gnu/libxml2.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/libicuuc.so.55",target-name="/usr/lib/x86_64-linux-gnu/libicuuc.so.55",host-name="/usr/lib/x86_64-linux-gnu/libicuuc.so.55",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/x86_64-linux-gnu/libicudata.so.55",target-name="/usr/lib/x86_64-linux-gnu/libicudata.so.55",host-name="/usr/lib/x86_64-linux-gnu/libicudata.so.55",symbols-loaded="0",thread-group="i1"
=breakpoint-modified,bkpt={number="8",type="breakpoint",disp="keep",enabled="y",addr="0x000000000041eda1",func="$main",file="subrip.lpr",fullname="/home/arlen/appdev/subrip-laz4/subrip.lpr",line="44",thread-groups=["i1"],times="1",original-location="/home/arlen/appdev/subrip-laz4/subrip.lpr:44"}
~"\n"
~"Thread 1 \"subrip\" hit Breakpoint 8, $main () at subrip.lpr:44\n"
~"44\t Application.CreateForm(TFormVideoViewer, FormVideoViewer); //unit21\n"
. . . here we get to creating the FormVideoViewer. I dropped the Mplayer control onto the form.
The code that I use in FormVideoViewer is:
procedure TFormVideoViewer.FormCreate(Sender: TObject);
begin
VideoOpen := false;//no Video loaded
PanelVideo.DoubleBuffered := true;
. . . . . . .
MPlayerControl1.Volume := 50;
If Not MPlayerControl1.FindMPlayerPath Then
begin
{$IFDEF WINDOWS}
MPlayerControl1.MPlayerPath :=
IncludeTrailingBackslash(ExtractFileDir(Application.ExeName)) +
IncludeTrailingBackSlash('mplayer') + 'mplayer' + GetExeExt;
{$ELSE}
MPlayerControl1.MPlayerPath :=
IncludeTrailingBackslash(ExtractFileDir(Application.ExeName)) +
IncludeTrailingBackSlash('mplayer') + 'mplayer';
{$ENDIF}
end;
{$IFDEF Linux}
MPlayerControl1.StartParam := '-vo x11 -zoom -fs';
{$else} {$IFDEF Windows}
MPlayerControl1.StartParam := '-vo direct3d -nofontconfig';
{$ENDIF}
{$ENDIF}
CboStartParams.Text := MPlayerControl1.StartParam;
PopulateCommands(False);
end;
My debugging goes from this Form Create constructor down to line 537 of MPlayerCrtl. When it gets to that line there follows the line in controlcanvas.inc line 23: if FControl <> AControl then FreeHandle; FControl := AControl. From here it crashes. I've attached my debugging log file trimmed down to run from the above down line 23 in controlcanvas.inc.
I will change the code and see what happens.