Hi,

Yes I looked at your code and 100, 100 is an odd size. Query camera
parameters to find supported sizes.

http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPictureSizes()

Regards

On Jul 20, 8:31 pm, Ankit Kasliwal <[email protected]>
wrote:
> Hi
>
> i got two error
>
> Error :-  *native_jpeg_encode: jpeg_encoder_encode failed.*
> 2. *jpeg encoding failed
>
> though i face this error because i m not give proper picture size if you
> look my code i set **picture  **size (100,100)
>
> *
>
>
>
>
>
>
>
> On Wed, Jul 20, 2011 at 3:56 PM, gjs <[email protected]> wrote:
> > Hi,
>
> > Provide console log of errors.
>
> > Regards
>
> > On Jul 20, 3:32 pm, Ankit Kasliwal <[email protected]>
> > wrote:
> > > No Solution?????
>
> > > On Wed, Jul 20, 2011 at 10:15 AM, Ankit Kasliwal <
>
> > > [email protected]> wrote:
> > > > Hello Everyone,
> > > >                        I have two problem in my camera Application
> > please
> > > > anyone help me to solve this issue.
>
> > > >  Error :-  *native_jpeg_encode: jpeg_encoder_encode failed.*
> > > > 2. *jpeg encoding failed*
> > > > Please any one help me
> > > > Thanks !!!
>
> > > > *My Code is here:- *
>
> > > > package com.info.police;
>
> > > > import java.text.SimpleDateFormat;
> > > > import java.util.Calendar;
>
> > > > import android.app.Activity;
> > > > import android.content.Context;
> > > > import android.content.Intent;
> > > > import android.graphics.ColorMatrix;
> > > > import android.graphics.
> > > > ColorMatrixColorFilter;
> > > > import android.graphics.Paint;
> > > > import android.graphics.PixelFormat;
> > > > import android.hardware.Camera;
> > > > import android.location.Location;
> > > > import android.location.LocationListener;
> > > > import android.location.LocationManager;
> > > > import android.os.Bundle;
> > > > import android.util.Log;
> > > > import android.view.MotionEvent;
> > > > import android.view.SurfaceHolder;
> > > > import android.view.SurfaceView;
> > > > import android.view.View;
> > > > import android.view.Window;
> > > > import android.view.WindowManager;
> > > > import android.widget.Button;
>
> > > > public class TakePic extends Activity implements LocationListener {
>
> > > >     private static final String TAG = "Camera";
> > > >     Camera camera;
> > > >     private SurfaceHolder previewHolder=null;
> > > >     private Camera mCamera=null;
> > > >     private SurfaceView preview=null;
> > > >     Button buttonClick , btnNew;
> > > >     LocationManager locationManager;
> > > >     double lat , lag;
> > > >     String dateNow,extStorageDirectory,ImgName,Path;
> > > >     public static final int LARGEST_WIDTH = 200;
> > > >     public static final int LARGEST_HEIGHT= 200;
> > > >     String PImgString ;
>
> > > >     @Override
> > > >     protected void onCreate(Bundle savedInstanceState) {
>
> > > >         super.onCreate(savedInstanceState);
> > > >         // Hide the window title.
> > > >         requestWindowFeature(Window.FEATURE_NO_TITLE);
>
> > getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
> > > >         setContentView(R.layout.cameralayout);
> > > >         preview=(SurfaceView)findViewById(R.id.preview);
> > > >         previewHolder=preview.getHolder();
> > > >         previewHolder.addCallback(surfaceCallback);
> > > >         previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
> > > >         Initialise();
> > > >         btnNew.setEnabled(false);
> > > >         buttonClick.setOnClickListener(new BtnClickListener());
> > > >         btnNew.setOnClickListener(new BtnNewClick());
> > > >         Log.d(TAG, "onCreate'd");
> > > >         setTitle("Tack Image");
> > > >     }
>
> > > >     @Override
> > > >     public boolean dispatchTouchEvent(MotionEvent ev) {
> > > >         //-- When we touch the screen, it will auto-focus again
> > > >         if(mCamera != null)
> > > >         {
> > > >             mCamera.autoFocus(new Camera.AutoFocusCallback(){
> > > >             public void onAutoFocus(boolean success, Camera    camera)
> > > >                 {
>
> > > >                 }
> > > >             } );
> > > >         }
> > > >         return super.dispatchTouchEvent(ev);
> > > >     }
>
> > > >     private void Initialise()
> > > >     {
> > > >         buttonClick = (Button) findViewById(R.id.buttonClick);
> > > >         btnNew  = (Button) findViewById(R.id.btnNew);
> > > >         locationManager = (LocationManager)
> > > > getSystemService(Context.LOCATION_SERVICE);
> > > >     }
>
> > > >     class BtnClickListener implements View.OnClickListener{
>
> > > >         public void onClick(View v) {
> > > >             try {
> > > >                 takePicture();
> > > >             } catch (InterruptedException e) {
> > > >                 // TODO Auto-generated catch block
> > > >                 e.printStackTrace();
> > > >             }
> > > >             buttonClick.setEnabled(false);
> > > >             btnNew.setEnabled(true);
> > > >         }
> > > >     }
>
> > > >     private void takePicture() throws InterruptedException {
> > > >         mCamera.takePicture(null, null, photoCallback);
> > > >         Thread.sleep(3000);
>
> > > >     }
>
> > > > SurfaceHolder.Callback surfaceCallback=new SurfaceHolder.Callback() {
>
> > > >         public void surfaceCreated(SurfaceHolder holder)
> > > >         {
> > > >             mCamera=Camera.open();
> > > >             try
> > > >             {
> > > >                 mCamera.setPreviewDisplay(previewHolder);
> > > >                 mCamera.setOneShotPreviewCallback(null);
> > > >                 ColorMatrix cm = new ColorMatrix();
> > > >                 cm.setSaturation(.5f);
> > > >                 //paint.setColorFilter(new ColorMatrixColorFilter(cm));
>
> > > >             }
> > > >             catch (Throwable t)
> > > >             {
> > > >                 //Log.e("PictureDemo-surfaceCallback","Exception
> > > > insetPreviewDisplay()", t);
> > > >                 //Toast.makeText(TakePic.this,t.getMessage(),
> > > > Toast.LENGTH_LONG).show();
> > > >             }
> > > >         }
>
> > > >         public void surfaceChanged(SurfaceHolder holder,int format, int
> > > > width, int height) {
> > > >             Camera.Parameters parameters=mCamera.getParameters();
>
> > > >             //parameters.setPreviewSize(100, 100);
> > > >             parameters.setPictureSize(100,
> > 100);//parameters.setZoom(1);
> > > > /*Not in 1.6*/
> > > >             //parameters.setZoom(0); /*Not in 1.6*/
> > > >             parameters.setPictureFormat(PixelFormat.JPEG);
>
> > //parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
> > > > /*Not in 1.6*/
> > > >             //parameters.setJpegQuality(100); /*Not in 1.6*/
> > > >             mCamera.setParameters(parameters);
> > > >             mCamera.startPreview();
>
> > > >         //-- Must add the following callback to allow the camera
> > > > toautofocus.
> > > >             mCamera.autoFocus(new Camera.AutoFocusCallback(){
> > > >                 public void onAutoFocus(boolean success, Camera camera)
> > > >                 {
> > > >                 }
>
> > > >             } );
> > > >         }
>
> > > >         public void surfaceDestroyed(SurfaceHolder holder) {
> > > >             if(mCamera != null){
> > > >                 mCamera.stopPreview();
> > > >                 mCamera.release();
> > > >                 mCamera=null;
> > > >             }
> > > >         }
> > > >     };
>
> > > >     Camera.PictureCallback photoCallback=new Camera.PictureCallback() {
> > > >         public void onPictureTaken(byte[] data, Camera camera) {
>
> > > >             ImgName = String.format("%d.jpg",
> > System.currentTimeMillis());
> > > >             //FileOutputStream outStream = null;
> > > >             try {
> > > >                 byte[] imgBtye = data;
> > > >                 ColorMatrix cm = new ColorMatrix();
> > > >                 float contrast = 2;
> > > >                 float brightness = 0;
> > > >                 cm.set(new float[] { contrast, 0, 0, 0, brightness,0,
> > > > contrast, 0, 0, brightness,0, 0, contrast, 0, brightness,    0, 0, 0,
> > > > contrast, 0 });
> > > >                 Paint paint = new Paint();
> > > >                 cm.setSaturation(2f);
> > > >                 paint.setColorFilter(new ColorMatrixColorFilter(cm));
>
> > > >                 //Log.d(TAG, "onPictureTaken - wrote bytes: " +
> > > > imgBtye.toString());
>
> > > >                 GetLocationService();
>
> > > >                 Intent i = new Intent(TakePic.this, AddDetail.class);
> > > >                 PImgString = new String(imgBtye);
> > > >                 i.putExtra("ImgString", PImgString);
> > > >                    i.putExtra("Pimg", imgBtye);
> > > >                    i.putExtra("lat", lat);
> > > >                    i.putExtra("lag", lag);
> > > >                    i.putExtra("IName", ImgName);
> > > >                    startActivity(i);
> > > >             }
> > > >             finally
> > > >             {
>
> > > >             }
> > > >         }
> > > >     };
>
> > > >     class BtnNewClick implements View.OnClickListener
> > > >     {
>
> > > >         public void onClick(View v) {
>
> > > >             mCamera.startPreview();
> > > >             buttonClick.setEnabled(true);
> > > >             btnNew.setEnabled(false);
> > > >         }
>
> > > >     }
>
> > > >         public void convertDateToString()
> > > >         {
> > > >             Calendar currentDate = Calendar.getInstance();
> > > >             SimpleDateFormat formatter= new
> > SimpleDateFormat("yyyy/MM/dd");
> > > >             dateNow = formatter.format(currentDate.getTime());
> > > >             Log.d("Cueernt Date", "Current System Date" + dateNow);
> > > >         }
>
> > > >     private void GetLocationService()
> > > >     {
> > > >         locationManager = (LocationManager)
> > > > getSystemService(Context.LOCATION_SERVICE);
> > > >         Location location =
> > > > locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
> > > >         if( location != null ) {
>
> > > >              lat = location.getLatitude();
> > > >              lag = location.getLongitude();
> > > >              Log.d("Current Location", "Current System Location" + lat
> > + "
> > > > : Lag " + lag);
> > > >         }
> > > >         else
> > > >         {
> > > >             Log.d("Current Location", "No Location Found");
> > > >         }
> > > >     }
>
> > > >     public void onLocationChanged(Location arg0) {
>
> > > >     }
>
> > > >     public void
>
> ...
>
> read more »

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to