⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gui_main.cpp

📁 完整的RTP RTSP代码库
💻 CPP
📖 第 1 页 / 共 5 页
字号:
#if 0  if (MyConfig->IsFileVideoSource() && MyConfig->IsFileAudioSource()      && !MyConfig->GetBoolValue(CONFIG_RTP_ENABLE)) {    // no real time constraints    StopTime = 0;  } else {    StopTime = StartTime + FlowDuration;  }#endif  StopTime = StartTime + FlowDuration;	status_start();	temp = lookup_widget(MainWindow, "StartButton");	gtk_button_set_label(GTK_BUTTON(temp), "Stop");	status_timer_id = gtk_timeout_add(1000, status_timer, MainWindow);	started = true;}void DoStop(){  if (AVFlow->doingPreview() == false) {	gtk_timeout_remove(status_timer_id);  }	GtkWidget *statusbar = lookup_widget(MainWindow, "statusbar1");	gtk_statusbar_pop(GTK_STATUSBAR(statusbar), 0);	gtk_statusbar_push(GTK_STATUSBAR(statusbar), 			   0,			   "Stopping - Closing recorded files");			  	GtkWidget *temp = lookup_widget(MainWindow, "TextDialog");	if (temp != NULL) {	  gtk_widget_destroy(temp);	}	AVFlow->Stop();	gtk_statusbar_pop(GTK_STATUSBAR(statusbar), 0);	gtk_statusbar_push(GTK_STATUSBAR(statusbar), 			   0,			   "Session Finished");	// unlock changes to settings	LockoutChanges(false);	temp = lookup_widget(MainWindow, "StartButton");	gtk_button_set_label(GTK_BUTTON(temp), "Start");	started = false;	DisplayStreamData(SelectedStream);}static voidon_StartButton_toggled                 (GtkToggleButton *togglebutton,                                        gpointer         user_data){  if (started == false) {    DoStart();  } else {    DoStop();  }  DisplayStreamData(SelectedStream);}// Handler for when a stream is clicked.  Go through, and figure out// which one is selected.  We should get a valid stream name, which we// then switch to.static void on_StreamTree_select (GtkTreeSelection *selection,				  gpointer data){  GtkTreeIter iter;  GtkTreeModel *model;  gchar *stream;  if (gtk_tree_selection_get_selected(selection, &model, &iter)) {    ReadConfigFromWindow();    gtk_tree_model_get(model, &iter, 0, &stream, -1);    DisplayStreamData(stream);    g_free(stream);  }}static void delete_event (GtkWidget *widget, gpointer *data){  // stop the flow (which gets rid of the preview, before we gtk_main_quit  AVFlow->Stop();  ReadConfigFromWindow();  delete AVFlow;  //  SDL_DestroyMutex(dialog_mutex);  gtk_main_quit();}#ifndef HAVE_SRTPstatic const char *addr_button_label = "Set Address";#elsestatic const char *addr_button_label = "Set Addr/SRTP Params";#endifstatic GtkWidget *create_MainWindow (void){  GtkWidget *MainWindow;  GtkWidget *vbox1;  GtkWidget *menubar1;  GtkWidget *menuitem1;  GtkWidget *menuitem1_menu;  GtkWidget *new1;  GtkWidget *open1;  GtkWidget *save1;  GtkWidget *separatormenuitem1;  GtkWidget *quit1;  GtkWidget *menuitem2;  GtkWidget *menuitem2_menu;  GtkWidget *generate_addresses;  GtkWidget *generate_sdp;  GtkWidget *separator1;  GtkWidget *restart_recording;  GtkWidget *separator3;  GtkWidget *preferences1;  GtkWidget *menuitem4;  GtkWidget *menuitem4_menu;  GtkWidget *about1;  GtkWidget *InputFrame;  GtkWidget *hbox97;  GtkWidget *vbox41;  GtkWidget *hbox100;  GtkWidget *label189;  GtkWidget *VideoSourceLabel;  GtkWidget *hbox101;  GtkWidget *label190;  GtkWidget *AudioSourceLabel;  GtkWidget *VideoSourcePreview;  GtkWidget *hbox98;  GtkWidget *SourceOptionMenu;  GtkWidget *menu14;  GtkWidget *Change;  GtkWidget *separator2;  GtkWidget *VideoSourceMenu;  GtkWidget *image27;  GtkWidget *AudioSourceMenu;  GtkWidget *image28;#ifdef HAVE_TEXT  GtkWidget *TextSourceMenu;  GtkWidget *image29;#endif  GtkWidget *picture_settings;  GtkWidget *image32;  GtkWidget *label184;  GtkWidget *vbox40;  GtkWidget *hbox99;  GtkWidget *StreamInfoFrame;  GtkWidget *hpaned1;  GtkWidget *StreamVbox;  GtkWidget *stream_label;  GtkWidget *StreamScrolledWindow;  GtkWidget *StreamTreeView;  GtkWidget *hbuttonbox1;  GtkWidget *AddStreamButton;  GtkWidget *image1;  GtkWidget *DeleteStreamButton;  GtkWidget *image2;  GtkWidget *StreamInfoVbox;  GtkWidget *StreamVideoInfo;  GtkWidget *StreamAudioInfo;  GtkWidget *hbox34;  GtkWidget *label47;  GtkWidget *StreamFps;  GtkWidget *hbox33;  GtkWidget *label45;  GtkWidget *StreamRecording;  GtkWidget *InfoVbox;  GtkWidget *StreamFrame;  GtkWidget *StreamFrameVbox;  GtkWidget *StreamNameHbox;  GtkWidget *label3;  GtkWidget *StreamNameLabel;  GtkWidget *StreamCaptionHbox;  GtkWidget *label32;  GtkWidget *StreamCaption;  GtkWidget *StreamDescHbox;  GtkWidget *label31;  GtkWidget *StreamDescription;  GtkWidget *StreamTransmitHbox;  GtkWidget *StreamTransmit;  GtkWidget *StreamSdpFile;  GtkWidget *StreamSdpFileEntry;  GtkWidget *label30;  GtkWidget *SDPFileOpenButton;  GtkWidget *alignment22;  GtkWidget *hbox81;  GtkWidget *image22;  GtkWidget *label167;  GtkWidget *StreamRecordHbox;  GtkWidget *StreamRecord;  GtkWidget *RecordFileHbox;  GtkWidget *label4;  GtkWidget *StreamRecordFileEntry;  GtkWidget *RecordFileOpenButton;  GtkWidget *alignment23;  GtkWidget *hbox82;  GtkWidget *image23;  GtkWidget *label168;  GtkWidget *label2;  GtkWidget *VideoFrame;  GtkWidget *VideoFrameVbox;  GtkWidget *VideoFrameHbox1;  GtkWidget *VideoEnabled;  GtkWidget *hbox7;  GtkWidget *label6;  GtkWidget *VideoProfile;  GtkWidget *menu5;  GtkWidget *StreamVideoPreview;  GtkWidget *VideoTxTable;  GtkWidget *label124;  GtkWidget *VideoTxAddrLabel;  GtkWidget *VideoTxAddrButton;  GtkWidget *label5;  GtkWidget *AudioFrame;  GtkWidget *AudioFrameVbox;  GtkWidget *AudioFrameLine1;  GtkWidget *AudioEnabled;  GtkWidget *hbox15;  GtkWidget *label12;  GtkWidget *AudioProfile;  GtkWidget *menu6;  GtkWidget *AudioTxTable;  GtkWidget *label126;  GtkWidget *AudioTxAddrLabel;  GtkWidget *AudioTxAddrButton;  GtkWidget *label9;#ifdef HAVE_TEXT  GtkWidget *hbox102;  GtkWidget *label192;  GtkWidget *TextSourceLabel;  GtkWidget *StreamTextInfo;  GtkWidget *TextFrame;  GtkWidget *TextFrameVbox;  GtkWidget *TextFrameHbox1;  GtkWidget *TextEnabled;  GtkWidget *hbox17;  GtkWidget *label13;  GtkWidget *TextProfile;  GtkWidget *menu7;  GtkWidget *TextTxTable;  GtkWidget *label128;  GtkWidget *TextTxAddrLabel;  GtkWidget *TextTxAddrButton;  GtkWidget *label16;#ifdef HAVE_TEXT_ENTRY  GtkWidget *TextEntryFrame;  GtkWidget *TextEntryHbox;  GtkWidget *label51;  GtkWidget *TextEntry;  GtkWidget *TextEntrySend;  GtkWidget *label52;#endif#endif  GtkWidget *label114;  GtkWidget *StatusFrame;  GtkWidget *StatusHbox;  GtkWidget *DurationHbox;  GtkObject *Duration_adj;  GtkWidget *Duration;  GtkWidget *DurationLabel;  GtkWidget *vbox37;  GtkWidget *DurationType;  GtkWidget *DurationMenu;  GtkWidget *menuitem23;  GtkWidget *menuitem24;  GtkWidget *menuitem25;  GtkWidget *menuitem26;  GtkWidget *menuitem27;  GtkWidget *vseparator1;  GtkWidget *TimeTable;  GtkWidget *label116;  GtkWidget *label117;  GtkWidget *label118;  GtkWidget *label119;  GtkWidget *CurrentDurationLabel;  GtkWidget *CurrentTimeLabel;  GtkWidget *EndTimeLabel;  GtkWidget *StartTimeSuffix;  GtkWidget *StartTimeLabel;  GtkWidget *label183;  GtkWidget *CurrentTimeSuffix;  GtkWidget *EndTimeSuffix;  GtkWidget *vseparator2;  GtkWidget *vbox34;  GtkWidget *StartButton;  GtkWidget *label164;  GtkWidget *statusbar1;  GtkAccelGroup *accel_group;  tooltips = gtk_tooltips_new();  accel_group = gtk_accel_group_new();  MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);  vbox1 = gtk_vbox_new(FALSE, 0);  gtk_widget_show(vbox1);  gtk_container_add(GTK_CONTAINER(MainWindow), vbox1);  menubar1 = gtk_menu_bar_new();  gtk_widget_show(menubar1);  gtk_box_pack_start(GTK_BOX(vbox1), menubar1, FALSE, FALSE, 0);  menuitem1 = gtk_menu_item_new_with_mnemonic(_("_File"));  gtk_widget_show(menuitem1);  gtk_container_add(GTK_CONTAINER(menubar1), menuitem1);  menuitem1_menu = gtk_menu_new();  gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem1), menuitem1_menu);  new1 = gtk_image_menu_item_new_from_stock("gtk-new", accel_group);  gtk_widget_show(new1);  gtk_container_add(GTK_CONTAINER(menuitem1_menu), new1);  open1 = gtk_image_menu_item_new_from_stock("gtk-open", accel_group);  gtk_widget_show(open1);  gtk_container_add(GTK_CONTAINER(menuitem1_menu), open1);  save1 = gtk_image_menu_item_new_from_stock("gtk-save", accel_group);  gtk_widget_show(save1);  gtk_container_add(GTK_CONTAINER(menuitem1_menu), save1);  separatormenuitem1 = gtk_menu_item_new();  gtk_widget_show(separatormenuitem1);  gtk_container_add(GTK_CONTAINER(menuitem1_menu), separatormenuitem1);  gtk_widget_set_sensitive(separatormenuitem1, FALSE);  quit1 = gtk_image_menu_item_new_from_stock("gtk-quit", accel_group);  gtk_widget_show(quit1);  gtk_container_add(GTK_CONTAINER(menuitem1_menu), quit1);  menuitem2 = gtk_menu_item_new_with_mnemonic(_("_Edit"));  gtk_widget_show(menuitem2);  gtk_container_add(GTK_CONTAINER(menubar1), menuitem2);  menuitem2_menu = gtk_menu_new();  gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem2), menuitem2_menu);  generate_addresses = gtk_menu_item_new_with_mnemonic(_("_Generate Addresses"));  gtk_widget_show(generate_addresses);  gtk_container_add(GTK_CONTAINER(menuitem2_menu), generate_addresses);  separator1 = gtk_menu_item_new();  gtk_widget_show(separator1);  gtk_container_add(GTK_CONTAINER(menuitem2_menu), separator1);  gtk_widget_set_sensitive(separator1, FALSE);  generate_sdp = gtk_menu_item_new_with_mnemonic(_("_Generate SDP Files"));  gtk_widget_show(generate_sdp);  gtk_container_add(GTK_CONTAINER(menuitem2_menu), generate_sdp);  separator1 = gtk_menu_item_new();  gtk_widget_show(separator1);  gtk_container_add(GTK_CONTAINER(menuitem2_menu), separator1);  gtk_widget_set_sensitive(separator1, FALSE);  restart_recording = gtk_menu_item_new_with_mnemonic(_("_Restart Recording"));  gtk_widget_show(restart_recording);  gtk_container_add(GTK_CONTAINER(menuitem2_menu), restart_recording);  gtk_widget_set_sensitive(restart_recording, FALSE);  separator3 = gtk_menu_item_new();  gtk_widget_show(separator3);  gtk_container_add(GTK_CONTAINER(menuitem2_menu), separator3);  gtk_widget_set_sensitive(separator3, FALSE);  preferences1 = gtk_image_menu_item_new_from_stock("gtk-preferences", accel_group);  gtk_widget_show(preferences1);  gtk_container_add(GTK_CONTAINER(menuitem2_menu), preferences1);  menuitem4 = gtk_menu_item_new_with_mnemonic(_("_Help"));  gtk_widget_show(menuitem4);  gtk_container_add(GTK_CONTAINER(menubar1), menuitem4);  menuitem4_menu = gtk_menu_new();  gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem4), menuitem4_menu);  about1 = gtk_menu_item_new_with_mnemonic(_("_About"));  gtk_widget_show(about1);  gtk_container_add(GTK_CONTAINER(menuitem4_menu), about1);  InputFrame = gtk_frame_new(NULL);  gtk_widget_show(InputFrame);  gtk_box_pack_start(GTK_BOX(vbox1), InputFrame, TRUE, TRUE, 0);  hbox97 = gtk_hbox_new(FALSE, 0);  gtk_widget_show(hbox97);  gtk_container_add(GTK_CONTAINER(InputFrame), hbox97);  vbox41 = gtk_vbox_new(FALSE, 0);  gtk_widget_show(vbox41);  gtk_box_pack_start(GTK_BOX(hbox97), vbox41, TRUE, TRUE, 0);  hbox100 = gtk_hbox_new(FALSE, 0);  gtk_widget_show(hbox100);  gtk_box_pack_start(GTK_BOX(vbox41), hbox100, FALSE, FALSE, 0);  label189 = gtk_label_new(_("Video Source: "));  gtk_widget_show(label189);  gtk_box_pack_start(GTK_BOX(hbox100), label189, FALSE, FALSE, 5);  VideoSourceLabel = gtk_label_new("");  gtk_widget_show(VideoSourceLabel);  gtk_box_pack_start(GTK_BOX(hbox100), VideoSourceLabel, FALSE, FALSE, 4);  hbox101 = gtk_hbox_new(FALSE, 0);  gtk_widget_show(hbox101);  gtk_box_pack_start(GTK_BOX(vbox41), hbox101, FALSE, FALSE, 0);  label190 = gtk_label_new(_("Audio Source: "));  gtk_widget_show(label190);  gtk_box_pack_start(GTK_BOX(hbox101), label190, FALSE, FALSE, 5);  AudioSourceLabel = gtk_label_new("");  gtk_widget_show(AudioSourceLabel);  gtk_box_pack_start(GTK_BOX(hbox101), AudioSourceLabel, FALSE, FALSE, 4);#ifdef HAVE_TEXT  hbox102 = gtk_hbox_new(FALSE, 0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -