Sponsored Content
Top Forums Programming Receiving JPEG packet from camera Post 302483099 by photon on Thursday 23rd of December 2010 05:12:50 PM
Old 12-23-2010
code is to long to put, but I think problem is with bitstream and way it constructs jpeg.

using fread to fwrite from on jpeg to another jpeg works, but
I am using read from serial device and using fwrite to jpeg file,
which seems to be causing the stream problem.

basics of main code to grab packets as they come in from serial:
Code:
fd = open(DEVICE, O_RDWR | O_NOCTTY |O_NDELAY);
res = read(fd,buf, BUFSIZE);
buf[res] = 0;
parse(buf,res);

parse code for each packet is basically
Code:
void parse(unsigned char *buff, size_t ss){
  // puts it into a buffer and sends each byte to fwrite
  for(i=0;i < ss ; i++){
    b = buff[i];
    // case statement here
    //when packet has data from jpeg send
    BlockW(&b); 
  }
}

Code:
void BlockW(unsigned char *b){
  FILE *fp;
  fp = fopen(filename, "ab");
  fwrite(b, sizeof(unsigned char), sizeof(unsigned char), fp);
  fclose(fp);
}

I actually found a website that has the exact same corrupted looking jpeg pictures as the ones that are created from code.

ImpulseAdventure - Fix Corrupt JPEG Photos!

Seems to be a stream issue, how would I create the fread to fwrite stream using read to fwrite, which seems to not put the stream correctly.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Convert Jpeg to useable Unix Pics

I'm running a Sunblade 1500 with 2 XVR-100 video cards. I have Xinerama runing as well. Desktop is CDE. Can someone help me in converting Jpeg pictures so that I can use them as backdrops? Is there a way to make the picture come on both monitors instead of streaching it across both? Thanks. (1 Reply)
Discussion started by: HSTheDuck
1 Replies

2. UNIX for Advanced & Expert Users

Jpeg viewer on SunOS 5.8

I was wondering what program can i use instead of mozilla to view a picture on a sun solaris system running SunOS 5.8. To view a pic i'm currently doing it this way: xterm -sb -fn screen-bold -g 60x30+0-0 -title '%s window - pls quit window upon completion ' -e mozilla file:///usr/sailing.JPG ... (4 Replies)
Discussion started by: wisher115
4 Replies

3. UNIX for Dummies Questions & Answers

how do I view a jpeg?

I use gv or ggv to view a .pdf, or .ps file. What will allow me to see a jpeg file? If it matters, I'm using xterm on a PowerBook G4. (0 Replies)
Discussion started by: dsstamps
0 Replies

4. IP Networking

Problem Receiving the first OSPF packet

I trying to send and receive OSPF packets. I am using RAW Sockets(socket(AF_INET, SOCK_RAW, IPPROTO_OSPF)) to do this. I am successfully able to send an OSPF Hello packet however I am not able to receive a OSPF packet if I have not sent an OSPF packet earlier on the RAW SOCKET. Scenario: ... (3 Replies)
Discussion started by: cosmic_egg
3 Replies

5. UNIX Desktop Questions & Answers

problem with camera ID 0c45:613b Microdia Win2 PC Camera Ubuntu

Hi to all Like in the subject, i got the problem with camera ID 0c45:613b Microdia Win2 PC Camera under Ubuntu. When i plug in camera to USB, Ubuntu put in sn9c102 module, but on this site Linux Kernel Driver Database: CONFIG_USB_GSPCA_SONIXJ: SONIX JPEG USB Camera Driver is information that... (0 Replies)
Discussion started by: m0z4rt
0 Replies

6. Programming

How to insert JPEG on each side of the cube using openGL in C

Hi, how to insert JPEG on each side of the cube using OpenGL in C language.. i have a program for cube.. guide me ,,, any answer will valuable.. (3 Replies)
Discussion started by: Ravikishore
3 Replies

7. Shell Programming and Scripting

makefile to convert .jpeg to .png thumnails

Hello! I'm desperately trying to write a makefile that converts and scales jpeg files to png files in subdirectories I want to use netpbm, so I just need the commands: anytopnm pnmscale pnmtopng For various reasons i want to use a makefile. This is the first time i use the make tool... (1 Reply)
Discussion started by: henningbaer
1 Replies

8. Programming

Receiving broadcast packets using packet socket

Hello I try to send DHCP RENEW packets to the network and receive the responses. I broadcast the packet and I can see that it's successfully sent using Wireshark. But I have difficulties receiving the responses.I use packet sockets to catch the packets. I can see that there are responses to my... (0 Replies)
Discussion started by: xyzt
0 Replies

9. Shell Programming and Scripting

renaming jpeg files

Hi guys im currently trying to write a script which includes rename files and this is the part where i fail i have a list of files eg and i want to rename them so any help really would be appreciated Cheers dunryc (7 Replies)
Discussion started by: dunryc
7 Replies

10. AIX

Packet loss coming with big packet size ping

(5 Replies)
Discussion started by: Vishal_dba
5 Replies
fwrite(3C)						   Standard C Library Functions 						fwrite(3C)

NAME
fwrite - binary output SYNOPSIS
#include <stdio.h> size_t fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream); DESCRIPTION
The fwrite() function writes, from the array pointed to by ptr, up to nitems elements whose size is specified by size, to the stream pointed to by stream. For each object, size calls are made to the fputc(3C) function, taking the values (in order) from an array of unsigned char exactly overlaying the object. The file-position indicator for the stream (if defined) is advanced by the number of bytes successfully written. If an error occurs, the resulting value of the file-position indicator for the stream is unspecified. The st_ctime and st_mtime fields of the file will be marked for update between the successful execution of fwrite() and the next successful completion of a call to fflush(3C) or fclose(3C) on the same stream or a call to exit(2) or abort(3C). RETURN VALUES
The fwrite() function returns the number of elements successfully written, which might be less than nitems if a write error is encountered. If size or nitems is 0, fwrite() returns 0 and the state of the stream remains unchanged. Otherwise, if a write error occurs, the error indicator for the stream is set and errno is set to indicate the error. ERRORS
Refer to fputc(3C). USAGE
Because of possible differences in element length and byte ordering, files written using fwrite() are application-dependent, and possibly cannot be read using fread(3C) by a different application or by the same application on a different processor. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
write(2), fclose(3C), ferror(3C), fopen(3C), fread(3C), getc(3C), gets(3C), printf(3C), putc(3C), puts(3C), attributes(5), standards(5) SunOS 5.10 24 Jul 2002 fwrite(3C)
All times are GMT -4. The time now is 12:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy