diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dv1394.cc | 6 | ||||
-rw-r--r-- | src/player.cc | 23 |
2 files changed, 10 insertions, 19 deletions
diff --git a/src/dv1394.cc b/src/dv1394.cc index 8d62605..339d192 100644 --- a/src/dv1394.cc +++ b/src/dv1394.cc @@ -112,12 +112,14 @@ dv1394::dv1394(Error *e, int port, int channel) // Get handle to firewire channels handle = raw1394_new_handle(); if(!handle) { + // errobj->pushError(""); fprintf( stderr, "raw1394 - failed to get handle: %s.\n", strerror( errno ) ); exit( EXIT_FAILURE ); } // how many adapters are hooked in? if((n_ports = raw1394_get_port_info(handle, pinf, 16)) < 0 ) { + // errobj->pushError(""); fprintf( stderr, "raw1394 - failed to get port info: %s.\n", strerror( errno ) ); raw1394_destroy_handle( handle ); exit( EXIT_FAILURE ); @@ -125,7 +127,7 @@ dv1394::dv1394(Error *e, int port, int channel) // Tell raw1394 which host adapter to use if(raw1394_set_port(handle, port) < 0 ) { - errobj->pushError("Error while opening codec for input stream."); + // errobj->pushError(""); fprintf( stderr, "raw1394 - failed to set port: %s.\n", strerror( errno ) ); exit( EXIT_FAILURE ); } @@ -138,6 +140,8 @@ dv1394::dv1394(Error *e, int port, int channel) dv1394::~dv1394() { + // Close firewire connection. + raw1394_destroy_handle(handle); } unsigned char *dv1394::readFrame() diff --git a/src/player.cc b/src/player.cc index 085f4df..df9668e 100644 --- a/src/player.cc +++ b/src/player.cc @@ -91,16 +91,10 @@ void Player::player() SDL_Rect rect; Frame *frame; // AVPicture pict; - unsigned char pixel_buffer[720 * 576 * 3]; + // unsigned char pixel_buffer[720 * 576 * 3]; unsigned char *pxs[3]; int pitches[3]; - pitches[0] = 720 * 2; - pxs[0] = pixel_buffer; - pxs[1] = pixel_buffer; - pxs[2] = pixel_buffer; - - int i; struct timespec ts; @@ -111,14 +105,14 @@ void Player::player() rect.y = 0; rect.w = DISPLAYWIDTH; rect.h = DISPLAYHEIGHT; - /* + //+++++Reference to the overlay pixels/pitches, only after creating a new overlay+++++ // ????????? for(i = 0; i < 3; i++) { - pict.data[i] = overlay->pixels[i]; - pict.linesize[i] = overlay->pitches[i]; + pxs[i] = overlay->pixels[i]; + pitches[i] = overlay->pitches[i]; } - */ + dv_decoder_t *decoder = NULL; decoder = dv_decoder_new(FALSE, FALSE, TRUE); decoder->quality = DV_QUALITY_BEST; @@ -147,10 +141,6 @@ void Player::player() pthread_mutex_unlock(mutex); if(!frame) break; - // img_convert(&pict, PIX_FMT_YUV420P, (AVPicture *)f->frame, - // PIX_FMT_YUV420P, DISPLAYWIDTH, DISPLAYHEIGHT); - - // libdv img decode dv_decode_full_frame(decoder, (const uint8_t*)frame->data, @@ -159,9 +149,6 @@ void Player::player() pitches); SDL_LockYUVOverlay(overlay); - overlay->pitches[0] = pitches[0]; - overlay->pitches[1] = pitches[1]; - overlay->pitches[2] = pitches[2]; overlay->pixels = pxs; SDL_UnlockYUVOverlay(overlay); SDL_DisplayYUVOverlay(overlay, &rect); |