~ubuntu-branches/ubuntu/vivid/linphone/vivid

« back to all changes in this revision

Viewing changes to mediastreamer2/src/nowebcam.c

  • Committer: Bazaar Package Importer
  • Author(s): Mark Purcell
  • Date: 2009-10-14 08:26:02 UTC
  • mfrom: (1.3.1 upstream) (6.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20091014082602-751618nxdjooja3l
Tags: 3.2.1-1
New upstream release 

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
        ret->b_wptr=ret->b_datap->db_lim;
66
66
        avpicture_fill(&dest,ret->b_rptr,PIX_FMT_YUV420P,reqsize->width,reqsize->height);
67
67
        
68
 
        sws_ctx=sws_getContext(av_context.width,av_context.height,PIX_FMT_YUV420P,
 
68
        sws_ctx=sws_getContext(av_context.width,av_context.height,av_context.pix_fmt,
69
69
                reqsize->width,reqsize->height,PIX_FMT_YUV420P,SWS_FAST_BILINEAR,
70
70
                NULL, NULL, NULL);
 
71
        if (sws_ctx==NULL) {
 
72
                ms_error("jpeg2yuv: sws_getContext() failed.");
 
73
                avcodec_close(&av_context);
 
74
                freemsg(ret);
 
75
                return NULL;
 
76
        }
71
77
        if (sws_scale(sws_ctx,orig.data,orig.linesize,0,av_context.height,dest.data,dest.linesize)<0){
72
78
                ms_error("jpeg2yuv: sws_scale() failed.");
 
79
                sws_freeContext(sws_ctx);
 
80
                avcodec_close(&av_context);
 
81
                freemsg(ret);
 
82
                return NULL;
73
83
        }
74
84
        sws_freeContext(sws_ctx);
75
85
        avcodec_close(&av_context);
1597
1607
                        m=ms_load_generate_yuv(reqsize);
1598
1608
                        return m;
1599
1609
                }
1600
 
                jpgbuf=(uint8_t*)alloca(statbuf.st_size);
 
1610
                jpgbuf=(uint8_t*)ms_malloc0(statbuf.st_size);
1601
1611
                if (jpgbuf==NULL)
1602
1612
                {
1603
1613
#if !defined(_MSC_VER)
1615
1625
                _read(fd,jpgbuf,statbuf.st_size);
1616
1626
#endif
1617
1627
                m=jpeg2yuv(jpgbuf,statbuf.st_size,reqsize);
 
1628
                ms_free(jpgbuf);
 
1629
                if (m==NULL)
 
1630
                {
 
1631
#if !defined(_MSC_VER)
 
1632
                        close(fd);
 
1633
#else
 
1634
                        _close(fd);
 
1635
#endif
 
1636
                        ms_error("Cannot load image from buffer for %s",jpgpath);
 
1637
                        m=ms_load_generate_yuv(reqsize);
 
1638
                        return m;
 
1639
                }
1618
1640
        }else{
1619
1641
                m=ms_load_generate_yuv(reqsize);
1620
1642
                ms_error("Cannot load %s",jpgpath);