Android video to increase the time record (source changes)

Source: Internet
Author: User

Need to do a function, video and playback are displayed when the recording time, reference article links can not find, sorry, here to record, to prevent the next time you cannot find. Another article about the source code recording process, please refer to http://www.verydemo.com/demo_c131_i79000.html

Add the following code to the Datacallbacktimestamp function in source CameraSource.cpp

#ifdef have_aee_featureif(data = NULL | | data->size () <= 0) aee_system_exception ("Camerasource", Null,db_opt_default, "Camera issue:datacallbacktimestamp data Error 0x%x", Data.get ()); #endif CHECK (Data! = NULL && data->size () > 0); //Add code Start    {         //Picture Data#include "Digital_data.h"intwidth =Mvideosize.width; intHeight =Mvideosize.height; uint8_t*_ptr = (uint8_t *) data->pointer (); //int offset = 240;         intoffset = height-100; intMargin_left = width-18*digital_width-100; //Aloge ("!!!  Draw line, PTR:%p, offset:%d, stride:%d, Height:%d ", _ptr, offset, width,height);                                                                     if(NULL! =_ptr)                                                                                                                                                         { //Display the purple bar, this buffer format is YUV420 planer format, that is, first put y, then put u, finally put V //int bar_width = 80; //memset (_ptr + offset*width, 0x80, Width * bar_width);//Clear Y//memset (_ptr + (height*width) + OFFSET*WIDTH/4, 0x40, WIDTH*BAR_WIDTH/4);//Clear U//memset (_ptr + (height*width + HEIGHT*WIDTH/4) + OFFSET*WIDTH/4, 0x40, WIDTH*BAR_WIDTH/4);//Clear V//Get Time            CharDatetime[] = "2014-05-29 03:16:78";//default time, test picture datatime_t timer; struct TM*T_tm; Time (&timer); T_tm= LocalTime (&timer); memset (DateTime,0, sizeof (dateTime)); sprintf (DateTime,"%4d-%02d-%02d%02d:%02d:%02d", t_tm->tm_year+1900, T_tm->tm_mon+1, T_tm->tm_mday, T_tm->tm_hour, t_tm- >tm_min, t_tm->tm_sec); //aloge ("========== timestampus:%d, SystemTime ():%d, datetime:%s", Timestampus, SystemTime ()/1000, dateTime);            intdigitalnums[10+8+1+ 1] = {-1};//10:-:: 12:blankmemset (Digitalnums, 1, sizeof (digitalnums));  for(inti = 0; I<strlen (DateTime); i++){                Charnum =Datetime[i]; if((' 0 ' <= num) && (num <= ' 9 ') ) {Digitalnums[i]= num-' 0 '; }Else if(num = = '-')) {Digitalnums[i]= 10; }Else if(num = = ': ')) {Digitalnums[i]= 11; }Else if(num = = ") {Digitalnums[i]= 12;                                                                                                                                                                   }                                                                                                                                                                       } //Draw a timestamp picture//int pos_offset = offset*width + margin_left;//Start Position             for(intj = 0; j<digital_height; J + +){                 //Pos_offset = offset*width + Margin_left + j*width; //next row of data                  for(intk=0; k<10+1+8; k++){                     //change the horizontal position//Pos_offset + = gap_width+digital_width;                     ConstUnsignedChar* str = (Digitalnums[k] < && digitalnums[k]! =-1)?Digitalarray[digitalnums[k]]: NULL; if(str! =NULL)                                                                                                                             { //draw only white, ignoring black (PNG-like transparency)                          for(inth=0; h<digital_width; h++){                            if(* (Str+ (Digital_height-1-J) *digital_width + h)! = 0x00) {                                * (_ptr+offset*width + margin_left + j*width + k* (gap_width+digital_width) +h)= * (str+ (DIGITAL_HEIGHT-1-J) *digital_width+h);//image storage data is stored backwards                            }                                                                                                                                                                   }                                                                                                                                   }                                                                                                                                                                   }                                                                                                                                                                         }                }     }//add end of codemframesreceived.push_back (data); int64_t Timeus= Mstarttimeus + (Timestampus-Mfirstframetimeus); Mframetimes.push_back (Timeus); #ifndef Android_default_codeif(mnumframesreceived% Log_interval = = 1) Alogi ("Initial delay:%LLD, Current time stamp:%lld,mframesreceived.size () =%d,mnumframesreceived=%d", Mstarttimeus, Timeus,mframesreceived.size (), mnumframesreceived);ElseALOGV ("Initial delay:%LLD, Current time stamp:%lld", Mstarttimeus, Timeus); #endif mframeavailablecondition.signal ();


In the above code # # # # # is the number of monochrome bitmap files generated by an array, the number 0 in the following file in black-and-white bitmap picture (pixels: 24x38)

const int digital_width =24;const int digital_height =38;const int gap_width = 0;//number 0
Const unsigned char digital_0[912] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0 0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x XX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0 X00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0 0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x XX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0 X00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x FF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0 XFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0 X00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 , 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 , 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0 0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0 0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x XX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF , 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0 0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x XX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0 X00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x0 0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x FF, 0x00, 0x00, 0x00, 0xXX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0 XFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x XX, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0 X00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0 XFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0 X00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; Black white bitmap, data either 0x00, or 0xFF
Number 1
Const unsigned char digital_1[912] ={...};
The following ellipsis ...
Const unsigned char* digitalarray[] = {&digital_0[0],&digital_1[0],&digital_2[0],&digital_3[0], &digital_4[0],&digital_5[0],&digital_6[0],&digital_7[0],&digital_8[0],&digital_9[0], &dash[0],&colon[0],};

Android video to increase the time record (source changes)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.