예제 #1
0
void CMpeg3VideoByteStream::play (uint64_t start)
{
  player_debug_message("mpeg3 play "U64, start);
  m_play_start_time = start;

  set_timebase(start);
}
예제 #2
0
void CMp4ByteStream::play (uint64_t start)
{
  m_play_start_time = start;

  MP4Timestamp mp4_ts;
  MP4SampleId mp4_sampleId;

  m_parent->lock_file_mutex();
  mp4_ts = MP4ConvertToTrackTimestamp(m_parent->get_file(),
				      m_track,
				      start,
				      MP4_MSECS_TIME_SCALE);
  mp4_sampleId = MP4GetSampleIdFromTime(m_parent->get_file(),
					m_track,
					mp4_ts, 
					TRUE);
  uint64_t ts;
  MP4Timestamp sampleTime;

  sampleTime = MP4GetSampleTime(m_parent->get_file(),
				m_track,
				mp4_sampleId);
  ts = MP4ConvertFromTrackTimestamp(m_parent->get_file(),
				    m_track,
				    sampleTime,
				    MP4_MSECS_TIME_SCALE);
  m_parent->unlock_file_mutex();
#ifdef DEBUG_MP4_FRAME
  mp4f_message(LOG_DEBUG, "%s searching timestamp "U64" gives "U64,
	       m_name, start, mp4_ts);
  mp4f_message(LOG_DEBUG, "%s values are sample time "U64" ts "U64,
	       m_name, sampleTime, ts);
#endif
  set_timebase(mp4_sampleId);
}
예제 #3
0
void CMp4ByteStream::reset (void) 
{
  set_timebase(1);
}
예제 #4
0
void CMpeg3VideoByteStream::reset (void) 
{
  set_timebase(0);
}
예제 #5
0
void CMpeg3AudioByteStream::play (uint64_t start)
{
  m_play_start_time = start;

  set_timebase(start);
}
예제 #6
0
void CMpeg3AudioByteStream::reset (void) 
{
  set_timebase(0);
}
예제 #7
0
int main (void)
{
  char	ch;

  printf ( "PS2000 driver example program\n" );
  printf ( "Version 1.0\n\n" );

  printf ( "\n\nOpening the device...\n");

  //open unit and show splash screen
  unitOpened.handle = ps2000_open_unit ();
  printf ( "Handle: %d\n", unitOpened.handle );
  if ( unitOpened.handle < 1 )
    {
    printf ( "Unable to open device\n" );
    get_info ();
    while( !kbhit() );
	exit ( 99 );
    }
  else
    {
    printf ( "Device opened successfully\n\n" );
    get_info ();

		timebase = 0;

    ch = ' ';
    while ( ch != 'X' )
      {
      printf ( "\n" );
      printf ( "B - immediate block		          V - Set voltages\n" );
      printf ( "T - triggered block		          I - Set timebase\n" );
			printf ( "Y - advanced triggered block    A - ADC counts/mV\n" );
      printf ( "E - ETS block\n" );
      printf ( "S - Streaming\n");
      printf ( "F - Fast streaming\n");
			printf ( "D - Fast streaming triggered\n");
			printf ( "G - Signal generator\n");
			printf ( "H - Arbitrary signal generator\n");
      printf ( "X - exit\n" );
      printf ( "Operation:" );

      ch = toupper ( getch () );

      printf ( "\n\n" );
      switch ( ch )
        {
        case 'B':
        collect_block_immediate ();
        break;

        case 'T':
        collect_block_triggered ();
        break;

				case 'Y':
				if (unitOpened.hasAdvancedTriggering)
				{
					collect_block_advanced_triggered ();
				}
				else
				{
					printf ("Not supported by this model\n\n");
				}
				break;

        case 'S':
        collect_streaming ();
        break;

				case 'F':
				if (unitOpened.hasFastStreaming)
				{
					collect_fast_streaming ();
				}
				else
				{
					printf ("Not supported by this model\n\n");
				}
				break;

				case 'D':
				if (unitOpened.hasFastStreaming && unitOpened.hasAdvancedTriggering)
				{
					collect_fast_streaming_triggered ();
				}
				else
				{
					printf ("Not supported by this model\n\n");
				}
				break;

        case 'E':
				if (unitOpened.hasEts)
				{
	        collect_block_ets ();
				}
				else
				{
					printf ("Not supported by this model\n\n");
				}
        break;

				case 'G':
				if (unitOpened.hasSignalGenerator)
				{
					set_sig_gen ();
				}
				break;

				case 'H':
				if (unitOpened.hasSignalGenerator)
				{
					set_sig_gen_arb ();
				}
				break;

        case 'V':
        set_voltages ();
        break;

        case 'I':
        set_timebase ();
        break;

        case 'A':
        scale_to_mv = !scale_to_mv;
        if ( scale_to_mv )
          {
          printf ( "Readings will be scaled in mV\n" );
          }
        else
          {
          printf ( "Readings will be scaled in ADC counts\n" );
          }
        break;

        case 'X':
        /* Handled by outer loop */
        break;

        default:
        printf ( "Invalid operation\n" );
        break;
        }
      }

    ps2000_close_unit ( unitOpened.handle );
    }

	return 1;
  }