00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <mxcpcSimpleMxPEGViewer.h>
00028 #include <mxcpcFastStreamSelectionDialog.h>
00029 #include <mxcpcSDKInfoDialog.h>
00030 #include <mxcpcBestPerformanceMxPEGCodecFactory.h>
00031 #include <mxcpcIPAddress.h>
00032 #include <mxcpcProxyConfiguration.h>
00033
00034 #include <QApplication>
00035
00036 #include <cstdlib>
00037 #include <cstdio>
00038
00039
00040
00041 #define MXPLAYER_APPNAME "MxPEG Player"
00042
00043
00044
00045 int main(int argc, char **argv) {
00046
00047 QApplication qapp(argc, argv);
00048
00049 mxcpcSimpleMxPEGViewer *viewer;
00050 mxcpcFastStreamSelectionDialog *faststream_selection_dialog;
00051 mxcpcSDKInfoDialog *sdk_info_dialog;
00052 mxcpcMxPEGCodecFactory *codec_factory;
00053 int ip1, ip2, ip3, ip4;
00054
00055 codec_factory = new mxcpcBestPerformanceMxPEGCodecFactory();
00056
00057 viewer = new mxcpcSimpleMxPEGViewer(0,
00058 codec_factory,
00059 QString(MXPLAYER_APPNAME));
00060 viewer->show();
00061
00062 faststream_selection_dialog = new mxcpcFastStreamSelectionDialog(0);
00063 faststream_selection_dialog->setWindowTitle(QString("Connect to Camera..."));
00064
00065 sdk_info_dialog = new mxcpcSDKInfoDialog(0);
00066 sdk_info_dialog->show();
00067 sdk_info_dialog->hideLater();
00068
00069 viewer->addMenuItem(QString("Connect to Camera..."),
00070 faststream_selection_dialog, SLOT(openDialog(void)));
00071 viewer->addMenuSeparator();
00072 viewer->addMenuItem(QString("About..."),
00073 sdk_info_dialog, SLOT(openDialog(void)));
00074 viewer->addMenuSeparator();
00075 viewer->addMenuItem(QString("Quit"), &qapp, SLOT(quit(void)));
00076
00077
00078 QObject
00079 ::connect(faststream_selection_dialog,
00080 SIGNAL(fastStreamSelected(const mxcpcIPAddress&,
00081 int,
00082 const mxcpcProxyConfiguration&,
00083 float)),
00084 viewer,
00085 SLOT(playCameraLiveFastStream(const mxcpcIPAddress&,
00086 int,
00087 const mxcpcProxyConfiguration&,
00088 float)));
00089
00090
00091 if(argc == 2) {
00092 ip1 = ip2 = ip3 = ip4 = 0;
00093 std::sscanf(argv[1], "%d.%d.%d.%d", &ip1, &ip2, &ip3, &ip4);
00094 viewer->playCameraLiveFastStream(mxcpcIPAddress(ip1, ip2, ip3, ip4),
00095 80,
00096 mxcpcProxyConfiguration(),
00097 8);
00098 }
00099
00100
00101 qapp.exec();
00102
00103
00104 delete viewer;
00105 delete faststream_selection_dialog;
00106 delete sdk_info_dialog;
00107 exit(0);
00108 }