diff -dNpru old/lib/libdvben50221/en50221_stdcam_llci.c dvb-apps-1f5f5a363bc0/lib/libdvben50221/en50221_stdcam_llci.c --- old/lib/libdvben50221/en50221_stdcam_llci.c 2006-07-15 21:21:07.000000000 +0200 +++ dvb-apps-1f5f5a363bc0/lib/libdvben50221/en50221_stdcam_llci.c 2006-07-15 21:22:10.000000000 +0200 @@ -222,7 +222,7 @@ static enum en50221_stdcam_status en5022 switch(dvbca_get_cam_state(llci->cafd, llci->slotnum)) { case DVBCA_CAMSTATE_MISSING: if (llci->state != EN50221_STDCAM_CAM_NONE) - llci_cam_removed(llci); +/* llci_cam_removed(llci); */ break; case DVBCA_CAMSTATE_READY: @@ -285,6 +285,8 @@ static void llci_cam_in_reset(struct en5 en50221_tl_destroy_slot(llci->tl, llci->tl_slot_id); return; } + + llci->state = EN50221_STDCAM_CAM_OK; } static void llci_cam_removed(struct en50221_stdcam_llci *llci) diff -dNpru old/util/gnutv/gnutv_ca.c dvb-apps-1f5f5a363bc0/util/gnutv/gnutv_ca.c --- old/util/gnutv/gnutv_ca.c 2006-07-15 21:21:07.000000000 +0200 +++ dvb-apps-1f5f5a363bc0/util/gnutv/gnutv_ca.c 2006-07-16 10:00:40.000000000 +0200 @@ -142,15 +142,15 @@ void gnutv_ca_stop(void) camthread_shutdown = 1; pthread_join(camthread, NULL); + // destroy the stdcam + if (stdcam->destroy) + stdcam->destroy(stdcam, 1); + // destroy session layer en50221_sl_destroy(sl); // destroy transport layer en50221_tl_destroy(tl); - - // destroy the stdcam - if (stdcam->destroy) - stdcam->destroy(stdcam, 1); } void gnutv_ca_ui(void) @@ -219,7 +219,7 @@ int gnutv_ca_new_pmt(struct mpeg_pmt_sec return -1; if (ca_resource_connected) { - fprintf(stderr, "Recieved new PMT - sending to CAM...\n"); + fprintf(stderr, "Received new PMT - sending to CAM...\n"); // translate it into a CA PMT int listmgmt = CA_LIST_MANAGEMENT_ONLY; diff -dNpru old/util/gnutv/gnutv_data.c dvb-apps-1f5f5a363bc0/util/gnutv/gnutv_data.c --- old/util/gnutv/gnutv_data.c 2006-07-15 21:21:07.000000000 +0200 +++ dvb-apps-1f5f5a363bc0/util/gnutv/gnutv_data.c 2006-07-16 09:49:03.000000000 +0200 @@ -393,11 +393,11 @@ static void gnutv_data_decoder_pmt(struc } } if (video_pid != -1) { - int fd = gnutv_data_create_decoder_filter(adapter_id, demux_id, audio_pid, DVBDEMUX_PESTYPE_VIDEO); + int fd = gnutv_data_create_decoder_filter(adapter_id, demux_id, video_pid, DVBDEMUX_PESTYPE_VIDEO); if (fd < 0) { - fprintf(stderr, "Unable to create dvr filter for PID %i\n", audio_pid); + fprintf(stderr, "Unable to create dvr filter for PID %i\n", video_pid); } else { - gnutv_data_append_pid_fd(audio_pid, fd); + gnutv_data_append_pid_fd(video_pid, fd); } } int fd = gnutv_data_create_decoder_filter(adapter_id, demux_id, pmt->pcr_pid, DVBDEMUX_PESTYPE_PCR); diff -dNpru old/util/zap/zap_ca.c dvb-apps-1f5f5a363bc0/util/zap/zap_ca.c --- old/util/zap/zap_ca.c 2006-07-15 21:21:07.000000000 +0200 +++ dvb-apps-1f5f5a363bc0/util/zap/zap_ca.c 2006-07-16 09:50:35.000000000 +0200 @@ -117,7 +117,7 @@ int zap_ca_new_pmt(struct mpeg_pmt_secti return -1; if (ca_resource_connected) { - fprintf(stderr, "Recieved new PMT - sending to CAM...\n"); + fprintf(stderr, "Received new PMT - sending to CAM...\n"); // translate it into a CA PMT int listmgmt = CA_LIST_MANAGEMENT_ONLY;