summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server')
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.cpp158
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h84
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.cpp258
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.h80
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.cpp300
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.h121
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.cpp2934
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h399
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Makefile3119
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.cpp483
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h189
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.cpp272
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h97
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.cpp254
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h152
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/as.cpp708
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/las.cpp254
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/lvs.cpp413
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h63
-rw-r--r--TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/vs.cpp2207
20 files changed, 0 insertions, 12545 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.cpp
deleted file mode 100644
index 84b8887e0d5..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// $Id$
-
-#include "Audio_Control_State.h"
-#include "Audio_Control_i.h"
-
-ACE_RCSID(mpeg_server, Audio_Control_State, "$Id$")
-
-Audio_Control_State::Audio_Control_State (void)
- :audio_global_ (AUDIO_GLOBAL::instance ()),
- audio_control_i_ (AUDIO_CONTROL_I::instance ())
-{
-}
-
-Audio_Control_State::Audio_States
-Audio_Control_State::get_state (void)
-{
- return this->state_;
-}
-
-void
-Audio_Control_State::set_state (Audio_States state)
-{
- this->state_ = state;
-}
-
-CORBA::Boolean
-Audio_Control_State::play (const Audio_Control::PLAYPara & para,
- CORBA::Long_out ats)
-{
- return 0;
-}
-
-CORBA::Boolean
-Audio_Control_State::speed (const Audio_Control::SPEEDPara & para)
-{
- return 0;
-}
-
-CORBA::Boolean
-Audio_Control_State::stop (CORBA::Long cmdsn)
-{
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Control_State::stop ()\n"));
- return 1;
-}
-
-void
-Audio_Control_State::close (void)
-{
- return;
-}
-
-Audio_Control_Waiting_State::Audio_Control_Waiting_State (void)
-{
- this->state_ = AUDIO_WAITING;
- this->audio_global_->state = Audio_Global::AUDIO_WAITING;
-}
-
-CORBA::Boolean
-Audio_Control_Waiting_State::play (const Audio_Control::PLAYPara & para,
- CORBA::Long_out ats)
-{
- int result;
-
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Control_Waiting_State::play ()\n"));
- this->audio_global_->cmd = CmdPLAY;
-
- // ACE_DEBUG ((LM_DEBUG,"(%P|%t) play_audio () called \n"));
-
- this->audio_global_->nextsample = para.nextSample;
- this->audio_global_->cmdsn = para.sn;
- this->audio_global_->sps = para.samplesPerSecond;
- this->audio_global_->spslimit = para.spslimit;
- this->audio_global_->spp = para.samplesPerPacket;
- this->audio_global_->addSamples = para.ABsamples / 2;
- if (this->audio_global_->spp * this->audio_global_->audioPara.bytesPerSample > this->audio_global_->databuf_size) {
- this->audio_global_->spp = this->audio_global_->databuf_size / this->audio_global_->audioPara.bytesPerSample;
- }
- /*
- SFprintf(stderr, "AS got CmdPLAY: sps %d\n", sps);
- */
-
- fprintf(stderr, "AS: nextSample = %d for PLAY.\n", para.nextSample);
-
-
- this->audio_global_->upp = (int)(1000000.0 / ((double)(this->audio_global_->sps) / (double)(this->audio_global_->spp)));
- this->audio_global_->nextTime = get_usec();
-
- ats = this->audio_global_->nextTime; // out parameter.
- if (this->audio_global_->live_source) {
- StartPlayLiveAudio();
- }
-
- this->audio_global_->hasdata = 1;
- this->audio_global_->packets = 0;
-
- this->audio_global_->send_audio ();
-
- this->audio_global_->state = Audio_Global::AUDIO_PLAY;
- this->audio_control_i_->change_state (AUDIO_CONTROL_PLAY_STATE::instance ());
- return 1;
-}
-
-void
-Audio_Control_Waiting_State::close (void)
-{
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Control_Waiting_State::close ()\n"));
- this->audio_global_->cmd = CmdCLOSE;
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) A session closed\n"));
- TAO_ORB_Core_instance ()->orb ()->shutdown ();
- return ;
-}
-
-Audio_Control_Play_State::Audio_Control_Play_State (void)
-{
- this->state_ = AUDIO_PLAY;
-}
-
-CORBA::Boolean
-Audio_Control_Play_State::speed (const Audio_Control::SPEEDPara & para)
-{
- this->audio_global_->sps = para.samplesPerSecond;
- this->audio_global_->spslimit = para.spslimit;
- this->audio_global_->spp = para.samplesPerPacket;
- if (this->audio_global_->spp * this->audio_global_->audioPara.bytesPerSample > this->audio_global_->databuf_size) {
- this->audio_global_->spp = this->audio_global_->databuf_size / this->audio_global_->audioPara.bytesPerSample;
- }
- this->audio_global_->delta_sps = 0; /* reset compensation value */
- this->audio_global_->upp = (int)(1000000.0 / ((double)(this->audio_global_->sps) / (double)(this->audio_global_->spp)));
- /*
- SFprintf(stderr, "AS got CmdSPEED: sps %d\n", sps);
- */
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Control_Play_State::speed ()\n"));
- return 1;
-}
-
-CORBA::Boolean
-Audio_Control_Play_State::stop (CORBA::Long cmdsn)
-{
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Control_Play_State::stop ()\n"));
- if (this->audio_global_->live_source) {
- StopPlayLiveAudio();
- }
- this->audio_global_->state = Audio_Global::AUDIO_WAITING;
- this->audio_control_i_->change_state (AUDIO_CONTROL_WAITING_STATE::instance ());
- return 1;
-}
-
-void
-Audio_Control_Play_State::close (void)
-{
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Control_Play_State::close ()\n"));
- if (this->audio_global_->live_source) {
- StopPlayLiveAudio();
- }
- // shutdown the ORB
- TAO_ORB_Core_instance ()->orb ()->shutdown ();
- return;
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h
deleted file mode 100644
index e585f00f01b..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* _*_ C++ _*_ */
-// $Id$
-
-#ifndef _MPEG_AUDIO_CONTROL_STATE_H
-#define _MPEG_AUDIO_CONTROL_STATE_H
-
-#include "ace/Singleton.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "mpeg_shared/Audio_ControlS.h"
-#include "Globals.h"
-
-class Audio_Control_i;
-
-class Audio_Control_State
-{
-public:
- Audio_Control_State (void);
- // constructor
-
- enum Audio_States
- {
- AUDIO_WAITING =0,
- AUDIO_PLAY =1
- };
-
- Audio_States get_state (void);
- // returns the current state.
-
- void set_state (Audio_States state);
- // sets the state.
-
- virtual CORBA::Boolean play (const Audio_Control::PLAYPara & para,
- CORBA::Long_out ats) ;
-
- virtual CORBA::Boolean speed (const Audio_Control::SPEEDPara & para) ;
-
- virtual CORBA::Boolean stop (CORBA::Long cmdsn) ;
-
- virtual void close (void) ;
-protected:
- Audio_States state_;
- // The state
-
- Audio_Global *audio_global_;
- // Pointer to the global.
- Audio_Control_i *audio_control_i_;
-};
-
-
-class Audio_Control_Waiting_State : public virtual Audio_Control_State
-{
-public:
- Audio_Control_Waiting_State (void);
- // Default constructor.
-
- virtual CORBA::Boolean play (const Audio_Control::PLAYPara &para,
- CORBA::Long_out ats);
-
- virtual void close (void);
-};
-
-class Audio_Control_Play_State: public virtual Audio_Control_State
-{
-public:
- Audio_Control_Play_State (void);
- // Default constructor
-
- virtual CORBA::Boolean speed (const Audio_Control::SPEEDPara & para);
-
- virtual CORBA::Boolean stop (CORBA::Long cmdsn);
-
- virtual void close (void);
-};
-
-typedef ACE_Singleton <Audio_Control_Waiting_State, ACE_SYNCH_MUTEX>
- AUDIO_CONTROL_WAITING_STATE;
-typedef ACE_Singleton <Audio_Control_Play_State, ACE_SYNCH_MUTEX>
- AUDIO_CONTROL_PLAY_STATE;
-
-#endif /*_MPEG_AUDIO_CONTROL_STATE_H */
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.cpp
deleted file mode 100644
index 04583da7909..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-// $Id$
-
-#include "Audio_Control_State.h"
-#include "Audio_Control_i.h"
-
-ACE_RCSID(mpeg_server, Audio_Control_i, "$Id$")
-
-Audio_Control_i::Audio_Control_i (void)
- :audio_global_ (AUDIO_GLOBAL::instance ()),
- reactor_ (TAO_ORB_Core_instance ()->reactor ())
-{
-}
-
-int
-Audio_Control_i::create_handlers (void)
-{
- ACE_NEW_RETURN (this->data_handler_,
- Audio_Data_Handler (this->audio_global_->audioSocket,
- this->audio_global_),
- -1);
-
- ACE_NEW_RETURN (this->sig_handler_,
- Audio_Sig_Handler (this->audio_global_),
- -1);
- return 0;
-}
-
-CORBA::Boolean
-Audio_Control_i::init_audio (const Audio_Control::INITaudioPara & para,
- Audio_Control::INITaudioReply_out reply,
- CORBA::Environment &env)
-{
- int result;
- int failureType; /* 0 - can't open file, 1 - can't open live source */
-
- for (int i=0 ; i< para.audiofile.length (); i++)
- this->audio_global_->audioFile[i] = para.audiofile [i];
- this->audio_global_->audioFile [i] = 0;
-
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit || para.version != VERSION)
- return 0; // failure
-
- memcpy(&(this->audio_global_->audioPara), &para.para, sizeof(this->audio_global_->audioPara));
- /*
- fprintf(stderr, "Client Audio para: encode %d, ch %d, sps %d, bps %d.\n",
- para.para.encodeType, para.para.channels,
- para.para.samplesPerSecond, para.para.bytesPerSample);
- */
- {
- int len = strlen(this->audio_global_->audioFile);
- if (strncasecmp("LiveAudio", this->audio_global_->audioFile, 9) &&
- strcasecmp(".au", this->audio_global_->audioFile+len-3))
- {
-// ACE_ERROR_RETURN ((LM_ERROR,
-// "(%p|%t) Audio_Control_i::init_audio () failed\n"),
-// 0);
- cerr << "init_audio failed in line " << __LINE__ << endl;
- return 0;
-
- }
- }
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t)Audio file %s got.\n", this->audio_global_->audioFile));
-
-
- if (!strncasecmp("LiveAudio", this->audio_global_->audioFile, 9))
- {
- // May need to be uncommented for live audio.
- // this->audio_global_->fd = OpenLiveAudio(&(para.para));
- if (this->audio_global_->fd == -1) {
- failureType = 1;
- goto failure;
- }
- this->audio_global_->fileSize =0x7fffffff;
- this->audio_global_->totalSamples = this->audio_global_->fileSize / this->audio_global_->audioPara.bytesPerSample;
- this->audio_global_->live_source = 1;
- }
- else
- {
- LeaveLiveAudio();
- this->audio_global_->fd = open(this->audio_global_->audioFile, O_RDONLY);
- if (this->audio_global_->fd == -1)
- {
- ACE_ERROR ((LM_ERROR, "AS error on opening audio file %s,%p", this->audio_global_->audioFile));
- failureType = 0;
- goto failure;
- }
-
- /* Try to get this->audio_global_->audioFile format this->audio_global_->audioPara here */
-
- /* figure out this->audio_global_->totalSamples */
- this->audio_global_->fileSize = lseek(this->audio_global_->fd, 0L, SEEK_END);
- lseek(this->audio_global_->fd, 0L, SEEK_SET);
- this->audio_global_->totalSamples = this->audio_global_->fileSize / this->audio_global_->audioPara.bytesPerSample;
-
- fprintf(stderr, "Total Samples=%d in audio file %ss.\n", this->audio_global_->totalSamples, this->audio_global_->audioFile);
-
- }
-
- reply.para.encodeType = this->audio_global_->audioPara.encodeType;
- reply.para.channels = this->audio_global_->audioPara.channels;
- reply.para.samplesPerSecond = this->audio_global_->audioPara.samplesPerSecond;
- reply.para.bytesPerSample = this->audio_global_->audioPara.bytesPerSample;
- reply.totalSamples = this->audio_global_->totalSamples;
-
- reply.live = this->audio_global_->live_source;
- reply.format = AUDIO_RAW;
-
- return 1;
- failure:
- {
-
- fprintf(stderr, "AS error: failed initializing audio file.\n");
-
- return 0;
- }
-
-}
-
-
-CORBA::Boolean
-Audio_Control_i::play (const Audio_Control::PLAYPara & para,
- CORBA::Long_out ats,
- CORBA::Environment &env)
-
-{
- return this->state_->play (para,ats);
-}
-
-CORBA::Boolean
-Audio_Control_i::speed (const Audio_Control::SPEEDPara & para,
- CORBA::Environment &env)
-
-{
- return this->state_->speed (para);
-}
-
-CORBA::Boolean
-Audio_Control_i::stop (CORBA::Long cmdsn,
- CORBA::Environment &env)
-{
- return this->state_->stop (cmdsn);
-}
-
-CORBA::Boolean
-Audio_Control_i::set_peer (char *&peer,
- CORBA::Environment &env)
-{
- ACE_INET_Addr client_data_addr (peer);
- // Data (UDP) Address of the client.
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) set_peer called: %s,%s,%d\n",
- peer,
- client_data_addr.get_host_addr (),
- client_data_addr.get_port_number ()));
-
-
- if (this->dgram_.open (client_data_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) UDP open failed: %p\n"),
- -1);
-
- ACE_INET_Addr server_data_addr;
- // Data (UDP) Address of this server.
-
- if (this->dgram_.get_local_addr
- (server_data_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) UDP get_local_addr failed: %p\n"),
- -1);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Audio_Server: My UDP port number is %d\n",
- server_data_addr.get_port_number ()));
-
- this->audio_global_->audioSocket = this->dgram_.get_handle ();
- this->create_handlers () ; // very important.
- if (this->register_handlers () == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) Audio_Control_i::set_peer: register_handlers failed\n"),
- -1);
-
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) set_peer: server port = %d\n",server_data_addr.get_port_number ()));
- ACE_NEW_RETURN (peer,
- char [BUFSIZ],
- 0);
- server_data_addr.set (server_data_addr.get_port_number (),
- server_data_addr.get_host_name ());
- server_data_addr.addr_to_string (peer,
- BUFSIZ);
-
-
- return 1;
-}
-
-void
-Audio_Control_i::close (CORBA::Environment &env)
-{
- this->state_->close ();
- return;
-}
-
-int
-Audio_Control_i::register_handlers (void)
-{
- int result;
-
- // change the state of audio control to be waiting state
- this->change_state (AUDIO_CONTROL_WAITING_STATE::instance ());
-
- // Register the event handlers with the Reactor
- // first the data handler, i.e. UDP
- result = this->reactor_->register_handler (this->data_handler_,
- ACE_Event_Handler::READ_MASK);
- if (result < 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) register_handler for data_handler failed\n"),
- -1);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) registered this->audio_global_->fd for data handler = (%d)\n",
- this->data_handler_->get_handle ()));
-
- // finally, the signal handler, for periodic transmission
- // of packets
- result = this->sig_handler_->register_handler ();
-
- if (result < 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) register_handler for sig_handler"
- "failed!\n"),
- -1);
-
- return 0;
-}
-
-void
-Audio_Control_i::change_state (Audio_Control_State *state)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Audio_Control_i::Changing to state %d\n",
- state->get_state ()));
- this->state_ = state;
-}
-
-// Returns the current state object .
-Audio_Control_State *
-Audio_Control_i::get_state (void)
-{
- return this->state_;
-}
-
-Audio_Control_i::~Audio_Control_i ()
-{
- delete this->data_handler_;
- delete this->sig_handler_;
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.h
deleted file mode 100644
index 001bfccb423..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* _*_ C++ _*_ */
-//$Id$
-
-#ifndef _AV_AUDIO_CONTROL_H
-#define _AV_AUDIO_CONTROL_H
-
-#include "mpeg_shared/Audio_ControlS.h"
-#include "Globals.h"
-#include "Audio_Server.h"
-
-class Audio_Control_State;
-
-class Audio_Control_i
- :public virtual POA_Audio_Control
-{
-public:
- Audio_Control_i (void);
- // Default Constructor
-
- ~Audio_Control_i (void);
- // Default destructor
-
- int create_handlers (void);
- // creates the data and sig handlers.
-
- virtual CORBA::Boolean init_audio (
- const Audio_Control::INITaudioPara & para,
- Audio_Control::INITaudioReply_out reply_para,
- CORBA::Environment &_tao_environment
- ) ;
-
- virtual CORBA::Boolean play (
- const Audio_Control::PLAYPara & para,
- CORBA::Long_out ats,
- CORBA::Environment &_tao_environment
- ) ;
-
- virtual CORBA::Boolean speed (
- const Audio_Control::SPEEDPara & para,
- CORBA::Environment &_tao_environment
- ) ;
-
- virtual CORBA::Boolean stop (
- CORBA::Long cmdsn,
- CORBA::Environment &_tao_environment
- ) ;
-
- virtual CORBA::Boolean set_peer (
- char *&peer,
- CORBA::Environment &_tao_environment
- ) ;
-
- virtual void close (
- CORBA::Environment &_tao_environment
- ) ;
-
- void change_state (Audio_Control_State *state);
- // Changes the state of the Audio Control object.
-
- Audio_Control_State *get_state (void);
- // gets the state.
-private:
- int register_handlers (void);
-
- ACE_Reactor *reactor_;
-
- Audio_Control_State *state_;
-
- Audio_Data_Handler *data_handler_;
-
- Audio_Sig_Handler *sig_handler_;
-
- ACE_SOCK_CODgram dgram_;
-
- Audio_Global *audio_global_;
-};
-
-typedef ACE_Singleton <Audio_Control_i,ACE_Null_Mutex> AUDIO_CONTROL_I;
-
-#endif /*_AV_AUDIO_CONTROL_H */
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.cpp
deleted file mode 100644
index 3c0add20ee2..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.cpp
+++ /dev/null
@@ -1,300 +0,0 @@
-// $Id$
-
-#include "Audio_Server.h"
-#include "Audio_Control_i.h"
-#include "Audio_Control_State.h"
-
-ACE_RCSID(mpeg_server, Audio_Server, "$Id$")
-
-//----------------------------------------
-// Audio_Sig_Handler methods.
-
-Audio_Sig_Handler::Audio_Sig_Handler (Audio_Global *audio_global)
- :audio_global_ (audio_global)
-{
-}
-
-int
-Audio_Sig_Handler::register_handler (void)
-{
- // Assign the Sig_Handler a dummy I/O descriptor. Note that even
- // though we open this file "Write Only" we still need to use the
- // ACE_Event_Handler::NULL_MASK when registering this with the
- // ACE_Reactor (see below).
- this->handle_ = ACE_OS::open (ACE_DEV_NULL, O_WRONLY);
- ACE_ASSERT (this->handle_ != -1);
-
- // Register signal handler object. Note that NULL_MASK is used to
- // keep the ACE_Reactor from calling us back on the "/dev/null"
- // descriptor.
- if (TAO_ORB_Core_instance ()->reactor ()->register_handler
- (this, ACE_Event_Handler::NULL_MASK) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "register_handler"),
- -1);
-
- // Create a sigset_t corresponding to the signals we want to catch.
- ACE_Sig_Set sig_set;
-
- // sig_set.sig_add (SIGINT);
- // sig_set.sig_add (SIGQUIT);
- sig_set.sig_add (SIGALRM);
-
- // Register the signal handler object to catch the signals.
- if (TAO_ORB_Core_instance ()->reactor ()->register_handler (sig_set,
- this) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "register_handler"),
- -1);
- return 0;
-}
-// Called by the ACE_Reactor to extract the fd.
-
-ACE_HANDLE
-Audio_Sig_Handler::get_handle (void) const
-{
- return this->handle_;
-}
-
-int
-Audio_Sig_Handler::handle_input (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG, "(%t) handling asynchonrous input...\n"));
- return 0;
-}
-
-int
-Audio_Sig_Handler::shutdown (ACE_HANDLE, ACE_Reactor_Mask)
-{
- ACE_DEBUG ((LM_DEBUG, "(%t) closing down Sig_Handler...\n"));
- return 0;
-}
-
-// This method handles all the signals that are being caught by this
-// object. In our simple example, we are simply catching SIGALRM,
-// SIGINT, and SIGQUIT. Anything else is logged and ignored.
-//
-// There are several advantages to using this approach. First,
-// the behavior triggered by the signal is handled in the main event
-// loop, rather than in the signal handler. Second, the ACE_Reactor's
-// signal handling mechanism eliminates the need to use global signal
-// handler functions and data.
-
-int
-Audio_Sig_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
-{
- // ACE_DEBUG ((LM_DEBUG, "(%P|%t) received signal %S\n", signum));
-
- switch (signum)
- {
- case SIGALRM:
- if (this->audio_global_->state == Audio_Global::AUDIO_PLAY)
- this->audio_global_->send_audio ();// honor the signal only if you're in play state.
- break;
- default:
- ACE_DEBUG ((LM_DEBUG,
- "(%t) %S: not handled, returning to program\n",
- signum));
- break;
- }
- // ACE_DEBUG ((LM_DEBUG,"returning from handle_signal"));
- return 0;
-}
-
-//----------------------------------------------
-// Audio_Data_Handler methods
-
-Audio_Data_Handler::Audio_Data_Handler (ACE_HANDLE data_fd,
- Audio_Global *audio_global)
- :data_fd_ (data_fd),
- audio_global_ (audio_global)
-{
-}
-
-ACE_HANDLE
-Audio_Data_Handler::get_handle (void) const
-{
- return this->data_fd_;
-}
-
-int
-Audio_Data_Handler::handle_input (ACE_HANDLE fd)
-{
- // ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Data_Handler::handle_input ()\n"));
- int bytes, len;
- for (;;) {
- if (this->audio_global_->conn_tag >= 0) {
- len = wait_read_bytes(this->audio_global_->audioSocket, (char *)this->audio_global_->fbpara, sizeof(*(this->audio_global_->fbpara)));
- if (len == 0) return(1); /* connection broken */
- else if (len < 0) { /* unexpected error */
- perror("AS read1 FB");
- return(-1);
- }
- }
- else { /* discard mode packet stream, read the whole packet */
- len = ::read(this->audio_global_->audioSocket, (char *)this->audio_global_->fbpara, FBBUF_SIZE);
- }
- if (len == -1) {
- if (errno == EINTR) continue; /* interrupt */
- else {
- if (errno != EPIPE && errno != ECONNRESET) perror("AS failed to read() fbmsg header");
- break;
- }
- }
- break;
- }
- //~~ check for end of file.
- if (len == 0)
- {
- ACE_DEBUG ((LM_DEBUG,"(%P|%t)End of file while reading feedback packedt\n"));
- TAO_ORB_Core_instance ()->reactor ()->end_event_loop ();
- return 0;
- }
-
- if (len < sizeof(*this->audio_global_->fbpara)) {
- if (len > 0) fprintf(stderr,
- "AS warn read() len %dB < sizeof(*this->audio_global_->fbpara) %dB\n",
- len, sizeof(*this->audio_global_->fbpara));
- // continue;
- // simulate the continue ??
- this->audio_global_->send_audio ();
- }
-#ifdef NeedByteOrderConversion
- this->audio_global_->fbpara->type = ntohl(this->audio_global_->fbpara->type);
-#endif
- bytes = (this->audio_global_->fbpara->type > 0) ?
- sizeof(APdescriptor) * (this->audio_global_->fbpara->type - 1) :
- 0;
- if (bytes > 0) {
- if (this->audio_global_->conn_tag >= 0) { /* not discard mode packet stream,
- read the rest of packet */
- len = wait_read_bytes(this->audio_global_->audioSocket,
- ((char *)this->audio_global_->fbpara) + sizeof(*this->audio_global_->fbpara),
- bytes);
- if (len == 0) return(1); /* connection broken */
- else if (len < 0) { /* unexpected error */
- perror("AS read2 FB");
- return(-1);
- }
- len += sizeof(*this->audio_global_->fbpara);
- }
- }
- bytes += sizeof(*this->audio_global_->fbpara);
- if (len < bytes) {
- if (len > 0) fprintf(stderr,
- "AS only read partial FBpacket, %dB out of %dB.\n",
- len, bytes);
- // continue;
- this->audio_global_->send_audio ();
- }
- if (this->audio_global_->live_source) { /* ignore all feedback messags for live source */
- // continue;
- this->audio_global_->send_audio ();
- }
-
-#ifdef NeedByteOrderConversion
- this->audio_global_->fbpara->cmdsn = ntohl(this->audio_global_->fbpara->cmdsn);
-#endif
- if (len != sizeof(*this->audio_global_->fbpara) +
- (this->audio_global_->fbpara->type ? (this->audio_global_->fbpara->type -1) * sizeof(APdescriptor) : 0)) {
- /* unknown message, discard */
- SFprintf(stderr, "AS Unkown fb msg: len = %d, type = %d\n",
- len, this->audio_global_->fbpara->type);
- // continue;
- this->audio_global_->send_audio ();
- }
- if (this->audio_global_->fbpara->cmdsn != this->audio_global_->cmdsn) { /* discard the outdated message */
- // continue;
- this->audio_global_->send_audio ();
- }
-#ifdef NeedByteOrderConversion
- {
- int i, * ptr = (int *)this->audio_global_->fbpara + 2;
- for (i = 0; i < (len >> 2) - 2; i++) *ptr = ntohl(*ptr);
- }
-#endif
- if (this->audio_global_->fbpara->type == 0) { /* feedback message */
- /*
- SFprintf(stderr, "AS got fbmsg: addsamples %d, addsps %d\n",
- this->audio_global_->fbpara->data.fb.addSamples, this->audio_global_->fbpara->data.fb.addsps);
- */
- this->audio_global_->addSamples += this->audio_global_->fbpara->data.fb.addSamples;
- if (this->audio_global_->fbpara->data.fb.addsps) {
- this->audio_global_->delta_sps += this->audio_global_->fbpara->data.fb.addsps;
- this->audio_global_->upp = (int)(1000000.0 / ((double)(this->audio_global_->sps + this->audio_global_->delta_sps) / (double)this->audio_global_->spp));
- }
- }
- else { /* resend requests */
- APdescriptor * req = &(this->audio_global_->fbpara->data.ap);
- int i;
- /*
- SFprintf(stderr, "AS got %d resend reqs\n", this->audio_global_->fbpara->type);
- */
- for (i = 0; i < this->audio_global_->fbpara->type; i ++) {
- this->audio_global_->ResendPacket(req->firstSample, req->samples);
- req ++;
- }
- }
- // send a audio frame.??
- this->audio_global_->send_audio ();
- return 0;
-}
-
-// Audio_Server_StreamEndPoint methods.
-
-int
-Audio_Server_StreamEndPoint::handle_open (void)
-{
- return 0;
-}
-
-int
-Audio_Server_StreamEndPoint::handle_close (void)
-{
- // called when streamendpoint is being destructed
- return 0;
-}
-
-int
-Audio_Server_StreamEndPoint::handle_stop (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- return 0;
-}
-
-int
-Audio_Server_StreamEndPoint::handle_start (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- return 0;
-}
-
-int
-Audio_Server_StreamEndPoint::handle_destroy (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- return 0;
-}
-
-CORBA::Boolean
-Audio_Server_StreamEndPoint::handle_connection_requested (AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- // ACE_DEBUG ((LM_DEBUG,"(%P|%t) Audio_Server_StreamEndPoint::handle_connection_requested:() %s \n",
- // the_spec[0]));
-
- char *server_string;
-
- server_string = CORBA::string_dup ((const char *) the_spec [0]);
- CORBA::Boolean result;
- result = AUDIO_CONTROL_I::instance ()->set_peer (server_string,env);
- // Get media control from my vdev and call set_peer on that.
-
- the_spec.length (1);
- the_spec [0]=server_string;
-
- return result;
-}
-
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.h
deleted file mode 100644
index 473827a2adb..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Server.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- C++ -*- */
-//$Id$
-
-#ifndef _AUDIO_SERVER_H
-#define _AUDIO_SERVER_H
-
-#include <sys/types.h>
-#include <netdb.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <arpa/inet.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <time.h>
-#include <sys/time.h>
-#include <stdio.h>
-#include <errno.h>
-#include <signal.h>
-#include "include/common.h"
-#include "mpeg_shared/fileio.h"
-#include "mpeg_shared/routine.h"
-#include "mpeg_shared/com.h"
-#include "server_proto.h"
-
-#include "ace/SOCK_CODgram.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/SOCK_Stream.h"
-#include "tao/TAO.h"
-#include "mpeg_shared/Audio_ControlS.h"
-#include "orbsvcs/CosNamingC.h"
-#include "Globals.h"
-
-class Audio_Sig_Handler
- : public virtual ACE_Event_Handler
-{
- // = TITLE
- // Defines the signal handler for the audio process.
-public:
- Audio_Sig_Handler (Audio_Global *audio_global);
- // Constructor.
-
- virtual ACE_HANDLE get_handle (void) const;
-
- int register_handler (void);
- // this will register this sig_handler
- // with the reactor for SIGALRM
-
- virtual int shutdown (ACE_HANDLE,
- ACE_Reactor_Mask);
-
- virtual int handle_input (ACE_HANDLE);
-
- virtual int handle_signal (ACE_HANDLE signum,
- siginfo_t * = 0,
- ucontext_t* = 0);
-private:
- ACE_HANDLE handle_;
- // my handle
- Audio_Global *audio_global_;
-};
-
-class Audio_Data_Handler : public virtual ACE_Event_Handler
-{
-public:
- Audio_Data_Handler (ACE_HANDLE data_fd,
- Audio_Global *audio_global);
-
- // Constructor
-
- virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
- // Called when data shows up.
-
- virtual ACE_HANDLE get_handle (void) const;
- // Get the handle used by this event handler
-
-private:
- ACE_HANDLE data_fd_;
- Audio_Global *audio_global_;
-};
-
-// The stream endpoint
-class Audio_Server_StreamEndPoint :
- public virtual TAO_Server_StreamEndPoint
-{
-public:
- virtual int handle_open (void) ;
- // called when streamendpoint is instantiated
-
- virtual int handle_close (void) ;
- // called when streamendpoint is being destructed
-
- virtual int handle_stop (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
- // Application needs to define this
-
- virtual int handle_start (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
- // Application needs to define this
-
-
- virtual int handle_destroy (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
- // Application needs to define this
-
- virtual CORBA::Boolean handle_connection_requested (AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
-
-private:
- ACE_SOCK_CODgram dgram_;
-};
-
-#endif /*_AUDIO_SERVER_H */
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.cpp
deleted file mode 100644
index fbc97ad3c24..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.cpp
+++ /dev/null
@@ -1,2934 +0,0 @@
-// $Id$
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#include "Globals.h"
-
-ACE_RCSID(mpeg_server, Globals, "$Id$")
-
-int Mpeg_Global::parentpid = -1;
-int Mpeg_Global::listenSocketIn = -1;
-int Mpeg_Global::listenSocketUn = -1;
-struct linger Mpeg_Global::linger = {1,1};
-int Mpeg_Global::live_audio = 0;
-int Mpeg_Global::live_video = 0; /* 0 - no, 1 - to open, 2 - opened */
-int Mpeg_Global::drift_ppm = 0; /* clock drift in ppm */
-int Mpeg_Global::session_limit = SESSION_NUM;
-int Mpeg_Global::session_num = 0;
-int Mpeg_Global::rttag = 0;
-
-int Video_Timer_Global::timerHeader = 0;
-int Video_Timer_Global::timerGroup = 0;
-int Video_Timer_Global::timerFrame = 0;
-int Video_Timer_Global::timerOn = 0;
-int Video_Timer_Global::timerAdjust = 0;
-int Video_Timer_Global::preTimerVal = 0;
-
-// Initialize the nasty int's, doubles and their friends.
-
-Video_Global::Video_Global (void)
-{
- live_source = 0;
- video_format = 0;
-
- pkts_sent = 0;
- start_time = 0;
-
- conn_tag = -1;
-
- normalExit = 1;
-
- serviceSocket = 0;
- videoSocket = -1;
-
- ACE_OS::memset (videoFile,
- 0,
- PATH_SIZE);
- fp = 0;
-
- needHeader = 0;
-
- lastRef [0] = lastRef [1] = 0;
-
- lastRefPtr = 0;
- currentUPF = 0;
- addedUPF = 0;
- addedSignals = 0;
- VStimeAdvance = 0;
- fps = 0; /* current frames-per-second: playback speed */
- frameRateLimit = 0;
-
- packet = 0;
- packetBufSize = 0;
- msgsn = 0;
- packetsn = 0;
- msgsize = 0;
-
- precmd = 0;
- cmd = 0;
- cmdsn = 0;
- nextFrame = 0;
- nextGroup = 0;
- firstPatternSize = 0;
- firstSendPattern = 0;
- sendPatternGops = 0;
- ACE_OS::memset (sendPattern,
- 0,
- PATTERN_SIZE);
-
-#ifdef STAT
- framesSent = 0;
-#endif /* STAT */
-
- fileSize = 0;
- maxS = 0;
- maxG = 0;
- maxI = 0;
- maxP = 0;
- maxB = 0;
- minS = 0x7fffffff;
- minG = 0x7fffffff;
- minI = 0x7fffffff;
- minP = 0x7fffffff;
- minB = 0x7fffffff;
-
- numS = 0;
- numG = 0;
- numF = 0;
- numI = 0;
- numP = 0;
- numB = 0;
-
- averageFrameSize = 0;
- horizontalSize = 0;
- verticalSize = 0;
- pelAspectRatio = 0;
- pictureRate = 0;
- vbvBufferSize = 0;
- firstGopFrames = 0;
- patternSize = 0;
-
- ACE_OS::memset (pattern,
- 0,
- PATTERN_SIZE);
-
- // struct pointers
- systemHeader = 0;
-
- gopTable = 0;
-
- frameTable = 0;
-
- // playvideo local vars
-
- preGroup = -1;
- preHeader = -1;
- preFrame = -1;
-
- fast_preGroup = -1;
- fast_preHeader= -1;
-}
-
-int
-Video_Global::FBread (char *buf, int size)
-{
- int res;
-
- while ((res = (this->conn_tag >= 0 ? wait_read_bytes (this->videoSocket, buf, size) :
- read (this->videoSocket, buf, size))) == -1)
- {
- if (errno == EINTR) {errno = 0; continue; }
- if (errno == EPIPE || errno == ECONNRESET) exit (0);
- perror ("VS reads Feedback this->packet");
- return -1;
- }
-
- if (res < size)
- {
- if (res)
- // @@ Can you please convert the printfs() and perrors to use
- // the appropriate ACE_DEBUG and ACE_ERROR macros?
- fprintf (stderr, "VS warn: FBread () res %dB < size %dB\n", res, size);
- return -1;
- }
- return 0;
-}
-
-// send a given this->packet pointed by 'this->packet' to the network.
-
-int
-Video_Global::first_packet_send_to_network (int timeToUse)
-{
- int count = 0;
- VideoMessage * msghd = (VideoMessage *) (((char *) this->packet) - sizeof (VideoMessage));
- int sent = 0;
- int packetSize = ntohl (this->packet->dataBytes);
-
- msghd->packetsn = htonl (this->packetsn ++);
- msghd->packetSize = htonl (packetSize + sizeof (* this->packet));
-
- fprintf (stderr, "VS to send FIRST pkt %d of size %d.\n",
- ntohl (msghd->packetsn), ntohl (msghd->packetSize));
-
-
- {
- VideoMessage * msg = NULL;
- int size = packetSize + sizeof (* this->packet); /* msghd->this->packetSize */
- int offset = 0;
- int targetTime;
-
- if (size > this->msgsize)
- {
- if (!timeToUse)
- {
- timeToUse = (this->msgsize + sizeof (*msg) + 28) * 2;
- /*
- set the max network as 500KB.
- 28 - UDP header size
- */
- /*
- fprintf (stderr, "computed timeToUse %d. ", timeToUse);
- */
- }
- else
- {
- timeToUse = (timeToUse * 7) >> 3;
- /*
- fprintf (stderr, "preset timeToUse %d.", timeToUse);
- */
- timeToUse /= (size + this->msgsize - 1) / this->msgsize;
- timeToUse = min (timeToUse, (this->msgsize + sizeof (*msg) + 28) * 100);
- /* limit min network bandwidth = 10K */
- }
-
- }
- while (size > 0)
- {
- int segsize, sentsize;
- int resent = 0;
-
- if (msg == NULL)
- { /* first message for current this->packet
- */
- count = 0;
- msg = msghd;
- targetTime = get_usec ();
- }
- else {
-#if 0
- /* the select () is not precise enough for being used here*/
- int sleepTime;
- targetTime += timeToUse;
- sleepTime = get_duration (get_usec (), targetTime);
- if (sleepTime >= 5000) { /* resolution of timer is 10,000 usec */
- usleep (sleepTime); /* not first message, wait for a while */
- }
-#endif
- /*
- count ++;
- if (! (count % 10)) usleep (10000);
- */
- msg = (VideoMessage *) ((char *)msg + this->msgsize);
- memcpy ((char *)msg, (char *)msghd, sizeof (* msg));
- }
-
- msg->msgsn = htonl (this->msgsn++);
- msg->msgOffset = htonl (offset);
- msg->msgSize = htonl (min (size, this->msgsize));
- // send the header seperately first
- segsize = sizeof (*msg);
- // ACE_DEBUG ((LM_DEBUG,
- // "(%P|%t) Sending the header, of size %d\n",
- // segsize));
-
- while (write (this->videoSocket,
- (char *)msg,
- segsize) == -1)
- {
- if (errno == EINTR)
- continue;
- if (errno == ENOBUFS) {
- if (resent) {
- perror ("Warning, pkt discarded because");
- sent = -1;
- break;
- }
- else {
- resent = 1;
- perror ("VS to sleep 5ms");
- usleep (5000);
- continue;
- }
- }
- if (errno != EPIPE) {
- fprintf (stderr, "VS error on send this->packet %d of size %d ",
- this->msgsn-1, min (size, this->msgsize)+sizeof (*msg));
- perror ("");
- }
- exit (errno != EPIPE);
- }
-
-
- // segsize = min (size, this->msgsize)+sizeof (*msg);
- segsize = min (size, this->msgsize);
-
- if (this->conn_tag != 0) { /* this->packet stream */
- // cerr << "vs sending " << segsize << " on fd = " << this->videoSocket << endl;
- // ACE_DEBUG ((LM_DEBUG,"packetsn = %d,msgsn = %d\n",
- // msg->packetsn,msg->msgsn));
-
- while ((sentsize = write (this->videoSocket,
- (char *)msg + sizeof (*msg),
- segsize)) == -1) {
- if (errno == EINTR)
- continue;
- if (errno == ENOBUFS) {
- if (resent) {
- perror ("Warning, pkt discarded because");
- sent = -1;
- break;
- }
- else {
- resent = 1;
- perror ("VS to sleep 5ms");
- usleep (5000);
- continue;
- }
- }
- if (errno != EPIPE) {
- fprintf (stderr, "VS error on send this->packet %d of size %d ",
- this->msgsn-1, min (size, this->msgsize)+sizeof (*msg));
- perror ("");
- }
- exit (errno != EPIPE);
- }
- }
- else {
- sentsize = wait_write_bytes (this->videoSocket, (char *)msg, segsize);
- if (sentsize == -1) {
- if (errno != EPIPE) {
- fprintf (stderr, "VS error on send this->packet %d of size %d ",
- this->msgsn-1, min (size, this->msgsize)+sizeof (*msg));
- perror ("");
- }
- exit (errno != EPIPE);
- }
- }
- if (sentsize < segsize) {
- SFprintf (stderr, "VS warning: message size %dB, sent only %dB\n",
- segsize, sentsize);
- }
- if (sent == -1)
- break;
- /*
- fprintf (stderr, "VS: message %d of size %d sent.\n",
- this->msgsn-1, min (size, this->msgsize)+sizeof (*msg));
- */
- size -= this->msgsize;
- offset += this->msgsize;
- }
- }
-
- fprintf (stderr, "sent = %d\n", sent);
-
- if (!sent) this->pkts_sent ++;
- return sent;
-}
-
-/*
- * send a this->packet with given this->systemHeader (optional), gop (optional) and frame.
- *
- * sh - system header id, if -1, then no system header will be sent.
- * otherwise, only when frame == 0, the given system header will be sent.
- * gop - group of pictures, gop header will be sent when frame == 0
- * (first I frame );
- * frame - frame to be sent, offset internal to given gop.
- */
-
-/* returns: 0 - this->packet sent, -1 - this->packet not sent (failed) */
-
-int
-Video_Global::SendPacket (int shtag,
- int gop,
- int frame,
- int timeToUse,
- int first_time)
-/* frame maybe out of range (PLAY, STEP), in this case, END_SEQ is sent
- to force display of last frame in VD */
-{
- char * buf = ((char *) this->packet) + sizeof (VideoPacket);
- int f = this->gopTable[gop].previousFrames + frame;
- int sh = this->gopTable[gop].systemHeader;
- /*
- SFprintf (stderr, "VS to send this->packet gop-%d, frame-%d.\n", gop, frame);
- */
-
- this->packet->currentUPF = ntohl (this->currentUPF);
-
- if (frame >= this->gopTable[gop].totalFrames)
- {
- this->packet->cmd = htonl (this->cmd);
- this->packet->cmdsn = htonl (this->cmdsn);
- this->packet->sh = htonl (sh);
- this->packet->gop = htonl (gop);
- this->packet->frame = htonl (this->numF);
- this->packet->display = htonl (this->numF-1);
- this->packet->future = htonl ((unsigned)-1);
- this->packet->past = htonl ((unsigned)-1);
- this->packet->dataBytes = htonl (4);
- * (int*) ((char*)this->packet + sizeof (*this->packet)) = htonl (SEQ_END_CODE);
-
- return send_to_network (timeToUse);
- }
-
- if (frame)
- shtag = 0;
- else if (this->needHeader)
- {
- shtag = 1;
- this->needHeader = 0;
- }
-
- this->packet->cmd = htonl (this->cmd);
- this->packet->cmdsn = htonl (this->cmdsn);
- this->packet->sh = htonl (sh);
- this->packet->gop = htonl (gop);
- this->packet->frame = htonl (f);
- if (this->frameTable[f].type == 'B')
- {
- int pre1 = -1, pre2 = -1, i = f;
- while (i>0)
- if (this->frameTable[--i].type != 'B')
- {
- pre1 = i;
- break;
- }
- while (i>0)
- if (this->frameTable[--i].type != 'B')
- {
- pre2 = i;
- break;
- }
- if (pre2 == -1)
- {
- /*
- fprintf (stderr,
- "frame %d-%d (%d) is a B without past ref, no to be sent.\n",
- gop, frame, f);
- */
- return -1;
- }
- if (pre1 != this->lastRef[this->lastRefPtr] ||
- pre2 != this->lastRef[1 - this->lastRefPtr])
- {
- /*
- fprintf (stderr,
- "send of B frame %d gaveup for past %d/future %d ref not sent.\n",
- f, pre2, pre1);
- */
- return -1;
- }
- this->packet->display = htonl (f);
- this->packet->future = htonl (pre1);
- this->packet->past = htonl (pre2);
- }
- else
- {
- int next = f;
- int pre = f;
-
- while (next < this->numF && this->frameTable[++next].type == 'B');
- while (pre > 0 && this->frameTable[--pre].type == 'B');
- if (this->frameTable[f].type == 'P' && pre != this->lastRef[this->lastRefPtr])
- {
- /*
- fprintf (stderr,
- "send of P frame %d gaveup for past ref %d not sent.\n",
- f, pre);
- fprintf (stderr, "ref0=%d, ref1=%d, ptr=%d.\n",
- this->lastRef[0], this->lastRef[1], this->lastRefPtr);
- */
- return -1;
- }
- this->packet->display = htonl (next);
- this->packet->future = htonl ((unsigned)-1);
- this->packet->past = htonl (this->frameTable[f].type == 'P' ? pre : (unsigned)-1);
- }
- {
- char * ptr = buf;
- int size = 0, offset = 0, i;
- if (shtag) /* send system header */
- {
- size = this->systemHeader[sh].size;
- FileRead (this->systemHeader[sh].offset, ptr, size);
- ptr += size;
- }
- if (!frame) /* send gop header */
- {
- size = this->gopTable[gop].headerSize;
- FileRead (this->gopTable[gop].offset, ptr, size);
- ptr += size;
- }
- size = this->frameTable[f].size;
- for (i=this->gopTable[gop].previousFrames; i<f; i++)
- offset += this->frameTable[i].size;
- FileRead ((this->gopTable[gop].firstIoffset + offset), ptr, size);
- ptr += size;
- this->packet->dataBytes = htonl (ptr - buf);
- }
-
- {
- int sent;
- if (first_time == 1)
- {
- // ACE_DEBUG ((LM_DEBUG,
- // "(%P|%t) Sending first frame to client\n"));
- sent = first_packet_send_to_network (timeToUse);
- }
- else
- sent = send_to_network (timeToUse);
- if (!sent)
- {
- /*
- fprintf (stderr, "%c%d\n", this->frameTable[f].type, f);
- fprintf (stderr, "%c frame %d sent.\n", this->frameTable[f].type, f);
- */
- if (this->frameTable[f].type != 'B')
- {
- this->lastRefPtr = 1 - this->lastRefPtr;
- this->lastRef[this->lastRefPtr] = f;
- }
- }
- return sent;
- }
-}
-
-int
-Video_Global::CmdRead (char *buf, int psize)
-{
- int res = wait_read_bytes (this->serviceSocket,
- buf,
- psize);
- if (res == 0) return (1);
- if (res == -1) {
- fprintf (stderr, "VS error on read this->cmdSocket, size %d", psize);
- perror ("");
- return (-1);
- }
- return 0;
-}
-
-int
-Video_Global::CmdWrite (char *buf, int size)
-{
- int res = wait_write_bytes (this->serviceSocket, buf, size);
- if (res == -1) {
- if (errno != EPIPE) perror ("VS writes to this->serviceSocket");
- return (-1);
- }
- return 0;
-}
-
-int
-Video_Global::PLAYliveVideo (PLAYpara * para)
-{
- int doscale;
- int count;
- int first_frame;
- int frame = para->nextFrame;
- int nfds = (this->serviceSocket > this->videoSocket ? this->serviceSocket : this->videoSocket) + 1;
- struct fd_set read_mask;
- struct timeval tval = {0, 0};
- double ratio;
- int result;
-
- this->currentUPF = (int) (1000000.0 / this->fps); /* ignore para.usecPerFrame */
- if (this->frameRateLimit < this->fps) {
- doscale = 1;
- ratio = min (this->frameRateLimit, this->fps) / this->fps;
- first_frame = frame;
- count = 0;
- /*
- fprintf (stderr, "doscale %d, this->frameRateLimit %5.2f, this->fps %5.2f, ratio %5.2f\n",
- doscale, this->frameRateLimit, this->fps, ratio);
- */
- }
- else doscale = 0;
- StartPlayLiveVideo ();
-
- for (;;) {
-
- if (doscale) {
- for (;;) {
- if ((int) ((frame - first_frame) * ratio + 0.5) < count) frame ++;
- else break;
- }
- count ++;
- }
- SendPicture (&frame);
- frame ++;
-
- FD_ZERO (&read_mask);
- FD_SET (this->serviceSocket, &read_mask);
- FD_SET (this->videoSocket, &read_mask);
-
- // @@ Is this code actually used anymore, i.e., do we need to
- // ACE-ify it?
-
-#ifdef _HPUX_SOURCE
- if (select (nfds, (int *)&read_mask, NULL, NULL, &tval) == -1)
-#else
- if (select (nfds, &read_mask, NULL, NULL, &tval) == -1)
-#endif
- {
- if (errno == EINTR)
- continue;
- perror ("Error - VS select between service and video sockets");
- StopPlayLiveVideo ();
- exit (1);
-
- }
- if (FD_ISSET (this->serviceSocket, &read_mask)) /* stop */
- {
- u_char tmp;
- result = CmdRead ((char *)&tmp, 1);
- if (result != 0)
- return result;
- if (tmp == CmdCLOSE) {
- StopPlayLiveVideo ();
- exit (0);
- }
- else if (tmp == CmdSTOP) {
- this->cmd = tmp;
- /*
- fprintf (stderr, "VS: this->CmdSTOP. . .\n");
- */
- result = CmdRead ((char *)&this->cmdsn, sizeof (int));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- this->cmdsn = ntohl (this->cmdsn);
-#endif
- StopPlayLiveVideo ();
- break;
- }
- else if (tmp == CmdSPEED)
- {
- SPEEDpara speed_para;
- /*
- fprintf (stderr, "VS: this->CmdSPEED. . .\n");
- */
- result = CmdRead ((char *)&speed_para, sizeof (speed_para));
- if (result != 0)
- return result;
- /* ignore this thing for live video */
- }
- else
- {
- fprintf (stderr, "VS error (live): this->cmd=%d while expect STOP/SPEED.\n", tmp);
- this->normalExit = 0;
- StopPlayLiveVideo ();
- exit (1);
- }
- }
- if (FD_ISSET (this->videoSocket, &read_mask)) /* feedback, only for frame rate
- adjustment */
- {
- VideoFeedBackPara fb_para;
- if (FBread ((char *)&fb_para, sizeof (fb_para)) == -1 ||
- ntohl (fb_para.cmdsn) != this->cmdsn) {
- /*
- SFprintf (stderr, "VS warning: a FB this->packet discarded.\n");
- */
- return 0;
- }
-#ifdef NeedByteOrderConversion
- fb_para.this->frameRateLimit1000 = ntohl (fb_para.this->frameRateLimit1000);
-#endif
- this->frameRateLimit = fb_para.frameRateLimit1000 / 1000.0;
- if (this->frameRateLimit < this->fps) {
- doscale = 1;
- ratio = min (this->frameRateLimit, this->fps) / this->fps;
- first_frame = frame;
- count = 0;
- /*
- fprintf (stderr, "doscale %d, this->frameRateLimit %5.2f, this->fps %5.2f, ratio %5.2f\n",
- doscale, this->frameRateLimit, this->fps, ratio);
- */
- }
- else doscale = 0;
- }
- }
- return 0;
-}
-
-void
-Video_Global::ComputeFirstSendPattern (float limit)
-{
- char * buf = this->firstSendPattern;
- int len = this->firstPatternSize;
- char * pat = (char *)malloc (len);
- int f;
-
- if (pat == NULL) {
- fprintf (stderr, "VS error on allocating %d bytes for computing first SP", len);
- perror ("");
- exit (1);
- }
- for (f = 0; f < len; f ++) {
- pat[f] = this->frameTable[f].type;
- }
- memset (buf, 0, len);
-
- if (limit <= 0)
- limit = 1.0;
-
- f = (int) ((double)len *
- ((double)limit / (1000000.0 / (double)this->currentUPF)) + 0.5);
- /* rounded to integer, instead of truncated */
- if (f >= len)
- f = len;
- else if (f <= 1)
- f = 1;
-
- ComputeSendPattern (pat, buf, len, f);
-
- /*
- f = len - f;
- fprintf (stderr, "this->Firstthis->Sendthis->Pattern (%d frames dropped): ", f);
- {
- int i;
- for (i = 0; i < len; i ++)
- fputc (buf[i] ? pat[i] : '-', stderr);
- }
- fputc ('\n', stderr);
- */
- free (pat);
-}
-
-int
-Video_Global::FrameToGroup (int * frame)
-{
- int f = * frame;
- int i = 0;
- while (i < this->numG && this->gopTable[i].previousFrames <= f) i++;
- i --;
- * frame = f - this->gopTable[i].previousFrames;
- return i;
-}
-
-int
-Video_Global::SendReferences (int group, int frame)
-{
- u_char orgcmd;
- int i, base;
- int pregroup;
- int result;
-
- if (group < 0 || group >= this->numG) return 0;
- if (frame <= 0 || frame >= this->gopTable[group].totalFrames) return 0;
-
- orgcmd = this->cmd;
- this->cmd = CmdREF;
-
- if (group > 0) {
- pregroup = 1;
- base = this->gopTable[group].previousFrames;
- for (i = 0; i <= frame; i ++) {
- if (this->frameTable[i + base].type == 'P') {
- pregroup = 0;
- break;
- }
- }
- }
- else pregroup = 0;
-
- if (pregroup) { /* reference frame can be in previous group */
- pregroup = group -1;
- base = this->gopTable[pregroup].previousFrames;
- for (i = 0; i < this->gopTable[pregroup].totalFrames; i ++) {
- if (this->frameTable[i + base].type != 'B') {
- /*
- SFprintf (stderr, "REF group%d, frame%d\n", pregroup, i);
- */
- result = SendPacket (i == 0, pregroup, i, 0);
- if (result != 0)
- return result;
- }
- }
- }
-
- base = this->gopTable[group].previousFrames;
- for (i = 0; i < frame; i ++) {
- if (this->frameTable[i + base].type != 'B') {
- /*
- SFprintf (stderr, "REF group%d, frame%d\n", group, i);
- */
- SendPacket (i == 0, group, i, 0);
- }
- }
- this->cmd = orgcmd;
-}
-
-int
-Video_Global::GetFeedBack ()
-{
- VideoFeedBackPara para;
- struct itimerval val;
- int timerUsec;
-
- if (FBread ((char *)&para, sizeof (para)) == -1 ||
- ntohl (para.cmdsn) != this->cmdsn) {
- /*
- SFprintf (stderr, "VS warning: a FB this->packet discarded.\n");
- */
- return -1;
- }
-#ifdef NeedByteOrderConversion
- para.this->needHeader = ntohl (para.this->needHeader);
- para.addUsecPerFrame = ntohl (para.addUsecPerFrame);
- para.addFrames = ntohl (para.addFrames);
- para.this->sendthis->PatternGops = ntohl (para.this->sendthis->PatternGops);
- para.this->frameRateLimit1000 = ntohl (para.this->frameRateLimit1000);
-#endif
- this->frameRateLimit = para.frameRateLimit1000 / 1000.0;
- this->sendPatternGops = para.sendPatternGops;
-
- if (!Video_Timer_Global::timerOn) return 0;
-
- this->needHeader = para.needHeader;
- memcpy (this->sendPattern, para.sendPattern, PATTERN_SIZE);
- if (para.addFrames <= 0 || Video_Timer_Global::timerAdjust < MAX_TIMER_ADJUST)
- {
- Video_Timer_Global::timerAdjust += para.addFrames * SPEEDUP_INV_SCALE;
- Video_Timer_Global::TimerSpeed ();
- }
- else /* drastic compensation for big gap */
- this->addedSignals += para.addFrames;
- if (para.addUsecPerFrame) {
- this->addedUPF += para.addUsecPerFrame;
- Video_Timer_Global::TimerSpeed ();
- }
- /*
- SFprintf (stderr, "VS fb: addf %d, addupf %d\n",
- para.addFrames, para.addUsecPerFrame);
- */
-
- return 0;
-}
-
-int
-Video_Global::SendPicture (int * frame)
-{
- int size;
- char * buf = ((char *) this->packet) + sizeof (VideoPacket);
- /*
- SFprintf (stderr, "VS to send picture %d.\n", *frame);
- */
-
- size = ReadLiveVideoPicture (frame, buf, this->packetBufSize);
-
- this->packet->currentUPF = ntohl (this->currentUPF);
- this->packet->cmd = htonl (this->cmd);
- this->packet->cmdsn = htonl (this->cmdsn);
- this->packet->sh = this->packet->gop = this->packet->frame = this->packet->display = htonl (*frame);
- this->packet->future = htonl ((unsigned)-1);
- this->packet->past = htonl ((unsigned)-1);
-
- this->packet->dataBytes = htonl (size);
-
- return send_to_network (this->currentUPF);
-}
-
-int
-Video_Global::ReadInfoFromFile (void)
-{
- int fd = -1, i;
- int fnlen = strlen (this->videoFile);
-
- strcpy (&this->videoFile[fnlen], ".Info");
- fd = open (this->videoFile, O_RDONLY);
- if (fd == -1)
- {
- fprintf (stderr, "Reminder: VS fails to open %s for read, ", this->videoFile);
- perror ("try create one");
- goto fail_ReadInfoFromFile;
- }
- read_int (fd, &i);
- if (i != this->fileSize)
- {
- fprintf (stderr, "Warning: this->fileSize in Info: %d not the same as actual %d.\n",
- i, this->fileSize);
- goto fail_ReadInfoFromFile;
- }
-
- read_int (fd, &this->maxS);
- read_int (fd, &this->maxG);
- read_int (fd, &this->maxI);
- read_int (fd, &this->maxP);
- read_int (fd, &this->maxB);
- read_int (fd, &this->minS);
- read_int (fd, &this->minG);
- read_int (fd, &this->minI);
- read_int (fd, &this->minP);
- read_int (fd, &this->minB);
- read_int (fd, &this->numS);
- read_int (fd, &this->numG);
- read_int (fd, &this->numF);
- read_int (fd, &this->numI);
- read_int (fd, &this->numP);
- read_int (fd, &this->numB);
- read_int (fd, &this->averageFrameSize);
- read_int (fd, &this->horizontalSize);
- read_int (fd, &this->verticalSize);
- read_int (fd, &this->pelAspectRatio);
- read_int (fd, &this->pictureRate);
- read_int (fd, &this->vbvBufferSize);
- read_int (fd, &this->patternSize);
-
- memset (this->pattern, 0, PATTERN_SIZE);
- read_bytes (fd, this->pattern, this->patternSize);
-#ifdef STAT
- this->framesSent = (char *)malloc ((this->numF + 7)>>3);
- if (this->framesSent == NULL)
- {
- fprintf (stderr, "Error: VS fails to alloc mem for this->framesSent for %d frames", this->numF);
- perror ("");
- exit (1);
- }
-#endif
- this->systemHeader = (struct Video_Global::SystemHeader *)malloc (sizeof (struct Video_Global::SystemHeader) * this->numS);
- if (this->systemHeader == NULL)
- {
- perror ("Error: VS error on malloc this->SystemHeader");
- exit (1);
- }
- this->gopTable = (struct Video_Global::GopTable *)malloc (sizeof (struct Video_Global::GopTable) * this->numG);
- if (this->gopTable == NULL)
- {
- perror ("Error: VS error on malloc GopHeader");
- exit (1);
- }
- this->frameTable = (struct Video_Global::FrameTable *)malloc (sizeof (Video_Global::FrameTable) * this->numF);
- if (this->frameTable == NULL)
- {
- perror ("Error: VS error on malloc this->frameTable");
- exit (1);
- }
- this->packetBufSize = this->maxS + this->maxG + max (this->maxI, max (this->maxP, this->maxB));
- this->packet = (VideoPacket *)malloc (sizeof (VideoMessage) + sizeof (VideoPacket) +
- this->packetBufSize);
- if (this->packet == NULL)
- {
- perror ("Error: VS error on malloc this->packet buffer");
- exit (1);
- }
- this->packet = (VideoPacket *) ((char *)this->packet + sizeof (VideoMessage));
-
- for (i = 0; i < this->numS; i ++)
- {
- read_int (fd, (int *)&this->systemHeader[i].offset);
- read_int (fd, &this->systemHeader[i].size);
- }
- for (i = 0; i < this->numG; i ++)
- {
- read_int (fd, &this->gopTable[i].systemHeader);
- read_int (fd, (int *)&this->gopTable[i].offset);
- read_int (fd, &this->gopTable[i].headerSize);
- read_int (fd, &this->gopTable[i].size);
- read_int (fd, &this->gopTable[i].totalFrames);
- read_int (fd, &this->gopTable[i].previousFrames);
- read_int (fd, (int *)&this->gopTable[i].firstIoffset);
- }
- for (i = 0; i < this->numF; i ++)
- {
- read_byte (fd, &this->frameTable[i].type);
- read_short (fd, (short *)&this->frameTable[i].size);
- }
-
- close (fd);
- /*
- fprintf (stderr, "Read Info from %s\n", this->videoFile);
- */
- this->videoFile[fnlen] = 0;
- return 0;
-fail_ReadInfoFromFile:
- if (fd >= 0)
- close (fd);
- this->videoFile[fnlen] = 0;
- /*
- fprintf (stderr, "To scan Info from %s\n", this->videoFile);
- */
- return -1;
-}
-
-void
-Video_Global::WriteInfoToFile (void)
-{
- int fd = -1, i;
- int fnlen = strlen (this->videoFile);
-
- strcpy (&this->videoFile[fnlen], ".Info");
- fd = open (this->videoFile, O_WRONLY | O_CREAT, 0444);
- if (fd == -1)
- {
- fprintf (stderr, "VS fails to open %s for write", this->videoFile);
- perror ("");
- goto fail_WriteInfoToFile;
- }
- write_int (fd, this->fileSize);
- write_int (fd, this->maxS);
- write_int (fd, this->maxG);
- write_int (fd, this->maxI);
- write_int (fd, this->maxP);
- write_int (fd, this->maxB);
- write_int (fd, this->minS);
- write_int (fd, this->minG);
- write_int (fd, this->minI);
- write_int (fd, this->minP);
- write_int (fd, this->minB);
- write_int (fd, this->numS);
- write_int (fd, this->numG);
- write_int (fd, this->numF);
- write_int (fd, this->numI);
- write_int (fd, this->numP);
- write_int (fd, this->numB);
- write_int (fd, this->averageFrameSize);
- write_int (fd, this->horizontalSize);
- write_int (fd, this->verticalSize);
- write_int (fd, this->pelAspectRatio);
- write_int (fd, this->pictureRate);
- write_int (fd, this->vbvBufferSize);
- write_int (fd, this->patternSize);
-
- write_bytes (fd, this->pattern, this->patternSize);
-
- for (i = 0; i < this->numS; i ++)
- {
- write_int (fd, this->systemHeader[i].offset);
- write_int (fd, this->systemHeader[i].size);
- }
- for (i = 0; i < this->numG; i ++)
- {
- write_int (fd, this->gopTable[i].systemHeader);
- write_int (fd, this->gopTable[i].offset);
- write_int (fd, this->gopTable[i].headerSize);
- write_int (fd, this->gopTable[i].size);
- write_int (fd, this->gopTable[i].totalFrames);
- write_int (fd, this->gopTable[i].previousFrames);
- write_int (fd, this->gopTable[i].firstIoffset);
- }
- for (i = 0; i < this->numF; i ++)
- {
- write_byte (fd, this->frameTable[i].type);
- write_short (fd, this->frameTable[i].size);
- }
-
- close (fd);
- this->videoFile[fnlen] = 0;
- return;
-fail_WriteInfoToFile:
- if (fd >= 0)
- close (fd);
- this->videoFile[fnlen] = 0;
- return;
-}
-
-int
-Video_Global::init_MPEG1_video_file (void)
-{
- u_char nb;
- int state = 0;
- u_long fileptr = 0;
- u_long i, j, k;
- int shptr, gopptr, ftptr;
- int inpic = 0;
- u_long picptr = 0;
- int pictype = 0;
- int first = 0;
- int failureType = 0;
-
- this->fp = fopen (this->videoFile, "r");
- if (this->fp == NULL)
- {
- fprintf (stderr, "error on opening video file %s", this->videoFile);
- perror ("");
- return 2;
- }
- if (fseek (this->fp, 0, 2) == -1)
- {
- fprintf (stderr, "File %s not seekable", this->videoFile);
- perror ("");
- return 3;
- }
- this->fileSize = ftell (this->fp);
-
- fseek (this->fp, 0, 0);
-
- if (ReadInfoFromFile ())
- {
- for (;;)
- {
- nextByte;
- if (state >= 0 && nb == 0x00)
- state ++;
- else if (state >= 2 && nb == 0x01)
- state = -1;
- else if (state == -1)
- {
- if (!first) first ++;
- else if (first == 1) first ++;
-
- switch (nb)
- {
- case 0xb7: /* seq_end_code */
- goto exit_phase1;
- break;
- case 0xb3: /* seq_start_code */
- if (first == 1) first = 3;
- if (first != 3)
- {
- fprintf (stderr, "VS error: given file is not in MPEG format.\n");
- return 4;
- }
- this->numS ++;
- break;
- case 0xb8: /* gop_start_code */
- this->numG ++;
- break;
- case 0x00: /* picture_start_code */
- nextByte;
- nextByte;
- nb &= 0x38;
- if (nb == 0x08)
- {
- this->numI ++;
- if (this->numG == 2)
- this->pattern[this->patternSize++] = 'I';
- }
- else if (nb == 0x10)
- {
- this->numP ++;
- if (this->numG == 2)
- this->pattern[this->patternSize++] = 'P';
- }
- else if (nb == 0x18)
- {
- this->numB ++;
- if (this->numG == 2)
- this->pattern[this->patternSize++] = 'B';
- }
- /*
- else
- fprintf (stderr, "VS error: unkonw picture type %d\n", nb);
- */
- break;
- default:
- break;
- }
- state = 0;
- }
- else
- state = 0;
- }
- exit_phase1:
-
- if (first != 3)
- {
- fprintf (stderr, "VS error: given file \"%s\" is not of MPEG format.\n", this->videoFile);
- return 4;
- }
-
- this->pattern[this->patternSize] = 0;
- memset (this->sendPattern, 1, PATTERN_SIZE);
-
- this->numF = this->numI + this->numP + this->numB;
- this->averageFrameSize = fileptr / (unsigned)this->numF;
- /*
- fprintf (stderr, "Pass one finished, total bytes read: %u, average frame size %d\n",
- fileptr, this->averageFrameSize);
- fprintf (stderr, "this->numS-%d, this->numG-%d, this->numF-%d, this->numI-%d, this->numP-%d, this->numB-%d\n",
- this->numS, this->numG, this->numI, this->numI, this->numP, this->numB);
- fprintf (stderr, "this->Pattern detected: %s\n", this->pattern);
- */
- if (this->numF > MAX_FRAMES)
- {
- fprintf (stderr, "VS error: this->Number of frames (%d) is bigger than MAX_FRAMES (%d).\n\
-you need to update the constant definition in common.h and recompile.\n",
- this->numF, MAX_FRAMES);
- return 5;
- }
-
-#ifdef STAT
- this->framesSent = (char *)malloc ((this->numF + 7)>>3);
- if (this->framesSent == NULL)
- {
- fprintf (stderr, "VS fails to alloc mem for this->framesSent for %d frames", this->numF);
- perror ("");
- return 6;
- }
-#endif
-
- this->systemHeader = (struct Video_Global::SystemHeader *)malloc (sizeof (struct Video_Global::SystemHeader) * this->numS);
- if (this->systemHeader == NULL)
- {
- perror ("VS error on malloc this->SystemHeader");
- return 7;
- }
- this->gopTable = (struct Video_Global::GopTable *)malloc (sizeof (struct Video_Global::GopTable) * this->numG);
- if (this->gopTable == NULL)
- {
- perror ("VS error on malloc GopHeader");
- return 8;
- }
- this->frameTable = (struct Video_Global::FrameTable *)malloc (sizeof (Video_Global::FrameTable) * this->numF);
- if (this->frameTable == NULL)
- {
- perror ("VS error on malloc this->frameTable");
- return 9;
- }
-
- rewind (this->fp);
- fileptr = 0;
- state = 0;
- inpic = 0;
- shptr = -1;
- gopptr = -1;
- ftptr = 0;
-
- for (;;)
- {
- nextByte;
- if (state >= 0 && nb == 0x00)
- state ++;
- else if (state >= 2 && nb == 0x01)
- state = -1;
- else if (state == -1)
- {
- switch (nb)
- {
- case 0xb7: /* seq_end_code */
- if (gopptr >= 0 && this->gopTable[gopptr].size == 0)
- this->gopTable[gopptr].size = fileptr - this->gopTable[gopptr].offset - 4;
- computePicSize;
- goto exit_phase2;
- break;
- case 0xb3: /* seq_start_code */
- if (gopptr >= 0 && this->gopTable[gopptr].size == 0)
- this->gopTable[gopptr].size = fileptr - this->gopTable[gopptr].offset - 4;
- computePicSize;
- shptr ++;
- this->systemHeader[shptr].offset = fileptr - 4;
- this->systemHeader[shptr].size = 0;
- break;
- case 0xb8: /* gop_start_code */
- if (this->systemHeader[shptr].size == 0)
- this->systemHeader[shptr].size =fileptr - this->systemHeader[shptr].offset - 4;
- if (gopptr >= 0 && this->gopTable[gopptr].size == 0)
- this->gopTable[gopptr].size = fileptr - this->gopTable[gopptr].offset - 4;
- computePicSize;
- gopptr ++;
- this->gopTable[gopptr].systemHeader = shptr;
- this->gopTable[gopptr].offset = fileptr - 4;
- this->gopTable[gopptr].headerSize = 0;
- this->gopTable[gopptr].size = 0;
- this->gopTable[gopptr].totalFrames = 0;
- this->gopTable[gopptr].previousFrames = gopptr ?
- (this->gopTable[gopptr - 1].totalFrames + this->gopTable[gopptr - 1].previousFrames) : 0;
-
- break;
- case 0x00: /* picture_start_code */
- if (this->gopTable[gopptr].headerSize == 0)
- {
- this->gopTable[gopptr].headerSize = fileptr - this->gopTable[gopptr].offset - 4;
- this->gopTable[gopptr].firstIoffset = fileptr - 4;
- }
- this->gopTable[gopptr].totalFrames ++;
- computePicSize;
- picptr = fileptr - 4;
- nextByte;
- nextByte;
- nb &= 0x38;
- if (nb == 0x08)
- {
- pictype = 'I';
- inpic = 1;
- }
- else if (nb == 0x10)
- {
- pictype = 'P';
- inpic = 1;
- }
- else if (nb == 0x18)
- {
- pictype = 'B';
- inpic = 1;
- }
- break;
- default:
-
- break;
- }
- state = 0;
- }
- else
- state = 0;
- }
-
- exit_phase2:
- for (shptr = 0; shptr<this->numS; shptr++)
- {
- this->maxS = max (this->maxS, this->systemHeader[shptr].size);
- this->minS = min (this->minS, this->systemHeader[shptr].size);
- }
- for (gopptr = 0; gopptr<this->numG; gopptr++)
- {
- this->maxG = max (this->maxG, this->gopTable[gopptr].headerSize);
- this->minG = min (this->minG, this->gopTable[gopptr].headerSize);
- }
- this->packetBufSize = this->maxS + this->maxG + max (this->maxI, max (this->maxP, this->maxB));
- this->packet = (VideoPacket *)malloc (sizeof (VideoMessage) + sizeof (VideoPacket) +
- this->packetBufSize);
- if (this->packet == NULL)
- {
- perror ("VS error on malloc this->packet buffer");
- return 10;
- }
- this->packet = (VideoPacket *) ((char *)this->packet + sizeof (VideoMessage));
- /*
- fprintf (stderr, "Pass 2 finished.\n");
- fprintf (stderr, "this->maxS-%d, this->maxG-%d, this->maxI-%d, this->maxP-%d, this->maxB-%d.\n", this->maxS, this->maxG, this->maxI, this->maxP, this->maxB);
- fprintf (stderr, "this->minS-%d, this->minG-%d, this->minI-%d, this->minP-%d, this->minB-%d.\n", this->minS, this->minG, this->minI, this->minP, this->minB);
- */
- /*
- {
- int i;
-
- fprintf (stderr, "id: offset size -- system header table:\n");
- for (i=0; i<this->numS; i++)
- fprintf (stderr, "%-3d %-9u %d\n", i, this->systemHeader[i].offset, this->systemHeader[i].size);
- fprintf (stderr,
- "id: header offset hdsize totSize frames preframs Ioffset Isize -- GOP\n");
- for (i=0; i<this->numG; i++)
- {
- fprintf (stderr, "%-4d %-8d %-8u %-8d %-8d %-8d %-8d %-8u %d\n",
- i,
- this->gopTable[i].this->systemHeader,
- this->gopTable[i].offset,
- this->gopTable[i].headerSize,
- this->gopTable[i].size,
- this->gopTable[i].totalFrames,
- this->gopTable[i].previousFrames,
- this->gopTable[i].firstIoffset,
- this->frameTable[this->gopTable[i].previousFrames].size
- );
- }
-
- fprintf (stderr, "\nframe information:");
- for (i=0; i<this->numF; i++)
- fprintf (stderr, "%c%c%-8d", (i%10 ? '\0' : '\n'), this->frameTable[i].type, this->frameTable[i].size);
- fprintf (stderr, "\n");
-
- }
- */
- fseek (this->fp, this->systemHeader[0].offset+4, 0);
- nextByte;
- this->horizontalSize = ((int)nb <<4) & 0xff0;
- nextByte;
- this->horizontalSize |= (nb >>4) & 0x0f;
- this->verticalSize = ((int)nb <<8) & 0xf00;
- nextByte;
- this->verticalSize |= (int)nb & 0xff;
- nextByte;
- this->pelAspectRatio = ((int)nb >> 4) & 0x0f;
- this->pictureRate = (int)nb & 0x0f;
- nextByte;
- nextByte;
- nextByte;
- this->vbvBufferSize = ((int)nb << 5) & 0x3e0;
- nextByte;
- this->vbvBufferSize |= ((int)nb >>3) & 0x1f;
- /*
- fprintf (stderr, "SysHeader info: hsize-%d, vsize-%d, pelAspect-%d, rate-%d, vbv-%d.\n",
- this->horizontalSize, this->verticalSize, this->pelAspectRatio, this->pictureRate, this->vbvBufferSize);
- */
- WriteInfoToFile ();
- }
-#if 0
- {
- int i, j = 20;
-
- for (i = this->numG - 1;; i --) {
- if (this->gopTable[i].offset < 4235260) {
- fprintf (stderr, "group %d: offset %ld\n", i, this->gopTable[i].offset);
- if (j -- == 0) break;
- }
- }
- /*
- for (i = 0; i < this->numG; i ++) {
- if (this->gopTable[i].previousFrames > 1800) {
- fprintf (stderr, "group %d: offset %ld pre-frames %d\n",
- i, this->gopTable[i].offset, this->gopTable[i].previousFrames);
- break;
- }
- }
- */
- }
-#endif
- {
- this->firstPatternSize = this->gopTable[0].totalFrames;
- this->firstSendPattern = (char *)malloc (this->firstPatternSize);
- if (this->firstSendPattern == NULL)
- {
- fprintf (stderr, "VS failed to allocate this->firstthis->Sendthis->Pattern for %d frames",
- this->firstPatternSize);
- perror ("");
- return 11;
- }
- }
- this->firstGopFrames = this->gopTable[0].totalFrames;
- return 0;
-}
-int
-Video_Global::play_send (int debug)
-{
- // ACE_DEBUG ((LM_DEBUG,"play_send: sending the frame \n"));
- int curGroup = Video_Timer_Global::timerGroup;
- int curFrame = Video_Timer_Global::timerFrame;
- int curHeader = Video_Timer_Global::timerHeader;
- char * sp;
-
- if (this->preGroup != curGroup ||
- curFrame != this->preFrame)
- {
- int sendStatus = -1;
- int frameStep = 1;
- if (debug)
- cerr << " curgroup = " << curGroup << endl ;
- if (curGroup == 0)
- {
-
- int i = curFrame + 1;
- while (i < this->firstPatternSize &&
- !this->firstSendPattern[i])
- {
- frameStep ++;
- i++;
- }
- }
- else /* (curGroup > 0) */
- {
- int i = curFrame + 1;
- sp = this->sendPattern + ((curGroup - 1) % this->sendPatternGops) * this->patternSize;
- while (i < this->patternSize && !sp[i])
- {
- frameStep ++;
- i++;
- }
- }
- if (curGroup == 0)
- {
- if (debug)
- cerr << "first : " <<
- this->firstSendPattern[curFrame] << endl;
- if (this->firstSendPattern[curFrame])
- sendStatus = 0;
- else /* (!this->firstthis->Sendthis->Pattern[curFrame]) */
- {
- int i = curFrame - 1;
- while (i > 0 && !this->firstSendPattern[i])
- i--;
- if (i > this->preFrame)
- /* the frame (curGroup, i) hasn't been sent yet */
- {
- sendStatus = 0;
- curFrame = i;
- }
- else
- sendStatus = -1;
- if (debug)
- cerr << "SendStatus = " << sendStatus << endl;
- }
- }
- else if (sp[curFrame]) /* curGroup > 0 */
- sendStatus = 0;
- else /* (!sp[curFrame]) */
- {
- int i = curFrame - 1;
- while (i > 0 && !sp[i])
- i--;
- if (curGroup == this->preGroup && i > this->preFrame)
- /* the frame (curGroup, i) hasn't been sent yet */
- {
- sendStatus = 0;
- curFrame = i;
- }
- else
- sendStatus = -1;
- }
- if (!sendStatus)
- {
- // Send the current video frame, calls send_to_network which
- // fragments and sends via blocking write .
- sendStatus = this->SendPacket (this->preHeader != curHeader,
- curGroup, curFrame,
- (this->currentUPF + this->addedUPF) * frameStep);
- if (sendStatus == -1)
- return -1;
- if (!sendStatus)
- {
- this->preHeader = curHeader;
- this->preGroup = curGroup;
- this->preFrame = curFrame;
-#ifdef STAT
- if (this->play_para.collectStat)
- {
- int f = this->gopTable[curGroup].previousFrames + curFrame;
- this->framesSent[f>>3] |= (1 << (f % 8));
- }
-#endif
- }
- }
- }
- return 0;
-}
-
-int
-Video_Global::fast_play_send (void)
-{
- if (this->fast_preGroup != Video_Timer_Global::timerGroup)
- {
- int result;
- result = this->SendPacket (this->fast_preHeader != Video_Timer_Global::timerHeader, Video_Timer_Global::timerGroup, 0,
- this->fast_para.usecPerFrame * this->patternSize >> 2);
- if (result == -1)
- return -1;
- this->fast_preHeader = Video_Timer_Global::timerHeader;
- this->fast_preGroup = Video_Timer_Global::timerGroup;
- }
- return 0;
-}
-
-int
-Video_Global::position (void)
-{
- int result;
- POSITIONpara pos_para;
- /*
- fprintf (stderr, "POSITION . . .\n");
- */
- result = CmdRead ((char *)&pos_para, sizeof (pos_para));
- if (result != 0)
- return result;
-
- if (this->live_source) return 0;
-
-#ifdef NeedByteOrderConversion
- pos_para.nextGroup = ntohl (pos_para.nextGroup);
- pos_para.sn = ntohl (pos_para.sn);
-#endif
-
- CheckGroupRange (pos_para.nextGroup);
- this->cmdsn = pos_para.sn;
- result = SendPacket (this->numS>1 || pos_para.nextGroup == 0, pos_para.nextGroup, 0, 0);
- return result;
-}
-
-int
-Video_Global::step_video ()
-{
- int group;
- STEPpara step_para;
- int tag = 0;
- int result;
-
- result = CmdRead ((char *)&step_para, sizeof (step_para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- step_para.sn = ntohl (step_para.sn);
- step_para.this->nextFrame = ntohl (step_para.this->nextFrame);
-#endif
-
- this->cmdsn = step_para.sn;
-
- if (!this->live_source) {
- if (step_para.nextFrame >= this->numF) /* send SEQ_END */
- {
- tag = 1;
- step_para.nextFrame --;
- }
- /*
- fprintf (stderr, "STEP . . .frame-%d\n", step_para.this->nextFrame);
- */
- CheckFrameRange (step_para.nextFrame);
- group = FrameToGroup (&step_para.nextFrame);
- if (this->precmd != CmdSTEP && !tag ) {
- result = SendReferences (group, step_para.nextFrame);
- if (result < 0 )
- return result;
- }
- }
- if (this->live_source) StartPlayLiveVideo ();
-
- if (this->live_source) {
- SendPicture (&step_para.nextFrame);
- }
- else if (this->video_format == VIDEO_MPEG1) {
- SendPacket (this->numS>1, group, tag ? this->numF : step_para.nextFrame, 0);
- }
- else {
- fprintf (stderr, "VS: wierd1\n");
- }
-
- if (this->live_source) StopPlayLiveVideo ();
- return 0;
-}
-
-int
-Video_Global::fast_forward (void)
-{
- // return this->init_fast_play ()
- return 0;
-}
-
-int
-Video_Global::fast_backward (void)
-{
-// return this->init_fast_play ();
- return 0;
-}
-
-int
-Video_Global::stat_stream (void)
-{
- int i, j = 0;
- for (i = 0; i < this->numF; i++)
- {
- short size = htons (this->frameTable[i].size);
- char type = this->frameTable[i].type;
- if (i == this->gopTable[j].previousFrames)
- {
- type = tolower (type);
- j ++;
- }
- CmdWrite ((char *)&type, 1);
- CmdWrite ((char *)&size, 2);
- }
- return 0;
-}
-
-int
-Video_Global::stat_sent (void)
-{
-#ifdef STAT
- CmdWrite ((char *)this->framesSent, (this->numF + 7) / 8);
-#else
- int i;
- char zeroByte = 0;
- for (i = 0; i < (this->numF + 7) / 8; i++)
- CmdWrite ((char *)&zeroByte, 1);
-#endif
- return 0;
-}
-
-int
-Video_Global::init_play (Video_Control::PLAYpara para,
- CORBA::Long_out vts)
-{
- // ~~ why do we need the play_para in Video_Global , why can't just use
- // the para that's passed.
- int result;
-
- ACE_DEBUG ((LM_DEBUG,
- " (%P|%t) Video_Global::init_play ()"));
-
- // this gets the parameters for the play command
- // result = this->CmdRead ((char *)&this->play_para, sizeof (this->play_para));
- // if (result != 0)
- // return result;
-
- // Assign the passed play
- this->play_para = para ;
-#ifdef NeedByteOrderConversion
- this->play_para.sn = ntohl (this->play_para.sn);
- this->play_para.nextFrame = ntohl (this->play_para.nextFrame);
- this->play_para.usecPerFrame = ntohl (this->play_para.usecPerFrame);
- this->play_para.framesPerSecond = ntohl (this->play_para.framesPerSecond);
- this->play_para.frameRateLimit1000 = ntohl (this->play_para.frameRateLimit1000);
- this->play_para.collectStat = ntohl (this->play_para.collectStat);
- this->play_para.sendPatternGops = ntohl (this->play_para.sendPatternGops);
- this->play_para.VStimeAdvance = ntohl (this->play_para.VStimeAdvance);
-#endif
-
- this->frameRateLimit = this->play_para.frameRateLimit1000 / 1000.0;
- this->cmdsn = this->play_para.sn;
- this->currentUPF = this->play_para.usecPerFrame;
- this->VStimeAdvance = this->play_para.VStimeAdvance;
-
- vts = get_usec ();
- // cerr << "vts is " << vts << endl;
- // begin evil code
- // {
- // int vts = get_usec ();
- // this->CmdWrite ((char *)&ts, sizeof (int));
- // }
- // end evil code
-
- if (this->live_source || this->video_format != VIDEO_MPEG1) {
- PLAYpara live_play_para; // xxx hack to compile the code
- if (this->live_source)
- this->PLAYliveVideo (&live_play_para);
- return 0;
- }
-
- fprintf (stderr, "this->VStimeAdvance from client: %d\n", this->VStimeAdvance);
-
- this->sendPatternGops = this->play_para.sendPatternGops;
- ComputeFirstSendPattern (this->frameRateLimit);
-#ifdef STAT
- if (this->play_para.collectStat)
- memset (this->framesSent, 0, (this->numF + 7)>>3);
-#endif
- CheckFrameRange (this->play_para.nextFrame);
- Video_Timer_Global::timerFrame = this->play_para.nextFrame;
- Video_Timer_Global::timerGroup = FrameToGroup (&Video_Timer_Global::timerFrame);
- Video_Timer_Global::timerHeader = this->gopTable[Video_Timer_Global::timerGroup].systemHeader;
- // memcpy (this->sendPattern, this->play_para.sendPattern, PATTERN_SIZE);
- // Do a sequence copy..
-
- for (int i=0; i<PATTERN_SIZE ; i++)
- this->sendPattern[i] = this->play_para.sendPattern[i];
- result = SendReferences (Video_Timer_Global::timerGroup, Video_Timer_Global::timerFrame);
- if (result < 0)
- return result;
- Video_Timer_Global::StartTimer ();
-
- // Sends the first frame of the video... not true anymore since the
- // user can position the stream anywhere and then call play.
- result = play_send (0);
- return 0;
-}
-
-CORBA::Boolean
-Video_Global::init_fast_play (const Video_Control::FFpara &ff_para )
-{
- // save the parameters for future reference
- this->fast_para = ff_para;
- int result;
-
- // result = CmdRead ((char *)&this->ff_para, sizeof (this->ff_para));
- // if (result != 0)
- // return result;
-
- if (this->live_source) return 0;
-
- this->VStimeAdvance = ff_para.VStimeAdvance;
- /*
- fprintf (stderr, "this->VStimeAdvance from client: %d\n", this->VStimeAdvance);
- */
- CheckGroupRange (ff_para.nextGroup);
- this->cmdsn = ff_para.sn;
- Video_Timer_Global::timerGroup = ff_para.nextGroup;
- Video_Timer_Global::timerFrame = 0;
- Video_Timer_Global::timerHeader = this->gopTable[Video_Timer_Global::timerGroup].systemHeader;
- this->currentUPF = ff_para.usecPerFrame;
- Video_Timer_Global::StartTimer ();
-
- fast_play_send ();
- return 0;
-}
-
-int
-Video_Global::init_video (void)
-{
- INITvideoPara para;
- int failureType = 0;
- int result;
- /*
- fprintf (stderr, "VS about to read Para.\n");
- */
- result = CmdRead ((char *)&para, sizeof (para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl (para.sn);
- para.version = ntohl (para.version);
- para.nameLength = ntohl (para.nameLength);
-#endif
- if (para.nameLength>0)
- {
- result = CmdRead (this->videoFile, para.nameLength);
- if (result != 0)
- return result;
- }
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit || para.version != VERSION) {
- char errmsg[128];
- this->cmd = CmdFAIL;
- CmdWrite ((char *)&this->cmd, 1);
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit) {
- sprintf (errmsg,
- "Too many sessions being serviced, please try again later.\n");
- }
- else {
- sprintf (errmsg, "Version # not match, VS %d.%02d, Client %d.%02d",
- VERSION / 100, VERSION % 100,
- para.version / 100, para.version % 100);
- }
- write_string (this->serviceSocket, errmsg);
- exit (0);
- }
- this->cmdsn = para.sn;
- /*
- fprintf (stderr, "MPEG file %s got.\n", this->videoFile);
- */
- this->videoFile[para.nameLength] = 0;
-
- if (!strncasecmp ("LiveVideo", this->videoFile, 9)) {
- if (OpenLiveVideo (&this->video_format, &this->horizontalSize,
- &this->verticalSize, &this->averageFrameSize,
- &this->fps, &this->pelAspectRatio) == -1) {
- failureType = 100;
- goto failure;
- }
- if (this->video_format == VIDEO_MPEG2) {
- failureType = 101;
- goto failure;
- }
- this->live_source = 1;
-
- this->fileSize =0x7fffffff;
- this->maxS = this->maxG = this->maxI = this->maxP = this->maxB = this->minS = this->minG = this->minI = this->minP = this->minB = 1;
- this->numS = this->numG = this->numF = this->numI = 0x7fffffff;
- this->numP = this->numB = 0;
- this->vbvBufferSize = 1;
- this->firstGopFrames = 1;
- this->patternSize = 1;
- this->pattern[0] = 'I';
- this->pattern[1] = 0;
- this->packetBufSize = this->verticalSize * this->horizontalSize * 3;
- this->packet = (VideoPacket *)malloc (sizeof (VideoMessage) + sizeof (VideoPacket) +
- this->packetBufSize);
- if (this->packet == NULL)
- {
- perror ("Error: VS error on malloc this->packet buffer");
- exit (1);
- }
- this->packet = (VideoPacket *) ((char *)this->packet + sizeof (VideoMessage));
-
- }
- else {
- static double pictureRateTable[] = {23.976, 24, 25, 29.97, 30, 50, 59.94, 60};
-
- this->video_format = VIDEO_MPEG1;
- failureType = init_MPEG1_video_file ();
- if (failureType) goto failure;
- this->fps = pictureRateTable[this->pictureRate - 1];
- }
-
- {
- INITvideoReply reply;
-
- reply.totalHeaders = htonl (this->numS);
- reply.totalGroups = htonl (this->numG);
- reply.totalFrames = htonl (this->numF);
- reply.sizeIFrame = htonl (this->maxI);
- reply.sizePFrame = htonl (this->maxP);
- reply.sizeBFrame = htonl (this->maxB);
- reply.sizeSystemHeader = htonl (this->maxS);
- reply.sizeGop = htonl (this->maxG);
- reply.averageFrameSize = htonl (this->averageFrameSize);
- reply.verticalSize = htonl (this->verticalSize);
- reply.horizontalSize = htonl (this->horizontalSize);
- reply.pelAspectRatio = htonl (this->pelAspectRatio);
- reply.pictureRate1000 = htonl ((int) (this->fps * 1000));
- reply.vbvBufferSize = htonl (this->vbvBufferSize);
- reply.firstGopFrames = htonl (this->firstGopFrames);
- reply.patternSize = htonl (this->patternSize);
- strncpy (reply.pattern, this->pattern, PATTERN_SIZE);
-
- reply.live = htonl (this->live_source);
- reply.format = htonl (this->video_format);
-
- CmdWrite ((char *)&this->cmd, 1);
-
- CmdWrite ((char *)&reply, sizeof (reply));
-
- /* write the first SH, GOP and IFrame to this->serviceSocket (TCP),
- using code for SendPacket () */
- {
- int tmpSocket = this->videoSocket;
-
- if (this->live_source) StartPlayLiveVideo ();
-
- this->videoSocket = this->serviceSocket;
-
- if (this->live_source) {
- int frame = 0;
- SendPicture (&frame);
- }
- else if (this->video_format == VIDEO_MPEG1) {
- SendPacket (1, 0, 0, 0);
- }
- else {
- fprintf (stderr, "VS: this->video_format %d not supported.\n",
- this->video_format);
- }
- this->videoSocket = tmpSocket;
-
- if (this->live_source) StopPlayLiveVideo ();
- }
-
- return 0;
-
- }
-failure:
- {
- char * msg;
- char errmsg[64];
- this->cmd = CmdFAIL;
- sprintf (errmsg, "VS failed to alloc internal buf (type %d)", failureType);
- CmdWrite ((char *)&this->cmd, 1);
- msg = failureType == 1 ? "not a complete MPEG stream" :
- failureType == 2 ? "can't open MPEG file" :
- failureType == 3 ? "MPEG file is not seekable" :
- failureType == 4 ? "not an MPEG stream" :
- failureType == 5 ?
- "too many frames in MPEG file, need change MAX_FRAMES and recompile VS" :
- failureType == 100 ? "failed to connect to live video source" :
- failureType == 101 ? "live MPEG2 not supported" :
- errmsg;
- write_string (this->serviceSocket, msg);
- exit (0);
- }
-}
-
-//--------------------------------------------------------
-// Video_Timer_Global methods
-void
-Video_Timer_Global::StartTimer (void)
-{
- VIDEO_SINGLETON::instance ()->addedUPF = 0;
- VIDEO_SINGLETON::instance ()->addedSignals = 0;
- timerAdjust = (VIDEO_SINGLETON::instance ()->VStimeAdvance * SPEEDUP_INV_SCALE) / VIDEO_SINGLETON::instance ()->currentUPF;
- /*
- SFprintf (stderr, "VS StartTimer (): fast-start frames %d\n",
- timerAdjust / SPEEDUP_INV_SCALE);
- */
- TimerSpeed ();
- // setsignal (SIGALRM, timerHandler);
- timerOn = 1;
- preTimerVal = get_usec ();
- /*
- fprintf (stderr, "VS: timer started at %d upf.\n", VIDEO_SINGLETON::instance ()->currentUPF + VIDEO_SINGLETON::instance ()->addedUPF);
- */
-}
-
-void
-Video_Timer_Global::StopTimer (void)
-{
- struct itimerval val;
- // ## I have to incorporate this logic into the changed code
- // setsignal (SIGALRM, SIG_IGN);
- val.it_interval.tv_sec = val.it_value.tv_sec = 0;
- val.it_interval.tv_usec = val.it_value.tv_usec = 0;
- setitimer (ITIMER_REAL, &val, NULL);
- timerOn = 0;
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Timer_Global::StopTimer: timer stopped\n"));
-}
-
-void
-Video_Timer_Global::TimerSpeed (void)
-{
- struct itimerval val;
- int usec = VIDEO_SINGLETON::instance ()->currentUPF + VIDEO_SINGLETON::instance ()->addedUPF;
- if (Mpeg_Global::drift_ppm) {
- /*
- int drift = (double)usec * (double)Mpeg_Global::drift_ppm / 1000000.0;
- SFprintf (stderr, "Mpeg_Global::drift_ppm %d, usec %d, drift %d, new usec %d\n",
- Mpeg_Global::drift_ppm, usec, drift, usec - drift);
- */
- usec -= (int) ((double)usec * (double)Mpeg_Global::drift_ppm / 1000000.0);
- }
- if (timerAdjust > 1)
- usec = (int) (((double)usec * (double) (SPEEDUP_INV_SCALE - 1)) /
- (double)SPEEDUP_INV_SCALE);
- val.it_interval.tv_sec = val.it_value.tv_sec = usec / 1000000;
- val.it_interval.tv_usec = val.it_value.tv_usec = usec % 1000000;
- setitimer (ITIMER_REAL, &val, NULL);
- /*
- SFprintf (stderr,
- "VS TimerSpeed () at %s speed, timerAdjust %d VIDEO_SINGLETON::instance ()->addedSignals %d.\n",
- (timerAdjust > 1) ? "higher" : "normal", timerAdjust, VIDEO_SINGLETON::instance ()->addedSignals);
- */
-
-}
-
-void
-Video_Timer_Global::TimerProcessing (void)
-{
- /*
- fprintf (stderr, "VS: timerHandler...\n");
- */
- if (!timerOn) {
- return;
- }
- if (timerAdjust < 0)
- {
- timerAdjust += SPEEDUP_INV_SCALE;
- return;
- }
- if (timerAdjust >0)
- {
- if ((--timerAdjust) == 0)
- TimerSpeed ();
- }
- if (VIDEO_SINGLETON::instance ()->cmd == CmdPLAY)
- {
- if (timerGroup == VIDEO_SINGLETON::instance ()->numG - 1 && timerFrame >= VIDEO_SINGLETON::instance ()->gopTable[timerGroup].totalFrames - 1)
- {
- timerFrame ++; /* force sending of END_SEQ when PLAY VIDEO_SINGLETON::instance ()->cmd */
- StopTimer ();
- return;
- }
- else
- {
- timerFrame ++;
- if (timerFrame >= VIDEO_SINGLETON::instance ()->gopTable[timerGroup].totalFrames)
- {
- timerGroup ++;
- timerFrame = 0;
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- }
- }
- }
- else {
- if (VIDEO_SINGLETON::instance ()->cmd == CmdFF) {
- if (timerGroup == VIDEO_SINGLETON::instance ()->numG - 1) {
- StopTimer ();
- return;
- }
- timerGroup ++;
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- }
- else {
- if (timerGroup == 0) {
- StopTimer ();
- return;
- }
- timerGroup --;
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- }
- }
-
-}
-
-void
-Video_Timer_Global::timerHandler (int sig)
-{
- // ACE_DEBUG ((LM_DEBUG,
- // "Video_Timer_Global::timerHandler\n"));
-
- int val2, val3;
- int usec = VIDEO_SINGLETON::instance ()->currentUPF + VIDEO_SINGLETON::instance ()->addedUPF;
-
- if (Mpeg_Global::drift_ppm) {
- usec -= (int) ((double)usec * (double)Mpeg_Global::drift_ppm / 1000000.0);
- }
-
- if (timerAdjust > 1)
- usec = (int) (((double)usec * (double) (SPEEDUP_INV_SCALE - 1)) /
- (double)SPEEDUP_INV_SCALE);
- val3 = get_duration (preTimerVal, (val2 = get_usec ()));
- /*
- if (val3 >= usec<< 1))
- fprintf (stderr, "Slower: %d out of VIDEO_SINGLETON::instance ()->currentUPF %d.\n",
- val3, usec);
- else
- fprintf (stderr, "+\n");
- */
- preTimerVal = val2;
- if (val3 < 0 || val3 > 100000000)
- val3 = usec;
- val2 = (val3 + (usec>>1)) / usec;
- if (val2 < 0) val2 = 0;
- if (val2) {
- TimerProcessing ();
- val2 --;
- }
- VIDEO_SINGLETON::instance ()->addedSignals += val2;
-
- if (VIDEO_SINGLETON::instance ()->addedSignals) {
- val2 = timerAdjust;
- if (timerAdjust < MAX_TIMER_ADJUST) {
- timerAdjust += VIDEO_SINGLETON::instance ()->addedSignals * SPEEDUP_INV_SCALE;
- if (val2 < SPEEDUP_INV_SCALE) {
- TimerSpeed ();
- }
- }
- else {
- /*
- fprintf (stderr, "VS timerAdjust %d, VIDEO_SINGLETON::instance ()->addedSignals %d, timerFrame %d\n",
- timerAdjust, VIDEO_SINGLETON::instance ()->addedSignals, timerFrame);
- */
- for (val3 = 0; val3 < VIDEO_SINGLETON::instance ()->addedSignals; val3 ++)
- TimerProcessing ();
- }
- VIDEO_SINGLETON::instance ()->addedSignals = 0;
- }
-}
-
-// send the first packet, given by packet pointed by
-// 'this->packet' to the network.
-int
-Video_Global::send_to_network (int timeToUse)
-{
- int count = 0;
- VideoMessage * msghd = (VideoMessage *) (((char *) this->packet) - sizeof (VideoMessage));
- int sent = 0;
- int packetSize = ntohl (this->packet->dataBytes);
-
- msghd->packetsn = htonl (this->packetsn ++);
- msghd->packetSize = htonl (packetSize + sizeof (* this->packet));
-
- // fprintf (stderr, "VS to send pkt %d of size %d.\n",
- // ntohl (msghd->packetsn), ntohl (msghd->packetSize));
-
-
- {
- VideoMessage * msg = NULL;
- int size = packetSize + sizeof (* this->packet); /* msghd->this->packetSize */
- int offset = 0;
- int targetTime;
-
- if (size > this->msgsize)
- {
- if (!timeToUse)
- {
- timeToUse = (this->msgsize + sizeof (*msg) + 28) * 2;
- /*
- set the max network as 500KB.
- 28 - UDP header size
- */
- /*
- fprintf (stderr, "computed timeToUse %d. ", timeToUse);
- */
- }
- else
- {
- timeToUse = (timeToUse * 7) >> 3;
- /*
- fprintf (stderr, "preset timeToUse %d.", timeToUse);
- */
- timeToUse /= (size + this->msgsize - 1) / this->msgsize;
- timeToUse = min (timeToUse, (this->msgsize + sizeof (*msg) + 28) * 100);
- /* limit min network bandwidth = 10K */
- }
-
- }
- while (size > 0)
- {
- int segsize, sentsize;
- int resent = 0;
-
- if (msg == NULL) { /* first message for current this->packet */
- count = 0;
- msg = msghd;
- targetTime = get_usec ();
- }
- else {
-#if 0
- /* the select () is not precise enough for being used here*/
- int sleepTime;
- targetTime += timeToUse;
- sleepTime = get_duration (get_usec (), targetTime);
- if (sleepTime >= 5000) { /* resolution of timer is 10,000 usec */
- usleep (sleepTime); /* not first message, wait for a while */
- }
-#endif
- /*
- count ++;
- if (! (count % 10)) usleep (10000);
- */
- msg = (VideoMessage *) ((char *)msg + this->msgsize);
- memcpy ((char *)msg, (char *)msghd, sizeof (* msg));
- }
- msg->msgsn = htonl (this->msgsn++);
- msg->msgOffset = htonl (offset);
- msg->msgSize = htonl (min (size, this->msgsize));
-
- segsize = min (size, this->msgsize)+sizeof (*msg);
- if (this->conn_tag != 0) { /* this->packet stream */
- // cerr << "sending " << segsize << " on fd = " << this->videoSocket << endl;
- while ((sentsize = write (this->videoSocket, (char *)msg, segsize)) == -1) {
- if (errno == EINTR)
- continue;
- if (errno == ENOBUFS) {
- if (resent) {
- perror ("Warning, pkt discarded because");
- sent = -1;
- break;
- }
- else {
- resent = 1;
- perror ("VS to sleep 5ms");
- usleep (5000);
- continue;
- }
- }
- if (errno != EPIPE) {
- fprintf (stderr, "VS error on send this->packet %d of size %d ",
- this->msgsn-1, min (size, this->msgsize)+sizeof (*msg));
- perror ("");
- }
- exit (errno != EPIPE);
- }
- }
- else {
- sentsize = wait_write_bytes (this->videoSocket, (char *)msg, segsize);
- if (sentsize == -1) {
- if (errno != EPIPE) {
- fprintf (stderr, "VS error on send this->packet %d of size %d ",
- this->msgsn-1, min (size, this->msgsize)+sizeof (*msg));
- perror ("");
- }
- exit (errno != EPIPE);
- }
- }
- if (sentsize < segsize) {
- SFprintf (stderr, "VS warning: message size %dB, sent only %dB\n",
- segsize, sentsize);
- }
- if (sent == -1)
- break;
- /*
- fprintf (stderr, "VS: message %d of size %d sent.\n",
- this->msgsn-1, min (size, this->msgsize)+sizeof (*msg));
- */
- size -= this->msgsize;
- offset += this->msgsize;
- }
- }
- /*
- fprintf (stderr, "sent = %d\n", sent);
- */
- if (!sent) this->pkts_sent ++;
- return sent;
-}
-
-
-Audio_Global::Audio_Global (void)
- :state (AUDIO_WAITING),
- addSamples (0),
- nextTime (0),
- upp (0),
- delta_sps (0),
- bytes_sent (0),
- start_time (0),
- conn_tag (0),
- serviceSocket (-1),
- audioSocket (-1),
- fd (0),
- totalSamples (0),
- fileSize (0),
- cmd (0),
- live_source (0),
- databuf_size (0),
- cmdsn (0),
- nextsample (0),
- sps (0),
- spslimit (0),
- spp (0),
- pktbuf (0),
- fbpara (0)
-{
-}
-
-int
-Audio_Global::CmdRead(char *buf, int psize)
-{
- int res = wait_read_bytes(serviceSocket, buf, psize);
- if (res == 0) return (1);
- if (res == -1) {
- fprintf(stderr, "AS error on read cmdSocket, size %d", psize);
- perror("");
- return (-1);
- }
- return 0;
-}
-
-void
-Audio_Global::CmdWrite(char *buf, int size)
-{
- int res = wait_write_bytes(serviceSocket, buf, size);
- if (res == -1) {
- if (errno != EPIPE) perror("AS writes to serviceSocket");
- exit(errno != EPIPE);
- }
-}
-
-int
-Audio_Global::INITaudio(void)
-{
- int result;
- int failureType; /* 0 - can't open file, 1 - can't open live source */
- INITaudioPara para;
-
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.version = ntohl(para.version);
- para.nameLength = ntohl(para.nameLength);
- para.para.encodeType = ntohl(para.para.encodeType);
- para.para.channels = ntohl(para.para.channels);
- para.para.samplesPerSecond = ntohl(para.para.samplesPerSecond);
- para.para.bytesPerSample = ntohl(para.para.bytesPerSample);
-#endif
- if (para.nameLength>0)
- result = CmdRead(audioFile, para.nameLength);
- if (result != 0)
- return result;
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit || para.version != VERSION) {
- char errmsg[128];
- cmd = CmdFAIL;
- CmdWrite((char *)&cmd, 1);
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit) {
- sprintf(errmsg,
- "Too many sessions being serviced, please try again later.\n");
- }
- else {
- sprintf(errmsg, "Version # not match, AS %d.%02d, Client %d.%02d",
- VERSION / 100, VERSION % 100,
- para.version / 100, para.version % 100);
- }
- write_string(serviceSocket, errmsg);
- return(1);
- }
- memcpy(&audioPara, &para.para, sizeof(audioPara));
- /*
- fprintf(stderr, "Client Audio para: encode %d, ch %d, sps %d, bps %d.\n",
- para.para.encodeType, para.para.channels,
- para.para.samplesPerSecond, para.para.bytesPerSample);
- */
- audioFile[para.nameLength] = 0;
- {
- int len = strlen(audioFile);
- if (strncasecmp("LiveAudio", audioFile, 9) &&
- strcasecmp(".au", audioFile+len-3)) {
- char errmsg[128];
- cmd = CmdFAIL;
- CmdWrite((char *)&cmd, 1);
- sprintf(errmsg, "%s without suffix .au", audioFile);
- write_string(serviceSocket, errmsg);
- return(1);
- }
- }
- /*
- fprintf(stderr, "Audio file %s got.\n", audioFile);
- */
-
- if (!strncasecmp("LiveAudio", audioFile, 9)) {
- fd = OpenLiveAudio(&(para.para));
- if (fd == -1) {
- failureType = 1;
- goto failure;
- }
- fileSize =0x7fffffff;
- totalSamples = fileSize / audioPara.bytesPerSample;
- live_source = 1;
- }
- else {
- LeaveLiveAudio();
- fd = open(audioFile, O_RDONLY);
- if (fd == -1)
- {
- fprintf(stderr, "AS error on opening audio file %s", audioFile);
- perror("");
- failureType = 0;
- goto failure;
- }
-
- /* Try to get audioFile format audioPara here */
-
- /* figure out totalsamples */
- fileSize = lseek(fd, 0L, SEEK_END);
- lseek(fd, 0L, SEEK_SET);
- totalSamples = fileSize / audioPara.bytesPerSample;
- /*
- fprintf(stderr, "Total Samples=%d in audio file %ss.\n", totalSamples, audioFile);
- */
- }
- {
- INITaudioReply reply;
-
- reply.para.encodeType = htonl(audioPara.encodeType);
- reply.para.channels = htonl(audioPara.channels);
- reply.para.samplesPerSecond = htonl(audioPara.samplesPerSecond);
- reply.para.bytesPerSample = htonl(audioPara.bytesPerSample);
- reply.totalSamples = htonl(totalSamples);
-
- reply.live = htonl(live_source);
- reply.format = htonl(AUDIO_RAW);
-
- CmdWrite((char *)&cmd, 1);
- CmdWrite((char *)&reply, sizeof(reply));
- }
- return 0;
-
- failure:
- {
- /*
- fprintf(stderr, "AS error: failed initializing audio file.\n");
- */
- cmd = CmdFAIL;
- CmdWrite((char *)&cmd, 1);
- write_string(serviceSocket,
- failureType == 0 ? "Failed to open audio file for read." :
- "Failed to connect to live audio source.");
- return(1);
- }
-}
-
-/* send a packet of audio samples to audioSocket
- returns: 0 - no more data from audio file: EOF reached;
- 1 - More data is available from the audio file */
-int
-Audio_Global::send_packet (int firstSample, int samples)
-{
- // ACE_DEBUG ((LM_DEBUG,"(%P|%t) send_packet called\n"));
- long offset = firstSample * audioPara.bytesPerSample;
- int size = samples * audioPara.bytesPerSample;
- char * buf = (char *)pktbuf + sizeof(*pktbuf);
- int len;
- int resent = 0;
- int segsize, sentsize;
-
- if (live_source) {
- len = ReadLiveAudioSamples(buf, samples);
- len *= audioPara.bytesPerSample;
- }
- else {
- lseek(fd, offset, SEEK_SET);
- while ((len = read(fd, buf, size)) == -1) {
- if (errno == EINTR)
- continue; /* interrupted */
- perror("AS error on read audio file");
- return(-1);
- }
- if (len < audioPara.bytesPerSample) {
- return 0;
- }
- }
-
- samples = len / audioPara.bytesPerSample;
- len = samples * audioPara.bytesPerSample;
- bytes_sent += len;
- pktbuf->firstSample = htonl(firstSample);
- pktbuf->samples = htonl(samples);
- pktbuf->actualSamples = htonl(samples);
- pktbuf->dataBytes = htonl(len);
- if (spslimit < sps) { /* interpolation needed */
- SFprintf(stderr, "AS audio sample interpolation not available yet.\n");
- }
- segsize = sizeof(*pktbuf) + len;
- if (conn_tag != 0) {
- while ((sentsize = write(audioSocket, (char *)pktbuf, segsize)) == -1) {
- if (errno == EINTR) /* interrupted */
- continue;
- if (errno == ENOBUFS) {
- if (resent) {
- perror("AS Warning, pkt discarded because");
- break;
- }
- else {
- resent = 1;
- usleep(5000);
- continue;
- }
- }
- if (errno != EPIPE) {
- fprintf(stderr, "AS error on send audio packet %d(%d):",
- firstSample, samples);
- perror("");
- }
- exit((errno != EPIPE));
- }
- }
- else {
- sentsize = wait_write_bytes(audioSocket, (char *)pktbuf, segsize);
- if (sentsize == -1) {
- if (errno != EPIPE) {
- fprintf(stderr, "AS error on send audio packet %d(%d):",
- firstSample, samples);
- perror("");
- }
- exit((errno != EPIPE));
- }
- }
- if (sentsize < segsize) {
- SFprintf(stderr, "AS warning: message size %dB, sent only %dB\n",
- segsize, sentsize);
- }
- /*
- SFprintf(stderr, "AS sent audio packet %d(%d).\n",
- firstSample, samples);
- */
- return (len < size ? 0 : 1);
-}
-
-/* send a packet of audio samples to audioSocket
- returns: 0 - no more data from audio file: EOF reached;
- 1 - More data is available from the audio file */
-int
-Audio_Global::SendPacket (void)
-{
- int moredata;
- pktbuf->cmdsn = htonl(cmdsn);
- pktbuf->resend = htonl(0);
- pktbuf->samplesPerSecond = htonl(sps);
- moredata = send_packet(nextsample, spp);
- if (moredata)
- {
- nextsample += spp;
- }
- return moredata;
-}
-
-void
-Audio_Global::ResendPacket (int firstsample, int samples)
-{
- pktbuf->cmdsn = htonl(cmdsn);
- pktbuf->resend = htonl(1);
- pktbuf->samplesPerSecond = htonl(sps);
- while (samples > 0) {
- int size = samples < spp ? samples : spp;
- send_packet(firstsample, size);
- firstsample += size;
- samples -= size;
- if (samples > 0) {
- usleep(10000);
- }
- }
-}
-
-#if 0
-int
-Audio_Global::PLAYaudio(void)
-{
- int hasdata = 1;
- int addSamples;
- int packets = 0;
- unsigned nextTime;
- int upp; /* micro-seconds per packet */
- int delta_sps = 0; /* compensation for sps from feedback msgs */
- int nfds = (serviceSocket > audioSocket ? serviceSocket : audioSocket) + 1;
- int result;
- /*
- fprintf(stderr, "PLAY . . .\n");
- */
- {
- PLAYaudioPara para;
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.nextSample = ntohl(para.nextSample);
- para.samplesPerSecond = ntohl(para.samplesPerSecond);
- para.samplesPerPacket = ntohl(para.samplesPerPacket);
- para.ABsamples = ntohl(para.ABsamples);
- para.spslimit = ntohl(para.spslimit);
-#endif
- nextsample = para.nextSample;
- cmdsn = para.sn;
- sps = para.samplesPerSecond;
- spslimit = para.spslimit;
- spp = para.samplesPerPacket;
- addSamples = para.ABsamples / 2;
- if (spp * audioPara.bytesPerSample > databuf_size) {
- spp = databuf_size / audioPara.bytesPerSample;
- }
- /*
- SFprintf(stderr, "AS got CmdPLAY: sps %d\n", sps);
- */
- }
- /*
- fprintf(stderr, "AS: nextSampe=%d for PLAY.\n", para.nextSample);
- */
-
- upp = (int)(1000000.0 / ((double)sps / (double)spp));
- nextTime = get_usec();
-
- CmdWrite((char *)&nextTime, sizeof(int));
-
- if (live_source) {
- StartPlayLiveAudio();
- }
-
- for (;;)
- {
- struct fd_set read_mask, write_mask;
- struct timeval tval;
- unsigned curTime = get_usec();
-
- if (hasdata) {
- if (addSamples < - spp) { /* slow down by not sending packets */
- nextTime += upp;
- addSamples += spp;
- }
- else {
- int need_sleep = 0;
- while (nextTime <= curTime && hasdata) {
- if (need_sleep) usleep(5000);
- hasdata = SendPacket();
- need_sleep = 1;
- packets ++;
- nextTime += upp;
- if (addSamples > 0 && packets % SPEEDUP_SCALE == 0) {
- addSamples -= spp;
- usleep(5000);
- hasdata = SendPacket();
- packets ++;
- }
- }
- }
- }
- curTime = nextTime - curTime;
- if (curTime > 5000000) curTime = 5000000; /* limit on 5 second weit time
- in case error happens */
- tval.tv_sec = curTime / 1000000;
- tval.tv_usec = curTime % 1000000;
- FD_ZERO(&read_mask);
- FD_SET(serviceSocket, &read_mask);
- FD_SET(audioSocket, &read_mask);
-#ifdef _HPUX_SOURCE
- if (select(nfds, (int *)&read_mask, NULL, NULL, hasdata ? &tval : NULL) == -1)
-#else
- if (select(nfds, &read_mask, NULL, NULL, hasdata ? &tval : NULL) == -1)
-#endif
- {
- if (errno == EINTR)
- continue;
- perror("AS error on select reading or writing");
- return(-1);
- }
- if (FD_ISSET(serviceSocket, &read_mask)){ /* STOP, SPEED, or CLOSE*/
- unsigned char tmp;
- result = CmdRead((char *)&tmp, 1);
- if (result != 0)
- return result;
- switch (tmp)
- {
- case CmdSPEED:
- {
- SPEEDaudioPara para;
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.samplesPerSecond = ntohl(para.samplesPerSecond);
- para.samplesPerPacket = ntohl(para.samplesPerPacket);
- para.spslimit = ntohl(para.spslimit);
-#endif
- sps = para.samplesPerSecond;
- spslimit = para.spslimit;
- spp = para.samplesPerPacket;
- if (spp * audioPara.bytesPerSample > databuf_size) {
- spp = databuf_size / audioPara.bytesPerSample;
- }
- delta_sps = 0; /* reset compensation value */
- upp = (int)(1000000.0 / ((double)sps / (double)spp));
- /*
- SFprintf(stderr, "AS got CmdSPEED: sps %d\n", sps);
- */
- }
- break;
- case CmdSTOP:
- {
- int val;
- cmd = tmp;
- /*
- fprintf(stderr, "AS: CmdSTOP. . .\n");
- */
- result = CmdRead((char *)&val, sizeof(int));
- if (result != 0)
- return result;
- /*
- CmdWrite(AUDIO_STOP_PATTERN, strlen(AUDIO_STOP_PATTERN));
- */
- if (live_source) {
- StopPlayLiveAudio();
- }
- return 0; /* return from PLAYaudio() */
- }
- case CmdCLOSE:
- if (live_source) {
- StopPlayLiveAudio();
- }
- return(1); /* The whole AS session terminates */
- default:
- if (live_source) {
- StopPlayLiveAudio();
- }
- fprintf(stderr, "AS error: cmd=%d while expects STOP/SPEED/CLOSE.\n", tmp);
- return(-1);
- }
- }
-
- if (FD_ISSET(audioSocket, &read_mask)){ /* Feedback packet */
- int bytes, len;
- for (;;) {
- if (conn_tag >= 0) {
- len = wait_read_bytes(audioSocket, (char *)fbpara, sizeof(*fbpara));
- if (len == 0) return(1); /* connection broken */
- else if (len < 0) { /* unexpected error */
- perror("AS read1 FB");
- return(-1);
- }
- }
- else { /* discard mode packet stream, read the whole packet */
- len = read(audioSocket, (char *)fbpara, FBBUF_SIZE);
- }
- if (len == -1) {
- if (errno == EINTR) continue; /* interrupt */
- else {
- if (errno != EPIPE && errno != ECONNRESET) perror("AS failed to read() fbmsg header");
- break;
- }
- }
- break;
- }
- if (len < sizeof(*fbpara)) {
- if (len > 0) fprintf(stderr,
- "AS warn read() len %dB < sizeof(*fbpara) %dB\n",
- len, sizeof(*fbpara));
- continue;
- }
-#ifdef NeedByteOrderConversion
- fbpara->type = ntohl(fbpara->type);
-#endif
- bytes = (fbpara->type > 0) ?
- sizeof(APdescriptor) * (fbpara->type - 1) :
- 0;
- if (bytes > 0) {
- if (conn_tag >= 0) { /* not discard mode packet stream,
- read the rest of packet */
- len = wait_read_bytes(audioSocket,
- ((char *)fbpara) + sizeof(*fbpara),
- bytes);
- if (len == 0) return(1); /* connection broken */
- else if (len < 0) { /* unexpected error */
- perror("AS read2 FB");
- return(-1);
- }
- len += sizeof(*fbpara);
- }
- }
- bytes += sizeof(*fbpara);
- if (len < bytes) {
- if (len > 0) fprintf(stderr,
- "AS only read partial FBpacket, %dB out of %dB.\n",
- len, bytes);
- continue;
- }
- if (live_source) { /* ignore all feedback messags for live source */
- continue;
- }
-
-#ifdef NeedByteOrderConversion
- fbpara->cmdsn = ntohl(fbpara->cmdsn);
-#endif
- if (len != sizeof(*fbpara) +
- (fbpara->type ? (fbpara->type -1) * sizeof(APdescriptor) : 0)) {
- /* unknown message, discard */
- SFprintf(stderr, "AS Unkown fb msg: len = %d, type = %d\n",
- len, fbpara->type);
- continue;
- }
- if (fbpara->cmdsn != cmdsn) { /* discard the outdated message */
- continue;
- }
-#ifdef NeedByteOrderConversion
- {
- int i, * ptr = (int *)fbpara + 2;
- for (i = 0; i < (len >> 2) - 2; i++) *ptr = ntohl(*ptr);
- }
-#endif
- if (fbpara->type == 0) { /* feedback message */
- /*
- SFprintf(stderr, "AS got fbmsg: addsamples %d, addsps %d\n",
- fbpara->data.fb.addSamples, fbpara->data.fb.addsps);
- */
- addSamples += fbpara->data.fb.addSamples;
- if (fbpara->data.fb.addsps) {
- delta_sps += fbpara->data.fb.addsps;
- upp = (int)(1000000.0 / ((double)(sps + delta_sps) / (double)spp));
- }
- }
- else { /* resend requests */
- APdescriptor * req = &(fbpara->data.ap);
- int i;
- /*
- SFprintf(stderr, "AS got %d resend reqs\n", fbpara->type);
- */
- for (i = 0; i < fbpara->type; i ++) {
- ResendPacket(req->firstSample, req->samples);
- req ++;
- }
- }
- }
- }
-}
-#endif
-
-// our version of play audio.
-int
-Audio_Global::play_audio(void)
-{
- int result;
-
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) play_audio () called \n"));
-
- {
- PLAYaudioPara para;
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.nextSample = ntohl(para.nextSample);
- para.samplesPerSecond = ntohl(para.samplesPerSecond);
- para.samplesPerPacket = ntohl(para.samplesPerPacket);
- para.ABsamples = ntohl(para.ABsamples);
- para.spslimit = ntohl(para.spslimit);
-#endif
- nextsample = para.nextSample;
- cmdsn = para.sn;
- sps = para.samplesPerSecond;
- spslimit = para.spslimit;
- spp = para.samplesPerPacket;
- addSamples = para.ABsamples / 2;
- if (spp * audioPara.bytesPerSample > databuf_size) {
- spp = databuf_size / audioPara.bytesPerSample;
- }
- /*
- SFprintf(stderr, "AS got CmdPLAY: sps %d\n", sps);
- */
- }
- /*
- fprintf(stderr, "AS: nextSampe=%d for PLAY.\n", para.nextSample);
- */
-
- upp = (int)(1000000.0 / ((double)sps / (double)spp));
- nextTime = get_usec();
-
- CmdWrite((char *)&nextTime, sizeof(int));
- if (live_source) {
- StartPlayLiveAudio();
- }
- this->send_audio ();
-}
-
-int
-Audio_Global::send_audio (void)
-{
- unsigned curTime = get_usec();
-
- if (hasdata) {
- if (addSamples < - spp) { /* slow down by not sending packets */
- /* ACE_DEBUG ((LM_DEBUG,"(%P|%t) slow down by not sending\n")); */
- nextTime += upp;
- addSamples += spp;
- }
- else {
- /* ACE_DEBUG ((LM_DEBUG,"(%P|%t) sending."
- "nexttime = %d, curTime = %d, hasdata = %d\n",
- nextTime, curTime, hasdata)); */
- int need_sleep = 0;
- while ( (nextTime <= curTime) && (hasdata)) {
- if (need_sleep) usleep(5000);
- hasdata = SendPacket();
- need_sleep = 1;
- packets ++;
- nextTime += upp;
- if (addSamples > 0 && packets % SPEEDUP_SCALE == 0) {
- addSamples -= spp;
- usleep(5000);
- hasdata = SendPacket();
- packets ++;
- }
- }
- }
- }
- curTime = nextTime - curTime;
- if (curTime > 5000000) curTime = 5000000; /* limit on 5 second weit time
- in case error happens */
- tval.tv_sec = curTime / 1000000;
- tval.tv_usec = curTime % 1000000;
-
- if (hasdata)
- {
- // schedule a sigalrm to simulate select timeout.
- ACE_Time_Value tv (tval);
- ACE_OS::ualarm (tv,0);
- }
- return 0;
-}
-
-
-void
-Audio_Global::on_exit_routine(void)
-{
- struct sockaddr_in peeraddr_in;
- int size = sizeof(peeraddr_in);
-
- /*
- fprintf(stderr, "An AS session terminated\n");
- */
- if (getpeername(serviceSocket,
- (struct sockaddr *)&peeraddr_in, &size) == 0 &&
- peeraddr_in.sin_family == AF_INET) {
- if (strncmp(inet_ntoa(peeraddr_in.sin_addr), "129.95.50", 9)) {
- struct hostent *hp;
- time_t val = time(NULL);
- char * buf = ctime(&start_time);
-
- hp = gethostbyaddr((char *)&(peeraddr_in.sin_addr), 4, AF_INET);
- buf[strlen(buf)-1] = 0;
- printf("%s: %s %3dm%02ds %dB %s\n",
- buf,
- hp == NULL ? inet_ntoa(peeraddr_in.sin_addr) : hp->h_name,
- (val - start_time) / 60, (val - start_time) % 60,
- bytes_sent, audioFile);
- }
- }
- ComCloseConn(serviceSocket);
- ComCloseConn(audioSocket);
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h
deleted file mode 100644
index c7740c4ccda..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h
+++ /dev/null
@@ -1,399 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#ifndef MPEG_GLOBAL_H
-#define MPEG_GLOBAL_H
-
-#include "ace/SOCK_CODgram.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-// Global symbols, these need to become enums eventually.
-
-#define SESSION_NUM 4
-#define CONN_INET 1
-#define CONN_UNIX 2
-#define CONN_ATM 3
-
-#define SERVER_FDTABLE_SIZE 50
-#define CLIENT_FDTABLE_SIZE 10
-
-#define STATE_PENDING 1
-#define STATE_CONTROL 2
-#define STATE_DATA 3
-#define STATE_SINGLE 4
-
-#define min(a, b) ((a) > (b) ? (b) : (a))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-/* Start codes. */
-
-#define READ_BLOCK_SIZE 512
-#define MAX_TIMER_ADJUST (100 * SPEEDUP_INV_SCALE)
-
-#define SEQ_END_CODE 0x000001b7
-#define SEQ_START_CODE 0x000001b3
-#define GOP_START_CODE 0x000001b8
-#define PICTURE_START_CODE 0x00000100
-#define SLICE_MIN_START_CODE 0x00000101
-#define SLICE_MAX_START_CODE 0x000001af
-#define EXT_START_CODE 0x000001b5
-#define USER_START_CODE 0x000001b2
-
-// Global definitions
-#define nextByte {int val; fileptr ++; \
- if ((val = getc(VIDEO_SINGLETON::instance ()->fp)) == EOF) \
- {\
- perror("Crossed EOF or error while scanning"); \
- return 1; \
- } nb = val;}
-
-#define computePicSize \
- if (inpic) \
- { \
- if (pictype == 'I') \
- { \
- VIDEO_SINGLETON::instance ()->maxI = max(VIDEO_SINGLETON::instance ()->maxI, (int)(fileptr - picptr - 4)); \
- VIDEO_SINGLETON::instance ()->minI = min(VIDEO_SINGLETON::instance ()->minI, (int)(fileptr - picptr - 4)); \
- } \
- else if (pictype == 'P') \
- { \
- VIDEO_SINGLETON::instance ()->maxP = max(VIDEO_SINGLETON::instance ()->maxP, (int)(fileptr - picptr - 4)); \
- VIDEO_SINGLETON::instance ()->minP = min(VIDEO_SINGLETON::instance ()->minP, (int)(fileptr - picptr - 4)); \
- } \
- else \
- { \
- VIDEO_SINGLETON::instance ()->maxB = max(VIDEO_SINGLETON::instance ()->maxB, (int)(fileptr - picptr - 4)); \
- VIDEO_SINGLETON::instance ()->minB = min(VIDEO_SINGLETON::instance ()->minB, (int)(fileptr - picptr - 4)); \
- } \
- VIDEO_SINGLETON::instance ()->frameTable[ftptr].type = pictype; \
- VIDEO_SINGLETON::instance ()->frameTable[ftptr++].size = (int)(fileptr - picptr - 4); \
- inpic = 0; \
- }
-
-
-#define FileRead(position, buf, size) \
- { \
- if (fseek(VIDEO_SINGLETON::instance ()->fp, (position), 0) == -1) \
- { \
- perror("VS error on fseek VideoFile"); \
- return (-1); \
- } \
- while (fread((buf), (size), 1, VIDEO_SINGLETON::instance ()->fp) == 0) \
- { if (errno == EINTR) { errno = 0; continue;}\
- perror("VS error on fread VideoFile"); \
- return (-1); \
- } \
- }
-
-#define CheckFrameRange(pnextFrame) \
-{ if ((pnextFrame) < 0 || (pnextFrame) >= VIDEO_SINGLETON::instance ()->numF) \
- { fprintf(stderr, "VS: %d.VIDEO_SINGLETON::instance ()->nextFrame(%d) out of range (%d).\n", VIDEO_SINGLETON::instance ()->cmd, (pnextFrame), VIDEO_SINGLETON::instance ()->numF); \
- return 0; } }
-
-#define CheckGroupRange(pnextGroup) \
-{ if ((pnextGroup) < 0 || (pnextGroup) >= VIDEO_SINGLETON::instance ()->numG) \
- { fprintf(stderr, "VS: %d.VIDEO_SINGLETON::instance ()->nextGroup(%d) out of range (%d).\n", VIDEO_SINGLETON::instance ()->cmd, (pnextGroup), VIDEO_SINGLETON::instance ()->numG); \
- return 0; } }
-
-#include "ace/Singleton.h"
-#include "include/common.h"
-#include "mpeg_shared/routine.h"
-#include "mpeg_shared/fileio.h"
-#include "mpeg_shared/com.h"
-#include "mpeg_shared/sendpt.h"
-#include "mpeg_server/server_proto.h"
-#include "mpeg_server/Video_Server.h"
-#include "mpeg_shared/Video_ControlS.h"
-#include "mpeg_shared/Audio_ControlS.h"
-
-class Mpeg_Global
-{
-public:
- static int parentpid;
-
- static int listenSocketIn;
- static int listenSocketUn;
-
- static struct linger linger;
-
- static int live_audio;
- static int live_video; /* 0 - no, 1 - to open, 2 - opened */
-
- static int drift_ppm; /* clock drift in ppm */
-
- static int session_limit;
- static int session_num;
- static int rttag;
-};
-
-class Video_Global
-{
-public:
- Video_Global ();
-
- ACE_SOCK_CODgram dgram;
- // the UDP data socket
-
- char *data_host;
- // name of the host to bind to.
- int live_source;
- int video_format;
-
- int pkts_sent;
- time_t start_time;
-
- int conn_tag;
-
- int normalExit;
-
- int serviceSocket;
- int videoSocket;
-
- char videoFile[PATH_SIZE];
- FILE *fp;
- int needHeader;
- int lastRef[2];
- int lastRefPtr;
- int currentUPF;
- int addedUPF;
- int addedSignals;
- int VStimeAdvance;
- double fps; /* current frames-per-second: playback speed */
- double frameRateLimit;
-
- VideoPacket * packet;
- int packetBufSize;
- int msgsn;
- int packetsn;
- int msgsize;
-
- unsigned char precmd;
- unsigned char cmd;
- int cmdsn;
- int nextFrame;
- int nextGroup;
- int firstPatternSize;
- char *firstSendPattern;
- int sendPatternGops;
- char sendPattern [PATTERN_SIZE];
-
-#ifdef STAT
- char * framesSent;
-#endif
-
- int fileSize;
- int maxS;
- int maxG;
- int maxI;
- int maxP;
- int maxB;
- int minS;
- int minG;
- int minI;
- int minP;
- int minB;
- int numS;
- int numG;
- int numF;
- int numI;
- int numP;
- int numB;
- int averageFrameSize;
- int horizontalSize;
- int verticalSize;
- int pelAspectRatio;
- int pictureRate;
- int vbvBufferSize;
- int firstGopFrames;
- int patternSize;
- char pattern [PATTERN_SIZE];
-
- struct SystemHeader
- {
- long offset;
- int size;
- } * systemHeader;
-
- struct GopTable
- {
- int systemHeader;
- long offset;
- int headerSize;
- int size;
- int totalFrames;
- int previousFrames;
- long firstIoffset;
- } * gopTable;
-
- struct FrameTable
- {
- char type;
- unsigned short size;
- } * frameTable;
-
- int preGroup;
- int preHeader;
- int preFrame;
-
- // fast video play locals
- Video_Control::FFpara fast_para;
- Video_Control::PLAYpara play_para;
- int fast_preGroup;
- int fast_preHeader;
-
- // globals functions
- int CmdRead (char *buf, int psize);
- int CmdWrite (char *buf, int size);
- int SendPacket (int shtag,
- int gop,
- int frame,
- int timeToUse,
- int first_time = 0);
- int FBread (char *buf, int size);
- int PLAYliveVideo (PLAYpara * para);
- void ComputeFirstSendPattern (float limit);
- int FrameToGroup (int * frame);
- int SendReferences (int group, int frame);
- int send_to_network (int timeToUse);
- int first_packet_send_to_network (int timeToUse);
- int GetFeedBack (void);
- int SendPicture (int *frame);
- int ReadInfoFromFile (void);
- void WriteInfoToFile (void);
- int init_MPEG1_video_file (void);
- int play_send (int debug=0);
- int fast_play_send (void);
- int position (void);
- int step_video (void);
- int fast_forward (void);
- int fast_backward (void);
- int stat_stream (void);
- int stat_sent (void);
- int init_play (Video_Control::PLAYpara para,
- CORBA::Long_out vts);
- CORBA::Boolean init_fast_play (const Video_Control::FFpara &para);
- int init_video (void);
-};
-
-typedef ACE_Singleton <Video_Global, ACE_SYNCH_MUTEX> VIDEO_SINGLETON;
-
-class Video_Timer_Global
-// A class that holds the static timer variables defined in the middle
-// of vs.cpp
-{
-public:
- static int timerHeader;
- static int timerGroup;
- static int timerFrame;
- static int timerOn ;
- static int timerAdjust ;
- static int preTimerVal ;
- static void StartTimer (void);
- static void StopTimer(void);
- static void TimerSpeed(void);
- static void TimerProcessing(void);
- static void timerHandler (int sig);
-};
-
-#define DATABUF_SIZE 500
-
-#define SPEEDUP_SCALE 5
-#define MAX_RESEND_REQS 10
-#define FBBUF_SIZE (sizeof(AudioFeedBackPara) + \
- (MAX_RESEND_REQS - 1) * sizeof(APdescriptor))
-
-
-
- class Audio_Global
- {
- public:
- Audio_Global (void);
- // Default constructor.
- int CmdRead(char *buf, int psize);
- void CmdWrite(char *buf, int size);
- int INITaudio(void);
- int send_packet(int firstSample, int samples);
- int SendPacket(void);
- void ResendPacket(int firstsample, int samples);
- int PLAYaudio(void);
- int play_audio (void);
- int send_audio (void);
- void on_exit_routine(void);
-
- public:
-
- char *data_host;
- enum audio_state {AUDIO_WAITING = 0,AUDIO_PLAY =1};
-
- audio_state state;
- // The state of the audio server.
-
- // playaudio members
- int packets;
- int hasdata;
- struct timeval tval;
-
- int addSamples;
- unsigned nextTime;
- int upp; /* micro-seconds per packet */
- int delta_sps ;
- // The members previously in PLAY audio.
-
- int bytes_sent ;
- time_t start_time;
-
- int conn_tag;
-
- int serviceSocket;
- int audioSocket ;
-
- char audioFile[PATH_SIZE];
- int fd;
- Audio_Control::AudioParameter audioPara;
- int totalSamples;
- int fileSize;
- unsigned char cmd;
- int live_source ;
-
- int databuf_size;
- int cmdsn;
- int nextsample;
- int sps; /* audio play speed given by the client: samples per second */
- int spslimit;
- int spp; /* samples per packet */
- AudioPacket * pktbuf ;
- AudioFeedBackPara * fbpara ;
- };
-
-typedef ACE_Singleton <Audio_Global,ACE_SYNCH_MUTEX> AUDIO_GLOBAL;
-
-
-#endif /* define MPEG_GLOBAL_H */
-
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Makefile b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Makefile
deleted file mode 100644
index a08428bf25a..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Makefile
+++ /dev/null
@@ -1,3119 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-#----------------------------------------------------------------------------
-
-MAKEFILE = Makefile
-LIBNAME = libmpeg_server
-LIB = $(LIBNAME).a
-SHLIB = $(LIBNAME).$(SOEXT)
-
-ifndef TAO_ROOT
-TAO_ROOT = $(ACE_ROOT)/TAO
-endif
-
-# On non-Windows environment, we should at least define
-# the export_include IDL flag.
-FILES= as las lvs vs Globals Video_Server Video_Control_State Video_Control_i Audio_Server Audio_Control_State Audio_Control_i
-
-DEFS = $(addsuffix .h,$(FILES))
-LSRC = $(addsuffix .cpp,$(FILES))
-
-
-LIBS += -lTAO -lACE -lorbsvcs
-MPEG_ROOT = $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source
-CPPFLAGS += -I$(MPEG_ROOT)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(TAO_ROOT)/rules.tao.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets (and local hacks)
-#----------------------------------------------------------------------------
-
-#LDFLAGS += -L/project/doc/pkg/X11/lib/ -lXm -lXt -lXext -lSM -lICE -lX11 -L/project/doc/pkg/X11/lib -lsocket -lnsl -ldl
-LDFLAGS += -lsocket -lnsl -ldl
-CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs $(TSS_ORB_FLAG)
-CPPFLAGS += -DSH_MEM -I/project/doc/pkg/X11/include
-
-clean:
- -/bin/rm -rf *.o Log $(BIN) obj.* core Templates.DB .make.state
-
-realclean: clean
- -/bin/rm -rf $(addsuffix .h, $(IDL_FILES)) $(addsuffix .i, $(IDL_FILES)) $(addsuffix .cpp, $(IDL_FILES))
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-.obj/as.o .obj/as.so .shobj/as.o .shobj/as.so: as.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- server_proto.h Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i
-.obj/las.o .obj/las.so .shobj/las.o .shobj/las.so: las.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- server_proto.h Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i
-.obj/lvs.o .obj/lvs.so .shobj/lvs.o .shobj/lvs.so: lvs.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- server_proto.h Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i
-.obj/vs.o .obj/vs.so .shobj/vs.o .shobj/vs.so: vs.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- server_proto.h Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i
-.obj/Globals.o .obj/Globals.so .shobj/Globals.o .shobj/Globals.so: Globals.cpp Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i
-.obj/Video_Server.o .obj/Video_Server.so .shobj/Video_Server.o .shobj/Video_Server.so: Video_Server.cpp Video_Server.h \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i
-.obj/Video_Control_State.o .obj/Video_Control_State.so .shobj/Video_Control_State.o .shobj/Video_Control_State.so: Video_Control_State.cpp Video_Control_State.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- Video_Server.h
-.obj/Video_Control_i.o .obj/Video_Control_i.so .shobj/Video_Control_i.o .shobj/Video_Control_i.so: Video_Control_i.cpp Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- Video_Server.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i
-.obj/Audio_Server.o .obj/Audio_Server.so .shobj/Audio_Server.o .shobj/Audio_Server.so: Audio_Server.cpp Audio_Server.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- server_proto.h Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i \
- Audio_Control_i.h Audio_Control_State.h
-.obj/Audio_Control_State.o .obj/Audio_Control_State.so .shobj/Audio_Control_State.o .shobj/Audio_Control_State.so: Audio_Control_State.cpp Audio_Control_State.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i \
- Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- Audio_Control_i.h Audio_Server.h server_proto.h
-.obj/Audio_Control_i.o .obj/Audio_Control_i.so .shobj/Audio_Control_i.o .shobj/Audio_Control_i.so: Audio_Control_i.cpp Audio_Control_State.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Connector.h \
- $(ACE_ROOT)/ace/Map_Manager.h \
- $(ACE_ROOT)/ace/Map_Manager.i \
- $(ACE_ROOT)/ace/Map_Manager.cpp \
- $(ACE_ROOT)/ace/Svc_Handler.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Dynamic.h \
- $(ACE_ROOT)/ace/Dynamic.i \
- $(ACE_ROOT)/ace/Svc_Handler.i \
- $(ACE_ROOT)/ace/Svc_Handler.cpp \
- $(ACE_ROOT)/ace/Connector.i \
- $(ACE_ROOT)/ace/Connector.cpp \
- $(ACE_ROOT)/ace/Acceptor.h \
- $(ACE_ROOT)/ace/Acceptor.i \
- $(ACE_ROOT)/ace/Acceptor.cpp \
- $(TAO_ROOT)/tao/Align.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/Union.h \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/Exception.h \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/Request.h \
- $(TAO_ROOT)/tao/Request.i \
- $(TAO_ROOT)/tao/Stub.h \
- $(TAO_ROOT)/tao/Stub.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Marshal.h \
- $(TAO_ROOT)/tao/Marshal.i \
- $(TAO_ROOT)/tao/CDR.h \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/POA.h \
- $(TAO_ROOT)/tao/POAC.h \
- $(TAO_ROOT)/tao/POAC.i \
- $(TAO_ROOT)/tao/Servant_Base.h \
- $(TAO_ROOT)/tao/POAS.h \
- $(TAO_ROOT)/tao/POA_CORBA.h \
- $(TAO_ROOT)/tao/POAS.i \
- $(TAO_ROOT)/tao/Active_Object_Map.h \
- $(TAO_ROOT)/tao/POA.i \
- $(TAO_ROOT)/tao/poa_macros.h \
- $(TAO_ROOT)/tao/params.h \
- $(TAO_ROOT)/tao/params.i \
- $(TAO_ROOT)/tao/Connect.h \
- $(TAO_ROOT)/tao/Connect.i \
- $(TAO_ROOT)/tao/ORB_Core.h \
- $(TAO_ROOT)/tao/ORB_Core.i \
- $(ACE_ROOT)/ace/Dynamic_Service.h \
- $(ACE_ROOT)/ace/Dynamic_Service.cpp \
- $(TAO_ROOT)/tao/Operation_Table.h \
- $(TAO_ROOT)/tao/debug.h \
- $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
- $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
- $(TAO_ROOT)/tao/default_client.h \
- $(TAO_ROOT)/tao/default_client.i \
- $(TAO_ROOT)/tao/default_server.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.h \
- $(TAO_ROOT)/tao/ORB_Strategies_T.i \
- $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \
- $(TAO_ROOT)/tao/default_server.i \
- $(TAO_ROOT)/tao/IIOP_Object.h \
- $(TAO_ROOT)/tao/IIOP_Object.i \
- $(TAO_ROOT)/tao/IIOP_ORB.h \
- $(TAO_ROOT)/tao/IIOP_ORB.i \
- $(TAO_ROOT)/tao/IIOP_Interpreter.h \
- $(TAO_ROOT)/tao/GIOP.h \
- $(TAO_ROOT)/tao/GIOP.i \
- $(TAO_ROOT)/tao/Invocation.h \
- $(TAO_ROOT)/tao/Invocation.i \
- $(TAO_ROOT)/tao/Server_Request.h \
- $(TAO_ROOT)/tao/Server_Request.i \
- $(TAO_ROOT)/tao/singletons.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Audio_ControlS.i \
- Globals.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.h \
- $(ACE_ROOT)/ace/SOCK_CODgram.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/include/common.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/fileio.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/sendpt.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h \
- $(TAO_ROOT)/tao/TAO.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlC.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Video_ControlS.i \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h \
- $(TAO_ROOT)/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
- $(ACE_ROOT)/ace/Process.h \
- $(ACE_ROOT)/ace/Process.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
- Audio_Control_i.h Audio_Server.h server_proto.h
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.cpp
deleted file mode 100644
index dd3f44afa2b..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.cpp
+++ /dev/null
@@ -1,483 +0,0 @@
-// $Id$
-
-#include "Video_Control_State.h"
-#include "Video_Server.h"
-
-ACE_RCSID(mpeg_server, Video_Control_State, "$Id$")
-
-Video_Control_State::Video_Control_State ()
- : vci_ (VIDEO_CONTROL_I::instance ())
-{
-}
-
-Video_Control_State::Video_States
-Video_Control_State::get_state (void)
-{
- return this->state_;
-}
-
-CORBA::Boolean
-Video_Control_State::init_video (const Video_Control::INITvideoPara &init_para,
- Video_Control::INITvideoReply_out reply)
-{
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) Video_Control_State::init_video called\n"));
- int failureType = 0;
- // This is independent of the state and hence we implement it here
-
- // video file string
- for (int i=0;i<init_para.videofile.length (); i++)
- VIDEO_SINGLETON::instance ()->videoFile[i] = init_para.videofile[i];
-
- VIDEO_SINGLETON::instance ()->videoFile [init_para.videofile.length ()] = 0;
-
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit || init_para.version != VERSION) {
- return 0;
- // ~~ We should be throwing exceptions here.
- }
- VIDEO_SINGLETON::instance ()->cmdsn = init_para.sn;
- /*
- fprintf (stderr, "MPEG file %s got.\n", VIDEO_SINGLETON::instance ()->videoFile);
- */
- if (!strncasecmp ("LiveVideo", VIDEO_SINGLETON::instance ()->videoFile, 9)) {
- if (OpenLiveVideo (&VIDEO_SINGLETON::instance ()->video_format, &VIDEO_SINGLETON::instance ()->horizontalSize,
- &VIDEO_SINGLETON::instance ()->verticalSize, &VIDEO_SINGLETON::instance ()->averageFrameSize,
- &VIDEO_SINGLETON::instance ()->fps, &VIDEO_SINGLETON::instance ()->pelAspectRatio) == -1) {
- failureType = 100;
- return 0;
- }
- if (VIDEO_SINGLETON::instance ()->video_format == VIDEO_MPEG2) {
- failureType = 101;
- return 0;
- }
- VIDEO_SINGLETON::instance ()->live_source = 1;
-
- VIDEO_SINGLETON::instance ()->fileSize =0x7fffffff;
- VIDEO_SINGLETON::instance ()->maxS = VIDEO_SINGLETON::instance ()->maxG = VIDEO_SINGLETON::instance ()->maxI = VIDEO_SINGLETON::instance ()->maxP = VIDEO_SINGLETON::instance ()->maxB = VIDEO_SINGLETON::instance ()->minS = VIDEO_SINGLETON::instance ()->minG = VIDEO_SINGLETON::instance ()->minI = VIDEO_SINGLETON::instance ()->minP = VIDEO_SINGLETON::instance ()->minB = 1;
- VIDEO_SINGLETON::instance ()->numS = VIDEO_SINGLETON::instance ()->numG = VIDEO_SINGLETON::instance ()->numF = VIDEO_SINGLETON::instance ()->numI = 0x7fffffff;
- VIDEO_SINGLETON::instance ()->numP = VIDEO_SINGLETON::instance ()->numB = 0;
- VIDEO_SINGLETON::instance ()->vbvBufferSize = 1;
- VIDEO_SINGLETON::instance ()->firstGopFrames = 1;
- VIDEO_SINGLETON::instance ()->patternSize = 1;
- VIDEO_SINGLETON::instance ()->pattern[0] = 'I';
- VIDEO_SINGLETON::instance ()->pattern[1] = 0;
- VIDEO_SINGLETON::instance ()->packetBufSize = VIDEO_SINGLETON::instance ()->verticalSize * VIDEO_SINGLETON::instance ()->horizontalSize * 3;
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *)malloc (sizeof (VideoMessage) + sizeof (VideoPacket) +
- VIDEO_SINGLETON::instance ()->packetBufSize);
- if (VIDEO_SINGLETON::instance ()->packet == NULL)
- {
- perror ("Error: VS error on malloc VIDEO_SINGLETON::instance ()->packet buffer");
- exit (1);
- }
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *) ((char *)VIDEO_SINGLETON::instance ()->packet + sizeof (VideoMessage));
-
- }
- else {
- static double pictureRateTable[] = {23.976, 24, 25, 29.97, 30, 50, 59.94, 60};
-
- VIDEO_SINGLETON::instance ()->video_format = VIDEO_MPEG1;
- failureType = VIDEO_SINGLETON::instance ()->init_MPEG1_video_file ();
- if (failureType)
- return 0;
- VIDEO_SINGLETON::instance ()->fps = pictureRateTable[VIDEO_SINGLETON::instance ()->pictureRate - 1];
- }
-
- // Set the Reply parameter values
- ACE_NEW_RETURN (reply,
- Video_Control::INITvideoReply,
- 0);
-
- reply->totalHeaders = VIDEO_SINGLETON::instance ()->numS;
- reply->totalGroups = VIDEO_SINGLETON::instance ()->numG;
- reply->totalFrames = VIDEO_SINGLETON::instance ()->numF;
- reply->sizeIFrame = VIDEO_SINGLETON::instance ()->maxI;
- reply->sizePFrame = VIDEO_SINGLETON::instance ()->maxP;
- reply->sizeBFrame = VIDEO_SINGLETON::instance ()->maxB;
- reply->sizeSystemHeader = VIDEO_SINGLETON::instance ()->maxS;
- reply->sizeGop = VIDEO_SINGLETON::instance ()->maxG;
- reply->averageFrameSize = VIDEO_SINGLETON::instance ()->averageFrameSize;
- reply->verticalSize = VIDEO_SINGLETON::instance ()->verticalSize;
- reply->horizontalSize = VIDEO_SINGLETON::instance ()->horizontalSize;
- reply->pelAspectRatio = VIDEO_SINGLETON::instance ()->pelAspectRatio;
- reply->pictureRate1000 = (int) (VIDEO_SINGLETON::instance ()->fps * 1000);
- reply->vbvBufferSize = VIDEO_SINGLETON::instance ()->vbvBufferSize;
- reply->firstGopFrames = VIDEO_SINGLETON::instance ()->firstGopFrames;
-
- reply->pattern.length (VIDEO_SINGLETON::instance ()->patternSize);
-
- // copy the sequence of char..
- for ( i = 0; i < VIDEO_SINGLETON::instance ()->patternSize; i++)
- reply->pattern [i] = VIDEO_SINGLETON::instance ()->pattern [i];
-
- reply->live = VIDEO_SINGLETON::instance ()->live_source;
- reply->format = VIDEO_SINGLETON::instance ()->video_format;
-
- /* write the first SH, GOP and IFrame to VIDEO_SINGLETON::instance ()->serviceSocket (TCP),
- using code for SendPacket () */
- {
-
- // ~~ He sends the first frame thru the connected TCP socket,
- // we replace it to send thru the UDP data socket instead!!
- if (VIDEO_SINGLETON::instance ()->live_source) StartPlayLiveVideo ();
-
- if (VIDEO_SINGLETON::instance ()->live_source) {
- int frame = 0;
- VIDEO_SINGLETON::instance ()->SendPicture (&frame);
- }
- else if (VIDEO_SINGLETON::instance ()->video_format == VIDEO_MPEG1) {
- VIDEO_SINGLETON::instance ()->SendPacket (1, 0, 0, 0, 1); //
- // make the first_time flag = 1, so that the packet gets sent
- // correctly using UDP
- }
- else {
- fprintf (stderr, "VS: VIDEO_SINGLETON::instance ()->video_format %d not supported.\n",
- VIDEO_SINGLETON::instance ()->video_format);
- }
- if (VIDEO_SINGLETON::instance ()->live_source) StopPlayLiveVideo ();
- }
- return 1;
-}
-
-
-CORBA::Boolean
-Video_Control_State::stat_stream (CORBA::Char_out ch,
- CORBA::Long_out size)
-
-{
- return 0;
-}
-
-
-void
-Video_Control_State::close (void)
-{
- return;
-}
-
-
-CORBA::Boolean
-Video_Control_State::stat_sent (void)
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_State::fast_forward (const Video_Control::FFpara &para)
-
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_State::fast_backward (const Video_Control::FFpara &para)
-
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_State::step (const Video_Control::STEPpara &para)
-
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_State::play (const Video_Control::PLAYpara &para,
- CORBA::Long_out vts)
-
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_State::position (const Video_Control::POSITIONpara &para)
-
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_State::speed (const Video_Control::SPEEDpara &para)
-
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_State::stop (CORBA::Long cmdsn)
-
-{
- return 0;
-}
-
-// ----------------------------------------------------------------------
-
-Video_Control_Waiting_State::Video_Control_Waiting_State (void)
-{
- //%%
- this->state_ = VIDEO_WAITING;
-}
-
-CORBA::Boolean
-Video_Control_Waiting_State::stat_stream (CORBA::Char_out ch,
- CORBA::Long_out size)
-
-{
- return 0;
-}
-
-void
-Video_Control_Waiting_State::close (void)
-{
- ACE_DEBUG ((LM_DEBUG,
- "Video_Control_Waiting_State::close \n"));
- VIDEO_SINGLETON::instance ()->normalExit = 1;
- TAO_ORB_Core_instance ()->reactor ()->end_event_loop ();
- return ;
-}
-
-
-CORBA::Boolean
-Video_Control_Waiting_State::stat_sent (void)
-{
- ACE_DEBUG ((LM_DEBUG,
- "Video_Control_Waiting_State::stat_sent \n"));
- return 0;
-}
-
-// We are in the waiting state - and the client sent us
-// the command fast-forward.
-CORBA::Boolean
-Video_Control_Waiting_State::fast_forward (const Video_Control::FFpara &para)
-
-{
- // Many guys in legacy code depend on this variable.
- VIDEO_SINGLETON::instance ()-> cmd = CmdFF;
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_Waiting_State::fast_forward () called\n"));
- VIDEO_SINGLETON::instance ()->init_fast_play (para);
- this->vci_->change_state (VIDEO_CONTROL_FAST_FORWARD_STATE::instance ());
- return 1;
-}
-
-
-// We are in the waiting state - and the client sent us
-// the command fast-backward.
-CORBA::Boolean
-Video_Control_Waiting_State::fast_backward (const Video_Control::FFpara &para)
-
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_Waiting_State::fast_backward () called\n"));
- // Many guys in legacy code depend on this variable.
- VIDEO_SINGLETON::instance ()-> cmd = CmdFB;
- VIDEO_SINGLETON::instance ()->init_fast_play (para);
- this->vci_->change_state (VIDEO_CONTROL_FAST_BACKWARD_STATE::instance ());
- return 1;
-}
-
-
-CORBA::Boolean
-Video_Control_Waiting_State::step (const Video_Control::STEPpara &para)
-
-{
- Video_Control::STEPpara step_para = para;
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_Waiting_State::step () called\n"));
-
- int group;
- int tag = 0;
- int result;
-
- VIDEO_SINGLETON::instance ()->cmdsn = step_para.sn;
-
- if (!VIDEO_SINGLETON::instance ()-> live_source) {
- if (step_para.nextFrame >= VIDEO_SINGLETON::instance ()->numF) /* send SEQ_END */
- {
- tag = 1;
- step_para.nextFrame --;
- }
- /*
- fprintf (stderr, "STEP . . .frame-%d\n", step_para.this->nextFrame);
- */
- CheckFrameRange (step_para.nextFrame);
- group = VIDEO_SINGLETON::instance ()->FrameToGroup (&step_para.nextFrame);
- if (VIDEO_SINGLETON::instance ()-> precmd != CmdSTEP && !tag ) {
- result = VIDEO_SINGLETON::instance ()->SendReferences (group, step_para.nextFrame);
- if (result < 0 )
- return 0;
- }
- }
- if (VIDEO_SINGLETON::instance ()->live_source)
- StartPlayLiveVideo ();
-
- if (VIDEO_SINGLETON::instance ()->live_source) {
- VIDEO_SINGLETON::instance ()->SendPicture (&step_para.nextFrame);
- }
- else if (VIDEO_SINGLETON::instance ()->video_format == VIDEO_MPEG1) {
- VIDEO_SINGLETON::instance ()->SendPacket (VIDEO_SINGLETON::instance ()->numS>1, group, tag ? VIDEO_SINGLETON::instance ()->numF : step_para.nextFrame, 0);
- }
- else {
- fprintf (stderr, "VS: wierd1\n");
- }
-
- if (VIDEO_SINGLETON::instance ()->live_source) StopPlayLiveVideo ();
- return 1;
-}
-
-
-CORBA::Boolean
-Video_Control_Waiting_State::play (const Video_Control::PLAYpara &para,
- CORBA::Long_out vts)
-
-{
- // Many guys in legacy code depend on this variable.
- VIDEO_SINGLETON::instance ()-> cmd = CmdPLAY;
- //ACE_DEBUG ((LM_DEBUG,
- // "(%P|%t)Video_Control_Waiting_State::play () called \n"));
- VIDEO_SINGLETON::instance ()->init_play (para,
- vts);
- // cerr << "vts is " << vts << endl;
- this->vci_->change_state (VIDEO_CONTROL_PLAY_STATE::instance ());
- return 1;
-}
-
-
-CORBA::Boolean
-Video_Control_Waiting_State::position (const Video_Control::POSITIONpara &pos_para)
-
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_Waiting_State::position () called \n"));
-
- if (VIDEO_SINGLETON::instance ()->live_source)
- return 1;
-
- CheckGroupRange (pos_para.nextGroup);
- VIDEO_SINGLETON::instance ()-> cmd = CmdPOSITION;
- VIDEO_SINGLETON::instance ()-> cmdsn = pos_para.sn;
-
- int result = VIDEO_SINGLETON::instance ()->SendPacket
- (VIDEO_SINGLETON::instance () ->numS > 1
- || pos_para.nextGroup == 0,
- pos_para.nextGroup, 0, 0);
-
- return 1;
-}
-
-
-CORBA::Boolean
-Video_Control_Waiting_State::speed (const Video_Control::SPEEDpara &para)
-
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_Waiting_State::stop (CORBA::Long cmdsn)
-
-{
- ACE_DEBUG ((LM_DEBUG,
- "Video_Control_Waiting_State::stop ()\n"));
- VIDEO_SINGLETON::instance ()->cmd = CmdSTOP;
- VIDEO_SINGLETON::instance ()->cmdsn = cmdsn;
- Video_Timer_Global::StopTimer();
- this->vci_->change_state (VIDEO_CONTROL_WAITING_STATE::instance ());
- return 1;
-}
-
-// Video_Control_Play_State methods
-
-Video_Control_Play_State::Video_Control_Play_State (void)
-{
- this->state_ = VIDEO_PLAY;
-}
-
-CORBA::Boolean
-Video_Control_Play_State::stop (CORBA::Long cmdsn)
-{
- ACE_DEBUG ((LM_DEBUG,
- "Video_Control_Play_State::stop ()\n"));
- VIDEO_SINGLETON::instance ()->cmd = CmdSTOP;
- VIDEO_SINGLETON::instance ()->cmdsn = cmdsn;
- Video_Timer_Global::StopTimer();
- this->vci_->change_state (VIDEO_CONTROL_WAITING_STATE::instance ());
- return 1;
-}
-
-
-CORBA::Boolean
-Video_Control_Play_State::speed (const Video_Control::SPEEDpara &para)
-{
- ACE_DEBUG ((LM_DEBUG,
- "Video_Control_Play_State::speed ()\n"));
- VIDEO_SINGLETON::instance ()->frameRateLimit = para.frameRateLimit1000 / 1000.0;
- VIDEO_SINGLETON::instance ()->sendPatternGops = para.sendPatternGops;
- VIDEO_SINGLETON::instance ()->currentUPF = para.usecPerFrame;
- VIDEO_SINGLETON::instance ()->addedUPF = 0;
-
- for (int i=0; i<para.sendPattern.length (); i++)
- VIDEO_SINGLETON::instance ()->sendPattern [i] = para.sendPattern [i];
- // memcpy(VIDEO_SINGLETON::instance ()->sendPattern, para.sendPattern, PATTERN_SIZE);
-
- Video_Timer_Global::TimerSpeed ();
- VIDEO_SINGLETON::instance ()->play_send ();
- return 1;
-}
-
-
-Video_Control_Fast_Forward_State::Video_Control_Fast_Forward_State (void)
-{
- this->state_ = VIDEO_FAST_FORWARD;
-}
-
-CORBA::Boolean
-Video_Control_Fast_Forward_State::stop (CORBA::Long cmdsn)
-{
- ACE_DEBUG ((LM_DEBUG,
- "Video_Control_Fast_Forward_State::stop ()\n"));
- VIDEO_SINGLETON::instance ()->cmd = CmdSTOP;
- VIDEO_SINGLETON::instance ()->cmdsn = cmdsn;
- Video_Timer_Global::StopTimer();
- this->vci_->change_state (VIDEO_CONTROL_WAITING_STATE::instance ());
- return 1;
-}
-
-void
-Video_Control_Fast_Forward_State::close (void)
-{
- return;
-}
-
-// ----------------------------------------------------------------------
-
-Video_Control_Fast_Backward_State::Video_Control_Fast_Backward_State (void)
-{
- this->state_ = VIDEO_FAST_BACKWARD;
-}
-
-CORBA::Boolean
-Video_Control_Fast_Backward_State::stop (CORBA::Long cmdsn)
-{
- ACE_DEBUG ((LM_DEBUG,
- "Video_Control_Fast_Backward_State::stop ()\n"));
- VIDEO_SINGLETON::instance ()->cmd = CmdSTOP;
- VIDEO_SINGLETON::instance ()->cmdsn = cmdsn;
- Video_Timer_Global::StopTimer();
- this->vci_->change_state (VIDEO_CONTROL_WAITING_STATE::instance ());
- return 1;
-}
-
-void
-Video_Control_Fast_Backward_State::close (void)
-{
- return;
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h
deleted file mode 100644
index 9363a48ea0d..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/* -*- C++ -*- */
-
-/* $Id$ */
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#ifndef MPEG_VIDEO_CONTROL_STATE_H
-#define MPEG_VIDEO_CONTROL_STATE_H
-
-#include "ace/Singleton.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "mpeg_shared/Video_ControlS.h"
-#include "mpeg_server/Video_Control_i.h"
-
-class Video_Control_i;
-
-class Video_Control_State
-{
- // = TITLE
- // Defines an abstract class that is used to implement the state
- // pattern for the video control.
- //
- // = DESCRIPTION
- // The various states of the video control are defined by the
- // Video_States enum. They can be implemented by subclassing from
- // this class and overriding the handle_input method.
-public:
- Video_Control_State (void);
- // constructor
-
- enum Video_States
- {
- VIDEO_WAITING,
- VIDEO_PLAY = 1,
- VIDEO_FAST_FORWARD = 2,
- VIDEO_FAST_BACKWARD = 3
- };
-
- Video_States get_state (void);
- // returns the current state
-
- void set_state (Video_States state);
- // sets the state
-
- virtual CORBA::Boolean init_video (const Video_Control::INITvideoPara &para,
- Video_Control::INITvideoReply_out reply) ;
-
- virtual CORBA::Boolean stat_stream (CORBA::Char_out ch,
- CORBA::Long_out size);
-
- virtual void close (void);
-
- virtual CORBA::Boolean stat_sent (void);
-
- virtual CORBA::Boolean fast_forward (const Video_Control::FFpara &para) ;
-
- virtual CORBA::Boolean fast_backward (const Video_Control::FFpara &para) ;
-
- virtual CORBA::Boolean step (const Video_Control::STEPpara &para) ;
-
- virtual CORBA::Boolean play (const Video_Control::PLAYpara &para,
- CORBA::Long_out vts) ;
-
- virtual CORBA::Boolean position (const Video_Control::POSITIONpara &para) ;
-
- virtual CORBA::Boolean speed (const Video_Control::SPEEDpara &para) ;
-
- virtual CORBA::Boolean stop (CORBA::Long cmdsn) ;
-
-protected:
- Video_States state_;
- // State of this object
-
- Video_Control_i *vci_;
-
-};
-
-class Video_Control_Waiting_State : public virtual Video_Control_State
-{
- // = TITLE
- // Defines a class that implements the waiting state of the video
- // control state pattern.
-public:
- Video_Control_Waiting_State (void);
- // Default constructor, sets the state to WAITING
-
- virtual CORBA::Boolean stat_stream (CORBA::Char_out ch,
- CORBA::Long_out size);
-
- virtual void close (void);
-
- virtual CORBA::Boolean stat_sent (void);
-
- virtual CORBA::Boolean fast_forward (const Video_Control::FFpara &para);
-
- virtual CORBA::Boolean fast_backward (const Video_Control::FFpara &para);
-
- virtual CORBA::Boolean step (const Video_Control::STEPpara &para);
-
-
- virtual CORBA::Boolean play (const Video_Control::PLAYpara &para,
- CORBA::Long_out vts);
-
- virtual CORBA::Boolean position (const Video_Control::POSITIONpara &para);
-
- virtual CORBA::Boolean speed (const Video_Control::SPEEDpara &para);
-
- virtual CORBA::Boolean stop (CORBA::Long cmdsn);
-};
-
-class Video_Control_Play_State : public virtual Video_Control_State
-{
- // = TITLE
- // Defines a class that implements the playing state of the video
- // control state pattern.
-public:
- Video_Control_Play_State (void);
- // Default constructor, sets the state to VIDEO_PLAY
-
- virtual CORBA::Boolean stop (CORBA::Long cmdsn);
-
- virtual CORBA::Boolean speed (const Video_Control::SPEEDpara &para);
-};
-
-class Video_Control_Fast_Forward_State : public virtual Video_Control_State
-{
- // = TITLE
- // Defines a class that implements the fast_forward state of the video
- // control state pattern.
-public:
- Video_Control_Fast_Forward_State (void);
- // Default constructor, sets the state to VIDEO_FAST_FORWARD
-
- void close (void);
-
- CORBA::Boolean stop (CORBA::Long cmdsn);
-};
-
-class Video_Control_Fast_Backward_State : public virtual Video_Control_State
-{
- // = TITLE
- // Defines a class that implements the fast_backward state of the video
- // control state pattern.
-public:
- Video_Control_Fast_Backward_State (void);
- // Default constructor, sets the state to VIDEO_FAST_BACKWARD
-
- void close (void);
-
- CORBA::Boolean stop (CORBA::Long cmdsn);
-};
-
-typedef ACE_Singleton <Video_Control_Waiting_State, ACE_SYNCH_MUTEX>
- VIDEO_CONTROL_WAITING_STATE;
-typedef ACE_Singleton <Video_Control_Play_State, ACE_SYNCH_MUTEX>
- VIDEO_CONTROL_PLAY_STATE;
-typedef ACE_Singleton <Video_Control_Fast_Forward_State, ACE_SYNCH_MUTEX>
- VIDEO_CONTROL_FAST_FORWARD_STATE;
-typedef ACE_Singleton <Video_Control_Fast_Backward_State, ACE_SYNCH_MUTEX>
- VIDEO_CONTROL_FAST_BACKWARD_STATE;
-
-#endif /* MPEG_VIDEO_SERVER_STATE_H */
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.cpp
deleted file mode 100644
index 5db371090c1..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.cpp
+++ /dev/null
@@ -1,272 +0,0 @@
-// $Id$
-
-#include "Video_Control_i.h"
-#include "mpeg_server/Video_Server.h"
-
-ACE_RCSID(mpeg_server, Video_Control_i, "$Id$")
-
-Video_Control_i::Video_Control_i ()
- : reactor_ (TAO_ORB_Core_instance ()->reactor ()),
- state_ (0),
- data_handler_ (0),
- sig_handler_ (0)
-{
-}
-
-int
-Video_Control_i::create_handlers (void)
-{
- ACE_NEW_RETURN (this->data_handler_,
- Video_Data_Handler,
- -1);
-
- ACE_NEW_RETURN (this->sig_handler_,
- Video_Sig_Handler,
- -1);
- return 0;
-}
-CORBA::Boolean
-Video_Control_i::init_video (const Video_Control::INITvideoPara &para,
- Video_Control::INITvideoReply_out reply,
- CORBA::Environment& env)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_i::init_video () called\n"));
-
- CORBA::Boolean result = this->state_->init_video (para,
- reply);
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) Video_Control_State::init_video returned %d\n", result));
- return result;
-
-}
-
-
-CORBA::Boolean
-Video_Control_i::stat_stream (CORBA::Char_out ch,
- CORBA::Long_out size,
- CORBA::Environment& env)
-{
- return 0;
-}
-
-
-void
-Video_Control_i::close (CORBA::Environment& env)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_i::close:"
- "shutting down the ORB\n"));
-
- TAO_ORB_Core_instance ()-> orb ()-> shutdown ();
- return;
-}
-
-
-CORBA::Boolean
-Video_Control_i::stat_sent (CORBA::Environment& env)
-{
- return 0;
-}
-
-
-CORBA::Boolean
-Video_Control_i::fast_forward (const Video_Control::FFpara &para,
- CORBA::Environment& env)
-{
- return this->state_->fast_forward (para);
-}
-
-
-CORBA::Boolean
-Video_Control_i::fast_backward (const Video_Control::FFpara &para,
- CORBA::Environment& env)
-{
- return this->state_->fast_backward (para);
-}
-
-
-CORBA::Boolean
-Video_Control_i::step (const Video_Control::STEPpara &para,
- CORBA::Environment& env)
-{
- return this->state_->step (para);
-}
-
-
-// this gets called by the client, when it wants
-// to start playback
-CORBA::Boolean
-Video_Control_i::play (const Video_Control::PLAYpara &para,
- CORBA::Long_out vts,
- CORBA::Environment& env)
-{
- return this->state_->play (para,
- vts);
-}
-
-
-CORBA::Boolean
-Video_Control_i::position (const Video_Control::POSITIONpara &para,
- CORBA::Environment& env)
-{
- return this->state_->position (para);
-}
-
-
-CORBA::Boolean
-Video_Control_i::speed (const Video_Control::SPEEDpara &para,
- CORBA::Environment& env)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_i::speed () called\n"));
- return this->state_->speed (para);
-}
-
-
-CORBA::Boolean
-Video_Control_i::stop (CORBA::Long cmdsn,
- CORBA::Environment& env)
-{
- return this->state_->stop (cmdsn);
-}
-
-CORBA::Boolean
-Video_Control_i::set_peer (char * &peer,
- CORBA::Environment &_tao_environment)
-{
- ACE_INET_Addr client_data_addr (peer);
- // Data (UDP) Address of the client.
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) set_peer called: %s,%s,%d\n",
- peer,
- client_data_addr.get_host_addr (),
- client_data_addr.get_port_number ()));
-
- char temp_addr [BUFSIZ];
- if (VIDEO_SINGLETON::instance ()->data_host != 0)
- ACE_OS::sprintf (temp_addr,"%s:%d",VIDEO_SINGLETON::instance ()->data_host,0);
- else
- ACE_OS::sprintf (temp_addr,":%d",0);
-
- if (VIDEO_SINGLETON::instance ()->dgram.open (client_data_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) UDP open failed: %p\n"),
- 0);
-
- // set the socket buffer sizes to 64k.
- int sndbufsize = ACE_DEFAULT_MAX_SOCKET_BUFSIZ;
- int rcvbufsize = ACE_DEFAULT_MAX_SOCKET_BUFSIZ;
-
- if (VIDEO_SINGLETON::instance ()->dgram.set_option (SOL_SOCKET,
- SO_SNDBUF,
- (void *) &sndbufsize,
- sizeof (sndbufsize)) == -1
- && errno != ENOTSUP)
- return 0;
- else if (VIDEO_SINGLETON::instance ()->dgram.set_option (SOL_SOCKET,
- SO_RCVBUF,
- (void *) &rcvbufsize,
- sizeof (rcvbufsize)) == -1
- && errno != ENOTSUP)
- return 0;
-
-
- ACE_INET_Addr server_data_addr;
- // Data (UDP) Address of this server.
-
- if (VIDEO_SINGLETON::instance ()-> dgram.get_local_addr
- (server_data_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) UDP get_local_addr failed: %p\n"),
- 0);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Server: My UDP port number is %d\n",
- server_data_addr.get_port_number ()));
-
- if (this->register_handlers () == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) Video_Control_i::set_peer: register_handlers failed\n"),
- 0);
-
- VIDEO_SINGLETON::instance ()->videoSocket = VIDEO_SINGLETON::instance ()->dgram.get_handle ();
-
- ACE_DEBUG ((LM_DEBUG,"(%P|%t) set_peer: server port = %d\n",server_data_addr.get_port_number ()));
- ACE_NEW_RETURN (peer,
- char [BUFSIZ],
- 0);
- // hack to set the ip address correctly.
- server_data_addr.set (server_data_addr.get_port_number (),
- server_data_addr.get_host_name ());
- server_data_addr.addr_to_string (peer,
- BUFSIZ);
-
- return 1;
-}
-
-int
-Video_Control_i::register_handlers (void)
-{
- int result;
-
-
- // create the handlers
-
- if (this->create_handlers () == -1)
- return -1;
-
- this->change_state (VIDEO_CONTROL_WAITING_STATE::instance ());
- // sets the state to waiting.
-
- // Register the event handlers with the Reactor
- // first the data handler, i.e. UDP
- result = this->reactor_->register_handler (this->data_handler_,
- ACE_Event_Handler::READ_MASK);
- if (result < 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) register_handler for data_handler failed\n"),
- -1);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) registered fd for data handler = (%d)\n",
- this->data_handler_->get_handle ()));
-
- // finally, the signal handler, for periodic transmission
- // of packets
- result = this->sig_handler_->register_handler ();
-
- if (result < 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) register_handler for sig_handler"
- "failed!\n"),
- -1);
-
- return 0;
-}
-
-// Changes the state of the video control handler from the current
-// state to the state represented by the argument.
-void
-Video_Control_i::change_state (Video_Control_State *state)
-{
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Video_Control_i::Changing to state %d\n",
- state->get_state ()));
- this->state_ = state;
-}
-
-// Returns the current state object .
-Video_Control_State *
-Video_Control_i::get_state (void)
-{
- return this->state_;
-}
-
-
-Video_Control_i::~Video_Control_i ()
-{
- delete this->data_handler_;
- delete this->sig_handler_;
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h
deleted file mode 100644
index 55b782a0e97..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-#ifndef AV_VIDEO_CONTROL_H
-#define AV_VIDEO_CONTROL_H
-
-#include "mpeg_shared/Video_ControlS.h"
-#include "Video_Server.h"
-
-class Video_Data_Handler;
-class Video_Sig_Handler;
-class Video_Control_State;
-
-class Video_Control_i
- : public virtual POA_Video_Control
-{
-public:
- Video_Control_i ();
- // constructor
-
- int create_handlers (void);
- // creates the data and signal handlers
-
- virtual CORBA::Boolean init_video (const Video_Control::INITvideoPara &para,
- Video_Control::INITvideoReply_out reply,
- CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean stat_stream (CORBA::Char_out ch,
- CORBA::Long_out size,
- CORBA::Environment &_tao_environment);
-
- virtual void close (CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean stat_sent (CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean fast_forward (const Video_Control::FFpara &para,
- CORBA::Environment &_tao_environment
- );
-
- virtual CORBA::Boolean fast_backward (const Video_Control::FFpara &para,
- CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean step (const Video_Control::STEPpara &para,
- CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean play (const Video_Control::PLAYpara &para,
- CORBA::Long_out vts,
- CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean position (const Video_Control::POSITIONpara &para,
- CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean speed (const Video_Control::SPEEDpara &para,
- CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean stop (CORBA::Long cmdsn,
- CORBA::Environment &_tao_environment);
-
- virtual CORBA::Boolean set_peer (char * &peer,
- CORBA::Environment &_tao_environment);
- // called by the client to inform us about it's ip and
- // udp address.
-
- void change_state (Video_Control_State *state);
- // Used to change the state
-
- Video_Control_State *get_state (void);
- // Accessor for the state_
-
- virtual ~Video_Control_i (void);
- // Destructor
-
-protected:
- int register_handlers (void);
- // called by set_peer to install the data_handler and
- // the sig_handler
-
- ACE_Reactor *reactor_;
- // The Reactor
-
- Video_Control_State *state_;
- // State pattern - pointer to abstract State object
-
- Video_Data_Handler *data_handler_;
- // Data Socket Event Handler
-
- Video_Sig_Handler *sig_handler_;
- // signal handler for SIGALRM to periodically send the video frames
- // to the client
-
-};
-
-// Video_Control_i instance singleton.
-// %%
-typedef ACE_Singleton <Video_Control_i, ACE_Null_Mutex> VIDEO_CONTROL_I;
-
-#endif /* if !defined (AV_VIDEO_CONTROL_H) */
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.cpp
deleted file mode 100644
index e86b17db162..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/* $Id$ */
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#include "Video_Server.h"
-#include "orbsvcs/CosNamingC.h"
-
-ACE_RCSID(mpeg_server, Video_Server, "$Id$")
-
-// Video_Sig_Handler methods
-// handles the timeout SIGALRM signal
-Video_Sig_Handler::Video_Sig_Handler ()
- : vci_ (VIDEO_CONTROL_I::instance ())
-{
-}
-
-int
-Video_Sig_Handler::register_handler (void)
-{
- // Assign the Sig_Handler a dummy I/O descriptor. Note that even
- // though we open this file "Write Only" we still need to use the
- // ACE_Event_Handler::NULL_MASK when registering this with the
- // ACE_Reactor (see below).
- this->handle_ = ACE_OS::open (ACE_DEV_NULL, O_WRONLY);
- ACE_ASSERT (this->handle_ != -1);
-
- // Register signal handler object. Note that NULL_MASK is used to
- // keep the ACE_Reactor from calling us back on the "/dev/null"
- // descriptor.
- if (TAO_ORB_Core_instance ()->reactor ()->register_handler
- (this, ACE_Event_Handler::NULL_MASK) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "register_handler"),
- -1);
-
- // Create a sigset_t corresponding to the signals we want to catch.
- ACE_Sig_Set sig_set;
-
- // sig_set.sig_add (SIGINT);
- // sig_set.sig_add (SIGQUIT);
- sig_set.sig_add (SIGALRM);
-
- // Register the signal handler object to catch the signals.
- if (TAO_ORB_Core_instance ()->reactor ()->register_handler (sig_set,
- this) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "register_handler"),
- -1);
- return 0;
-}
-// Called by the ACE_Reactor to extract the fd.
-
-ACE_HANDLE
-Video_Sig_Handler::get_handle (void) const
-{
- return this->handle_;
-}
-
-int
-Video_Sig_Handler::handle_input (ACE_HANDLE)
-{
- ACE_DEBUG ((LM_DEBUG, "(%t) handling asynchonrous input...\n"));
- return 0;
-}
-
-int
-Video_Sig_Handler::shutdown (ACE_HANDLE, ACE_Reactor_Mask)
-{
- ACE_DEBUG ((LM_DEBUG, "(%t) closing down Sig_Handler...\n"));
- return 0;
-}
-
-// This method handles all the signals that are being caught by this
-// object. In our simple example, we are simply catching SIGALRM,
-// SIGINT, and SIGQUIT. Anything else is logged and ignored.
-//
-// There are several advantages to using this approach. First,
-// the behavior triggered by the signal is handled in the main event
-// loop, rather than in the signal handler. Second, the ACE_Reactor's
-// signal handling mechanism eliminates the need to use global signal
-// handler functions and data.
-
-int
-Video_Sig_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
-{
- // ACE_DEBUG ((LM_DEBUG, "(%t) received signal %S\n", signum));
-
- switch (signum)
- {
- case SIGALRM:
- // Handle the timeout
- Video_Timer_Global::timerHandler (SIGALRM);
- // send the frame
- // cerr << "current state = " << this->vci_->get_state ()->get_state ();
- switch (this->vci_->get_state ()->get_state ())
- {
- case Video_Control_State::VIDEO_PLAY:
- VIDEO_SINGLETON::instance ()->play_send ();
- break;
- case Video_Control_State::VIDEO_FAST_FORWARD:
- // this handles the forward play case!
- VIDEO_SINGLETON::instance ()->fast_play_send ();
- break;
- case Video_Control_State::VIDEO_FAST_BACKWARD:
- // this handles the backward play case!
- VIDEO_SINGLETON::instance ()->fast_play_send ();
- break;
- default:
- break;
- }
- break;
- default:
- ACE_DEBUG ((LM_DEBUG,
- "(%t) %S: not handled, returning to program\n",
- signum));
- break;
- }
- // ACE_DEBUG ((LM_DEBUG,"returning from handle_signal"));
- return 0;
-}
-
-// Video_Data_Handler methods
-
-Video_Data_Handler::Video_Data_Handler ()
- : vci_ (VIDEO_CONTROL_I::instance ())
-{
-}
-
-ACE_HANDLE
-Video_Data_Handler::get_handle (void) const
-{
- return VIDEO_SINGLETON::instance ()->dgram.get_handle ();
-}
-
-int
-Video_Data_Handler::handle_input (ACE_HANDLE handle)
-{
- // fprintf (stderr,"Video_Data_Handler::handle_input ()\n");
-
- switch (this->vci_->get_state ()->get_state ())
- {
- case Video_Control_State::VIDEO_PLAY:
- VIDEO_SINGLETON::instance ()->GetFeedBack ();
- // if (VIDEO_SINGLETON::instance ()->GetFeedBack () == -1)
-// {
-// ACE_DEBUG ((LM_DEBUG, "(%P|%t) Error reading feedback. Ending the reactor event loop\n"));
-// TAO_ORB_Core_instance ()-> orb ()->shutdown ();
-// return -1;
-// }
- if (VIDEO_SINGLETON::instance ()->play_send () == -1)
- {
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) Error sending packets. Ending the reactor event loop\n"));
- // TAO_ORB_Core_instance ()-> orb ()->shutdown ();
- // return -1;
- }
- // simulating the for loop in playvideo () in vs.cpp
- break;
- case Video_Control_State::VIDEO_FAST_FORWARD:
- case Video_Control_State::VIDEO_FAST_BACKWARD:
- VIDEO_SINGLETON::instance ()->GetFeedBack ();
- if (VIDEO_SINGLETON::instance ()->fast_play_send () == -1)
- {
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) Error sending packets. Ending the reactor event loop\n"));
- // TAO_ORB_Core_instance ()-> orb ()->shutdown ();
- // return -1;
- }
- // simulating the for loop in fast_play
- break;
- }
- return 0;
-}
-
-// Video_Control_Handler methods
-
-// Video_Server_StreamEndPoint methods.
-
-int
-Video_Server_StreamEndPoint::handle_open (void)
-{
- return 0;
-}
-
-int
-Video_Server_StreamEndPoint::handle_close (void)
-{
- // called when streamendpoint is being destructed
- return 0;
-}
-
-int
-Video_Server_StreamEndPoint::handle_stop (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- return 0;
-}
-
-int
-Video_Server_StreamEndPoint::handle_start (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- return 0;
-}
-
-int
-Video_Server_StreamEndPoint::handle_destroy (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- return 0;
-}
-
-CORBA::Boolean
-Video_Server_StreamEndPoint::handle_connection_requested (AVStreams::flowSpec &the_spec,
- CORBA::Environment &env)
-{
- // ACE_DEBUG ((LM_DEBUG,"(%P|%t) Video_Server_StreamEndPoint::handle_connection_requested:() %s \n",
- // the_spec[0]));
-
- char *server_string;
-
- server_string = CORBA::string_dup ((const char *) the_spec [0]);
- CORBA::Boolean result;
- result = VIDEO_CONTROL_I::instance ()->set_peer (server_string,env);
- // Get media control from my vdev and call set_peer on that.
-
- the_spec.length (1);
- the_spec [0]=server_string;
-
- return result;
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h
deleted file mode 100644
index 29ba6ea2d7a..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Server.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* -*- C++ -*- */
-/* $Id$ */
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#ifndef MPEG_VIDEO_SERVER_H
-#define MPEG_VIDEO_SERVER_H
-
-#include "ace/Reactor.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Event_Handler.h"
-
-#include "tao/TAO.h"
-#include "include/common.h"
-#include "mpeg_shared/fileio.h"
-#include "mpeg_shared/com.h"
-#include "mpeg_shared/routine.h"
-#include "mpeg_shared/sendpt.h"
-#include "mpeg_shared/Video_ControlS.h"
-#include "mpeg_server/server_proto.h"
-#include "mpeg_server/Video_Control_State.h"
-#include "mpeg_server/Globals.h"
-#include "mpeg_server/Video_Control_i.h"
-#include "orbsvcs/AV/AVStreams_i.h"
-
-class Video_Control_i;
-
-class Video_Sig_Handler
- : public virtual ACE_Event_Handler
-{
- // = TITLE
- // Defines a video signal handler class which registers itself with the
- // default ACE_Reactor::instance () . Handles the
- // SIGALRM signal.
- //
- // = DESCRIPTION
- // This class contains a pointer to a Video_Control_Handler
- // instance and decides the signal action depending on its state.
- // An object of this class is used to periodically send the video
- // frames to the client using the Video_Timer_Global class.
-public:
- Video_Sig_Handler ();
-
- virtual ACE_HANDLE get_handle (void) const;
-
- int register_handler (void);
- // this will register this sig_handler
- // with the reactor for SIGALRM
-
- virtual int shutdown (ACE_HANDLE,
- ACE_Reactor_Mask);
-
- virtual int handle_input (ACE_HANDLE);
-
- virtual int handle_signal (ACE_HANDLE signum,
- siginfo_t * = 0,
- ucontext_t* = 0);
-private:
- ACE_HANDLE handle_;
- // my handle
-
- Video_Control_i *vci_;
- // Pointer to the Video_Control_i for accessing
- // the current state of the server.
-};
-
-class Video_Data_Handler : public virtual ACE_Event_Handler
-{
-
- // = TITLE
- // Defines a event handler for video data using a datagram i.e UDP
- // socket.
- //
- // = DESCRIPTION
- // This takes a pointer to a Video_Control_Handler instance and
- // reacts differently to the events based on the
- // video_control_handler's state.
-public:
- Video_Data_Handler ();
- // Constructor
-
- virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
- // Called when data shows up.
-
- virtual ACE_HANDLE get_handle (void) const;
- // Get the handle used by this event handler
-
-private:
- Video_Control_i *vci_;
-
-};
-
-// The stream endpoint
-class Video_Server_StreamEndPoint :
- public virtual TAO_Server_StreamEndPoint
-{
-public:
- virtual int handle_open (void) ;
- // called when streamendpoint is instantiated
-
- virtual int handle_close (void) ;
- // called when streamendpoint is being destructed
-
- virtual int handle_stop (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
- // Application needs to define this
-
- virtual int handle_start (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
- // Application needs to define this
-
-
- virtual int handle_destroy (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
- // Application needs to define this
-
- virtual CORBA::Boolean handle_connection_requested (AVStreams::flowSpec &the_spec,
- CORBA::Environment &env) ;
-
-private:
- ACE_SOCK_CODgram dgram_;
-
-};
-
-#endif /* MPEG_VIDEO_SERVER_H */
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/as.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/as.cpp
deleted file mode 100644
index 2a6cf7a49d3..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/as.cpp
+++ /dev/null
@@ -1,708 +0,0 @@
-/* $Id$ */
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-#include <sys/types.h>
-#include <netdb.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <arpa/inet.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <time.h>
-#include <sys/time.h>
-#include <stdio.h>
-#include <errno.h>
-#include <signal.h>
-#include "include/common.h"
-#include "mpeg_shared/fileio.h"
-#include "mpeg_shared/routine.h"
-#include "mpeg_shared/com.h"
-#include "server_proto.h"
-
-ACE_RCSID(mpeg_server, as, "$Id$")
-
-//extern int Mpeg_Global::session_limit, Mpeg_Global::session_num;
-
-static bytes_sent = 0;
-static time_t start_time;
-
-static int conn_tag;
-
-static int serviceSocket;
-static int audioSocket = -1;
-
-static char audioFile[PATH_SIZE];
-static int fd;
-static AudioParameter audioPara;
-static int totalSamples;
-static int fileSize;
-static unsigned char cmd;
-static live_source = 0;
-
-static int CmdRead(char *buf, int psize)
-{
- int res = wait_read_bytes(serviceSocket, buf, psize);
- if (res == 0) return (1);
- if (res == -1) {
- fprintf(stderr, "AS error on read cmdSocket, size %d", psize);
- perror("");
- return (-1);
- }
- return 0;
-}
-
-static void CmdWrite(char *buf, int size)
-{
- int res = wait_write_bytes(serviceSocket, buf, size);
- if (res == -1) {
- if (errno != EPIPE) perror("AS writes to serviceSocket");
- exit(errno != EPIPE);
- }
-}
-
-static int INITaudio(void)
-{
- int result;
- int failureType; /* 0 - can't open file, 1 - can't open live source */
- INITaudioPara para;
-
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.version = ntohl(para.version);
- para.nameLength = ntohl(para.nameLength);
- para.para.encodeType = ntohl(para.para.encodeType);
- para.para.channels = ntohl(para.para.channels);
- para.para.samplesPerSecond = ntohl(para.para.samplesPerSecond);
- para.para.bytesPerSample = ntohl(para.para.bytesPerSample);
-#endif
- if (para.nameLength>0)
- result = CmdRead(audioFile, para.nameLength);
- if (result != 0)
- return result;
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit || para.version != VERSION) {
- char errmsg[128];
- cmd = CmdFAIL;
- CmdWrite((char *)&cmd, 1);
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit) {
- sprintf(errmsg,
- "Too many sessions being serviced, please try again later.\n");
- }
- else {
- sprintf(errmsg, "Version # not match, AS %d.%02d, Client %d.%02d",
- VERSION / 100, VERSION % 100,
- para.version / 100, para.version % 100);
- }
- write_string(serviceSocket, errmsg);
- return(1);
- }
- memcpy(&audioPara, &para.para, sizeof(audioPara));
- /*
- fprintf(stderr, "Client Audio para: encode %d, ch %d, sps %d, bps %d.\n",
- para.para.encodeType, para.para.channels,
- para.para.samplesPerSecond, para.para.bytesPerSample);
- */
- audioFile[para.nameLength] = 0;
- {
- int len = strlen(audioFile);
- if (strncasecmp("LiveAudio", audioFile, 9) &&
- strcasecmp(".au", audioFile+len-3)) {
- char errmsg[128];
- cmd = CmdFAIL;
- CmdWrite((char *)&cmd, 1);
- sprintf(errmsg, "%s without suffix .au", audioFile);
- write_string(serviceSocket, errmsg);
- return(1);
- }
- }
- /*
- fprintf(stderr, "Audio file %s got.\n", audioFile);
- */
-
- if (!strncasecmp("LiveAudio", audioFile, 9)) {
- fd = OpenLiveAudio(&(para.para));
- if (fd == -1) {
- failureType = 1;
- goto failure;
- }
- fileSize =0x7fffffff;
- totalSamples = fileSize / audioPara.bytesPerSample;
- live_source = 1;
- }
- else {
- LeaveLiveAudio();
- fd = open(audioFile, O_RDONLY);
- if (fd == -1)
- {
- fprintf(stderr, "AS error on opening audio file %s", audioFile);
- perror("");
- failureType = 0;
- goto failure;
- }
-
- /* Try to get audioFile format audioPara here */
-
- /* figure out totalsamples */
- fileSize = lseek(fd, 0L, SEEK_END);
- lseek(fd, 0L, SEEK_SET);
- totalSamples = fileSize / audioPara.bytesPerSample;
- /*
- fprintf(stderr, "Total Samples=%d in audio file %ss.\n", totalSamples, audioFile);
- */
- }
- {
- INITaudioReply reply;
-
- reply.para.encodeType = htonl(audioPara.encodeType);
- reply.para.channels = htonl(audioPara.channels);
- reply.para.samplesPerSecond = htonl(audioPara.samplesPerSecond);
- reply.para.bytesPerSample = htonl(audioPara.bytesPerSample);
- reply.totalSamples = htonl(totalSamples);
-
- reply.live = htonl(live_source);
- reply.format = htonl(AUDIO_RAW);
-
- CmdWrite((char *)&cmd, 1);
- CmdWrite((char *)&reply, sizeof(reply));
- }
- return 0;
-
- failure:
- {
- /*
- fprintf(stderr, "AS error: failed initializing audio file.\n");
- */
- cmd = CmdFAIL;
- CmdWrite((char *)&cmd, 1);
- write_string(serviceSocket,
- failureType == 0 ? "Failed to open audio file for read." :
- "Failed to connect to live audio source.");
- return(1);
- }
-}
-
-#define DATABUF_SIZE 500
-
-static int databuf_size;
-static int cmdsn;
-static int nextsample;
-static int sps; /* audio play speed given by the client: samples per second */
-static int spslimit;
-static int spp; /* samples per packet */
-static AudioPacket * pktbuf = NULL;
-
-/* send a packet of audio samples to audioSocket
- returns: 0 - no more data from audio file: EOF reached;
- 1 - More data is available from the audio file */
-static int send_packet(int firstSample, int samples)
-{
- long offset = firstSample * audioPara.bytesPerSample;
- int size = samples * audioPara.bytesPerSample;
- char * buf = (char *)pktbuf + sizeof(*pktbuf);
- int len;
- int resent = 0;
- int segsize, sentsize;
-
- if (live_source) {
- len = ReadLiveAudioSamples(buf, samples);
- len *= audioPara.bytesPerSample;
- }
- else {
- lseek(fd, offset, SEEK_SET);
- while ((len = read(fd, buf, size)) == -1) {
- if (errno == EINTR)
- continue; /* interrupted */
- perror("AS error on read audio file");
- return(-1);
- }
- if (len < audioPara.bytesPerSample) {
- return 0;
- }
- }
-
- samples = len / audioPara.bytesPerSample;
- len = samples * audioPara.bytesPerSample;
- bytes_sent += len;
- pktbuf->firstSample = htonl(firstSample);
- pktbuf->samples = htonl(samples);
- pktbuf->actualSamples = htonl(samples);
- pktbuf->dataBytes = htonl(len);
- if (spslimit < sps) { /* interpolation needed */
- SFprintf(stderr, "AS audio sample interpolation not available yet.\n");
- }
- segsize = sizeof(*pktbuf) + len;
- if (conn_tag != 0) {
- while ((sentsize = write(audioSocket, (char *)pktbuf, segsize)) == -1) {
- if (errno == EINTR) /* interrupted */
- continue;
- if (errno == ENOBUFS) {
- if (resent) {
- perror("AS Warning, pkt discarded because");
- break;
- }
- else {
- resent = 1;
- usleep(5000);
- continue;
- }
- }
- if (errno != EPIPE) {
- fprintf(stderr, "AS error on send audio packet %d(%d):",
- firstSample, samples);
- perror("");
- }
- exit((errno != EPIPE));
- }
- }
- else {
- sentsize = wait_write_bytes(audioSocket, (char *)pktbuf, segsize);
- if (sentsize == -1) {
- if (errno != EPIPE) {
- fprintf(stderr, "AS error on send audio packet %d(%d):",
- firstSample, samples);
- perror("");
- }
- exit((errno != EPIPE));
- }
- }
- if (sentsize < segsize) {
- SFprintf(stderr, "AS warning: message size %dB, sent only %dB\n",
- segsize, sentsize);
- }
- /*
- SFprintf(stderr, "AS sent audio packet %d(%d).\n",
- firstSample, samples);
- */
- return (len < size ? 0 : 1);
-}
-
-/* send a packet of audio samples to audioSocket
- returns: 0 - no more data from audio file: EOF reached;
- 1 - More data is available from the audio file */
-static int SendPacket(void)
-{
- int moredata;
- pktbuf->cmdsn = htonl(cmdsn);
- pktbuf->resend = htonl(0);
- pktbuf->samplesPerSecond = htonl(sps);
- moredata = send_packet(nextsample, spp);
- if (moredata) {
- nextsample += spp;
- }
- return moredata;
-}
-
-static void ResendPacket(int firstsample, int samples)
-{
- pktbuf->cmdsn = htonl(cmdsn);
- pktbuf->resend = htonl(1);
- pktbuf->samplesPerSecond = htonl(sps);
- while (samples > 0) {
- int size = samples < spp ? samples : spp;
- send_packet(firstsample, size);
- firstsample += size;
- samples -= size;
- if (samples > 0) {
- usleep(10000);
- }
- }
-}
-
-#define SPEEDUP_SCALE 5
-#define MAX_RESEND_REQS 10
-#define FBBUF_SIZE (sizeof(AudioFeedBackPara) + \
- (MAX_RESEND_REQS - 1) * sizeof(APdescriptor))
-
-static AudioFeedBackPara * fbpara = NULL;
-
-static int PLAYaudio(void)
-{
- int hasdata = 1;
- int addSamples;
- int packets = 0;
- unsigned nextTime;
- int upp; /* micro-seconds per packet */
- int delta_sps = 0; /* compensation for sps from feedback msgs */
- int nfds = (serviceSocket > audioSocket ? serviceSocket : audioSocket) + 1;
- int result;
- /*
- fprintf(stderr, "PLAY . . .\n");
- */
- {
- PLAYaudioPara para;
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.nextSample = ntohl(para.nextSample);
- para.samplesPerSecond = ntohl(para.samplesPerSecond);
- para.samplesPerPacket = ntohl(para.samplesPerPacket);
- para.ABsamples = ntohl(para.ABsamples);
- para.spslimit = ntohl(para.spslimit);
-#endif
- nextsample = para.nextSample;
- cmdsn = para.sn;
- sps = para.samplesPerSecond;
- spslimit = para.spslimit;
- spp = para.samplesPerPacket;
- addSamples = para.ABsamples / 2;
- if (spp * audioPara.bytesPerSample > databuf_size) {
- spp = databuf_size / audioPara.bytesPerSample;
- }
- /*
- SFprintf(stderr, "AS got CmdPLAY: sps %d\n", sps);
- */
- }
- /*
- fprintf(stderr, "AS: nextSampe=%d for PLAY.\n", para.nextSample);
- */
-
- upp = (int)(1000000.0 / ((double)sps / (double)spp));
- nextTime = get_usec();
-
- CmdWrite((char *)&nextTime, sizeof(int));
-
- if (live_source) {
- StartPlayLiveAudio();
- }
-
- for (;;)
- {
- struct fd_set read_mask, write_mask;
- struct timeval tval;
- unsigned curTime = get_usec();
-
- if (hasdata) {
- if (addSamples < - spp) { /* slow down by not sending packets */
- nextTime += upp;
- addSamples += spp;
- }
- else {
- int need_sleep = 0;
- while (nextTime <= curTime && hasdata) {
- if (need_sleep) usleep(5000);
- hasdata = SendPacket();
- need_sleep = 1;
- packets ++;
- nextTime += upp;
- if (addSamples > 0 && packets % SPEEDUP_SCALE == 0) {
- addSamples -= spp;
- usleep(5000);
- hasdata = SendPacket();
- packets ++;
- }
- }
- }
- }
- curTime = nextTime - curTime;
- if (curTime > 5000000) curTime = 5000000; /* limit on 5 second weit time
- in case error happens */
- tval.tv_sec = curTime / 1000000;
- tval.tv_usec = curTime % 1000000;
- FD_ZERO(&read_mask);
- FD_SET(serviceSocket, &read_mask);
- FD_SET(audioSocket, &read_mask);
-#ifdef _HPUX_SOURCE
- if (select(nfds, (int *)&read_mask, NULL, NULL, hasdata ? &tval : NULL) == -1)
-#else
- if (select(nfds, &read_mask, NULL, NULL, hasdata ? &tval : NULL) == -1)
-#endif
- {
- if (errno == EINTR)
- continue;
- perror("AS error on select reading or writing");
- return(-1);
- }
- if (FD_ISSET(serviceSocket, &read_mask)){ /* STOP, SPEED, or CLOSE*/
- unsigned char tmp;
- result = CmdRead((char *)&tmp, 1);
- if (result != 0)
- return result;
- switch (tmp)
- {
- case CmdSPEED:
- {
- SPEEDaudioPara para;
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.samplesPerSecond = ntohl(para.samplesPerSecond);
- para.samplesPerPacket = ntohl(para.samplesPerPacket);
- para.spslimit = ntohl(para.spslimit);
-#endif
- sps = para.samplesPerSecond;
- spslimit = para.spslimit;
- spp = para.samplesPerPacket;
- if (spp * audioPara.bytesPerSample > databuf_size) {
- spp = databuf_size / audioPara.bytesPerSample;
- }
- delta_sps = 0; /* reset compensation value */
- upp = (int)(1000000.0 / ((double)sps / (double)spp));
- /*
- SFprintf(stderr, "AS got CmdSPEED: sps %d\n", sps);
- */
- }
- break;
- case CmdSTOP:
- {
- int val;
- cmd = tmp;
- /*
- fprintf(stderr, "AS: CmdSTOP. . .\n");
- */
- result = CmdRead((char *)&val, sizeof(int));
- if (result != 0)
- return result;
- /*
- CmdWrite(AUDIO_STOP_PATTERN, strlen(AUDIO_STOP_PATTERN));
- */
- if (live_source) {
- StopPlayLiveAudio();
- }
- return 0; /* return from PLAYaudio() */
- }
- case CmdCLOSE:
- if (live_source) {
- StopPlayLiveAudio();
- }
- return(1); /* The whole AS session terminates */
- default:
- if (live_source) {
- StopPlayLiveAudio();
- }
- fprintf(stderr, "AS error: cmd=%d while expects STOP/SPEED/CLOSE.\n", tmp);
- return(-1);
- }
- }
-
- if (FD_ISSET(audioSocket, &read_mask)){ /* Feedback packet */
- int bytes, len;
- for (;;) {
- if (conn_tag >= 0) {
- len = wait_read_bytes(audioSocket, (char *)fbpara, sizeof(*fbpara));
- if (len == 0) return(1); /* connection broken */
- else if (len < 0) { /* unexpected error */
- perror("AS read1 FB");
- return(-1);
- }
- }
- else { /* discard mode packet stream, read the whole packet */
- len = read(audioSocket, (char *)fbpara, FBBUF_SIZE);
- }
- if (len == -1) {
- if (errno == EINTR) continue; /* interrupt */
- else {
- if (errno != EPIPE && errno != ECONNRESET) perror("AS failed to read() fbmsg header");
- break;
- }
- }
- break;
- }
- if (len < sizeof(*fbpara)) {
- if (len > 0) fprintf(stderr,
- "AS warn read() len %dB < sizeof(*fbpara) %dB\n",
- len, sizeof(*fbpara));
- continue;
- }
-#ifdef NeedByteOrderConversion
- fbpara->type = ntohl(fbpara->type);
-#endif
- bytes = (fbpara->type > 0) ?
- sizeof(APdescriptor) * (fbpara->type - 1) :
- 0;
- if (bytes > 0) {
- if (conn_tag >= 0) { /* not discard mode packet stream,
- read the rest of packet */
- len = wait_read_bytes(audioSocket,
- ((char *)fbpara) + sizeof(*fbpara),
- bytes);
- if (len == 0) return(1); /* connection broken */
- else if (len < 0) { /* unexpected error */
- perror("AS read2 FB");
- return(-1);
- }
- len += sizeof(*fbpara);
- }
- }
- bytes += sizeof(*fbpara);
- if (len < bytes) {
- if (len > 0) fprintf(stderr,
- "AS only read partial FBpacket, %dB out of %dB.\n",
- len, bytes);
- continue;
- }
- if (live_source) { /* ignore all feedback messags for live source */
- continue;
- }
-
-#ifdef NeedByteOrderConversion
- fbpara->cmdsn = ntohl(fbpara->cmdsn);
-#endif
- if (len != sizeof(*fbpara) +
- (fbpara->type ? (fbpara->type -1) * sizeof(APdescriptor) : 0)) {
- /* unknown message, discard */
- SFprintf(stderr, "AS Unkown fb msg: len = %d, type = %d\n",
- len, fbpara->type);
- continue;
- }
- if (fbpara->cmdsn != cmdsn) { /* discard the outdated message */
- continue;
- }
-#ifdef NeedByteOrderConversion
- {
- int i, * ptr = (int *)fbpara + 2;
- for (i = 0; i < (len >> 2) - 2; i++) *ptr = ntohl(*ptr);
- }
-#endif
- if (fbpara->type == 0) { /* feedback message */
- /*
- SFprintf(stderr, "AS got fbmsg: addsamples %d, addsps %d\n",
- fbpara->data.fb.addSamples, fbpara->data.fb.addsps);
- */
- addSamples += fbpara->data.fb.addSamples;
- if (fbpara->data.fb.addsps) {
- delta_sps += fbpara->data.fb.addsps;
- upp = (int)(1000000.0 / ((double)(sps + delta_sps) / (double)spp));
- }
- }
- else { /* resend requests */
- APdescriptor * req = &(fbpara->data.ap);
- int i;
- /*
- SFprintf(stderr, "AS got %d resend reqs\n", fbpara->type);
- */
- for (i = 0; i < fbpara->type; i ++) {
- ResendPacket(req->firstSample, req->samples);
- req ++;
- }
- }
- }
- }
-}
-
-static void on_exit_routine(void)
-{
- struct sockaddr_in peeraddr_in;
- int size = sizeof(peeraddr_in);
-
- /*
- fprintf(stderr, "An AS session terminated\n");
- */
- if (getpeername(serviceSocket,
- (struct sockaddr *)&peeraddr_in, &size) == 0 &&
- peeraddr_in.sin_family == AF_INET) {
- if (strncmp(inet_ntoa(peeraddr_in.sin_addr), "129.95.50", 9)) {
- struct hostent *hp;
- time_t val = time(NULL);
- char * buf = ctime(&start_time);
-
- hp = gethostbyaddr((char *)&(peeraddr_in.sin_addr), 4, AF_INET);
- buf[strlen(buf)-1] = 0;
- printf("%s: %s %3dm%02ds %dB %s\n",
- buf,
- hp == NULL ? inet_ntoa(peeraddr_in.sin_addr) : hp->h_name,
- (val - start_time) / 60, (val - start_time) % 60,
- bytes_sent, audioFile);
- }
- }
- ComCloseConn(serviceSocket);
- ComCloseConn(audioSocket);
-}
-
-int AudioServer(int ctr_fd, int data_fd, int rttag, int max_pkt_size)
-{
- int result;
-
- serviceSocket = ctr_fd;
- audioSocket = data_fd;
- conn_tag = max_pkt_size;
-
- if (max_pkt_size < 0) max_pkt_size = -max_pkt_size;
- else if (max_pkt_size == 0) max_pkt_size = 1024 * 1024;
-
- start_time = time(NULL);
-
- atexit(on_exit_routine);
-
- result = INITaudio();
-
- if (result != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) AudioServer: "),
- result);
-
- fbpara = (AudioFeedBackPara *)malloc(FBBUF_SIZE);
- if (fbpara == NULL) {
- perror("AS failed to allocate mem for fbpara");
- return (-1);
- }
-
- databuf_size = max_pkt_size - sizeof(*pktbuf);
- if (databuf_size > DATABUF_SIZE) databuf_size = DATABUF_SIZE;
-
- pktbuf = (AudioPacket *)malloc(sizeof(*pktbuf) + databuf_size);
- if (pktbuf == NULL) {
- perror("AS failed to allocate mem for pktbuf");
- return(-1);
- }
-
- for (;;)
- {
- /*
- fprintf(stderr, "AS: waiting for a new command...\n");
- */
- result = CmdRead((char *)&cmd, 1);
- if (result != 0)
- return result;
- switch (cmd)
- {
- case CmdPLAY:
- result = PLAYaudio();
- if (result != 0)
- return result;
- break;
- case CmdCLOSE:
- /*
- fprintf(stderr, "a session closed.\n");
- */
- return(0);
- break;
- default:
- fprintf(stderr, "audio channel command %d not recoganizeable\n", cmd);
- break;
- }
- }
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/las.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/las.cpp
deleted file mode 100644
index 2e501f9d949..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/las.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/* $Id$ */
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#if 1
-
-#include <stdio.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <time.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Intrinsic.h>
-
-#include "include/common.h"
-#include "server_proto.h"
-
-ACE_RCSID(mpeg_server, las, "$Id$")
-
-#ifdef LIVE_AUDIO
-
-#include <AF/AFlib.h>
-#include <AF/AFUtils.h>
-
-static AFAudioConn *aud;
-static AC ac;
-static AFSetACAttributes attributes;
-static int bps;
-static int nextSample;
-static audioActive = 0;
-
-/*
- * Find a suitable default device
- * Returns -1 if no suitable device can be found.
- */
-static int FindDefaultDevice(AFAudioConn *aud)
-{
- AFDeviceDescriptor *audioDevice;
- int i;
- for(i=0; i<ANumberOfAudioDevices(aud); i++)
- {
- audioDevice = AAudioDeviceDescriptor(aud, i);
- if(audioDevice->inputsFromPhone == 0 && audioDevice->outputsToPhone == 0)
- return i;
- }
- return -1;
-}
-#endif
-
-
-int OpenLiveAudio(AudioParameter * ap)
-{
-#ifndef LIVE_AUDIO
- return -1;
-#else
- int device;
- int gain;
- unsigned int channels;
- int endianflag = 0;
-
- if (!audioActive) return -1;
-
- device = -1;
- attributes.rec_gain = 0;
- attributes.type = UNKNOWN_ENCODETYPE;
-
- if ( (aud = AFOpenAudioConn(NULL)) == NULL)
- {
- fprintf(stderr, "SA error: fails to open default AF connection.\n");
- return -1;
- }
-
- /* set up audio context, find sample size and sample rate
- At this time, we only support default setings */
- device = FindDefaultDevice(aud);
- attributes.type = aud->devices[device].playBufType;
- ac = AFCreateAC(aud, device,
- ACRecordGain | ACEncodingType | endianflag,
- &attributes);
- if (ac == NULL)
- {
- perror("AS error: failed to create ac");
- AFCloseAudioConn(aud);
- return -1;
- }
- if (attributes.type == ap->encodeType) {
- bps = ap->bytesPerSample;
- return 0;
- }
- else {
- fprintf(stderr, "AS error: encodeType %d, client encodeType %d\n",
- attributes.type, ap->encodeType);
- return -1;
- }
-#endif
-}
-
-void StartPlayLiveAudio(void)
-{
-#ifndef LIVE_AUDIO
- return;
-#else
- nextSample = AFGetTime(ac);
- SFprintf(stderr, "LAS nextSample %d\n", nextSample);
- return;
-#endif
-}
-
-void StopPlayLiveAudio(void)
-{
-#ifndef LIVE_AUDIO
- return;
-#else
- return;
-#endif
-}
-
-int ReadLiveAudioSamples(char * buf, int samples)
-{
-#ifndef LIVE_AUDIO
- return 0;
-#else
- /*
- SFprintf(stderr, "LAS to read %d bytes\n", samples * bps);
- */
- AFRecordSamples(ac, nextSample, samples * bps, (unsigned char *)buf, ABlock);
- nextSample += samples;
- /*
- SFprintf(stderr, "LAS read live %d samples\n", samples);
- */
- return samples;
-#endif
-}
-
-#endif
-
-#if 0
-
-/* Following is a version using /dev/audio directly, since /dev/audio can't be
- shared by different sessions, at most one session can be served. */
-
-#include <stdio.h>
-#include <errno.h>
-/*
-#include <sys/types.h>
-#include <sys/socket.h>
-*/
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#include <sys/ioctl.h>
-#include <sys/stat.h>
-#include <sys/filio.h>
-#include <sys/stropts.h>
-
-#include <time.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Intrinsic.h>
-
-ACE_RCSID(mpeg_server, las, "$Id$")
-
-static int sunfd1;
-static int bps;
-static int nextSample;
-
-
-int OpenLiveAudio(AudioParameter * ap)
-{
- if (!audioActive) return -1;
-
- if ((sunfd1 = open("/dev/audio", O_RDONLY, 0)) < 0) {
- fprintf(stderr, "dda can't open /dev/audio, errno message \" %d \"\n",
- errno);
- return -1;
- }
- bps = ap->bytesPerSample;
- ioctl(sunfd1, I_FLUSH, FLUSHR);
- return 0;
-}
-
-void StartPlayLiveAudio(void)
-{
- ioctl(sunfd1, I_FLUSH, FLUSHR);
-}
-
-void StopPlayLiveAudio(void)
-{
-}
-
-int ReadLiveAudioSamples(char * buf, int samples)
-{
- int bytes = samples * bps;
- int len = read(sunfd1, buf, bytes);
- if (len != bytes) {
- fprintf(stderr, "ReadLive: need %d samples (%dB), read %dB\n",
- samples, bytes, len);
- return len / bps;
- }
- return samples;
-}
-
-#endif
-
-int InitLiveAudio(int argc, char ** argv)
-{
-#ifndef LIVE_AUDIO
- return -1;
-#else
-
- audioActive = 1;
-
- fprintf(stderr, "LAS initialized.\n");
- return 0;
-#endif
-}
-
-void ExitLiveAudio(void)
-{
- return;
-}
-
-void LeaveLiveAudio(void)
-{
- return;
-}
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/lvs.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/lvs.cpp
deleted file mode 100644
index f95d52befee..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/lvs.cpp
+++ /dev/null
@@ -1,413 +0,0 @@
-/* $Id$ */
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#include <stdio.h>
-#include <errno.h>
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#include <time.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Intrinsic.h>
-
-#include "include/common.h"
-#include "mpeg_shared/routine.h"
-#include "server_proto.h"
-
-ACE_RCSID(mpeg_server, lvs, "$Id$")
-
-#ifdef LIVE_VIDEO
-#include "lvs_shared.h"
-
-LvsSharedData * shared = NULL;
-static int lvspid = -1; /* -1: no lvs, 0 - lvs child, >0 - vs proc */
-static int prefid = -1, first_fid, first_frame;
-static int curbuf;
-
-#define PID_FILE "~/.vcr/lvsPid"
-#define QUALITY_FILE "~/.vcr/lvsQuality"
-
-static int count = 0;
-static unsigned session_time;
-
-static int curpid = 0;
-
-static void on_exit_routine(void)
-{
- char buf[256];
- if (getpid() != curpid) return;
- get_full_path(PID_FILE, buf, 256);
- unlink(buf);
-}
-
-static void register_pid(void)
-{
- char buf[256];
- FILE *fp;
- get_full_path(PID_FILE, buf, 256);
- fp = fopen(buf, "w");
- fprintf(fp, "%d -- pid of current VS process\n", getpid());
- fclose(fp);
-}
-
-static void set_quality_level(void)
-{
- char buf[256];
- FILE *fp;
- int qos = -1;
- get_full_path(QUALITY_FILE, buf, 256);
- fp = fopen(buf, "r");
- if (fp == NULL) return;
-
- fscanf(fp, "%d", &qos);
- fclose(fp);
- if (qos >= 0 && qos <= 100) {
- shared->qos_val = qos;
- }
-}
-
-static void hup_handler(int status)
-{
- setsignal(SIGHUP, SIG_IGN);
- if (getpid() != curpid) return;
- set_quality_level();
- setsignal(SIGHUP, hup_handler);
-}
-
-#endif
-
-int InitLiveVideo(int argc, char ** argv) /* -1 -- failed, 0 - succ */
-{
-#ifndef LIVE_VIDEO
- return -1;
-#else
-/*
-#define BUFSIZE 768 * 576 * 3 / 8
-#define BUFSIZE 640 * 480 * 3 / 2
-*/
-#define BUFSIZE 1024 * 1024
-
- char * buf = creat_shared_mem(BUFSIZE);
- int sid = creat_semaphore();
- int susid = creat_semaphore();
-
- enter_cs(susid);
-
- shared = (LvsSharedData *)buf;
- shared->sid = sid;
- shared->susid = susid;
- shared->initState = 0;
- shared->bufDataBytes = BUFSIZE - sizeof(*shared);
- shared->buf = (LvsBuffer *)((char *)shared + sizeof(*shared));
-
- register_pid();
- set_quality_level();
-
- /* all other fields to be initialized by LVS process */
-
- while ((lvspid = fork()) == -1);
-
- if (lvspid == 0) { /* child process, reading from camera */
- LiveVideoProcess(argc, argv);
- exit(1);
- }
-
- while (shared->initState == 0) usleep(100000); /* wait for SunVideo to init */
-
- if (shared->initState == -1) {
- fprintf(stderr, "LVS error: init of child process failed\n");
- kill(lvspid, SIGINT);
- remove_shared_mem(buf);
- remove_semaphore(sid);
- remove_semaphore(susid);
- lvspid = -1;
- return -1;
- }
- else {
-
- fprintf(stderr, "LVS initialized.\n");
-
- curpid = getpid();
-
- atexit(on_exit_routine);
-
- setsignal(SIGHUP, hup_handler);
-
- return 0;
- }
-#endif
-}
-
-void LeaveLiveVideo(void)
-{
-#ifndef LIVE_VIDEO
- return;
-#else
- if (lvspid == -1) return;
- remove_shared_mem((char *)shared);
- shared = NULL;
-#endif
-}
-
-void ExitLiveVideo(void)
-{
-#ifndef LIVE_VIDEO
- return;
-#else
- if (lvspid == -1) return;
- kill(lvspid, SIGINT);
- remove_semaphore(shared->sid);
- remove_semaphore(shared->susid);
- remove_shared_mem((char *)shared);
- lvspid = -1;
- shared = NULL;
-#endif
-}
-
-int OpenLiveVideo(int * format,
- int * width, int * height,
- int * averageFrameSize,
- double * fps,
- int * pelAspectRatio /* MPEG1 encoding used here */
- ) /* -1 -- failed, 0 - succ */
-{
-#ifndef LIVE_VIDEO
- return -1;
-#else
- if (lvspid == -1) return -1;
- *format = shared->format;
- *width = shared->width;
- *height = shared->height;
- *averageFrameSize = shared->averageFrameSize;
- *fps = shared->fps;
- *pelAspectRatio = shared->pelAspectRatio;
-
- fprintf(stderr, "LVS session %d opened.\n", getpid());
-
- return 0;
-#endif
-}
-
-void StartPlayLiveVideo(void)
-{
-#ifndef LIVE_VIDEO
- return;
-#else
- if (lvspid == -1) return;
-
- count = 0;
- session_time = get_msec();
-
- enter_cs(shared->sid);
-
- prefid = -1;
- first_fid = -1;
- first_frame = -1;
-
- if (shared->activeSessions <= 0) shared->activeSessions = 1;
- else shared->activeSessions ++;
-
- leave_cs(shared->sid);
-
- while (shared->curbuf <= shared->wait_curbuf) {
- /*
- fprintf(stderr, "curbuf %d, wait_curbuf %d\n",
- shared->curbuf, shared->wait_curbuf);
- */
- usleep(10000);
- }
-
- fprintf(stderr, "LVS session %d started\n", getpid());
-
- return;
-#endif
-}
-
-void StopPlayLiveVideo(void)
-{
-#ifndef LIVE_VIDEO
- return;
-#else
- if (lvspid == -1) return;
- enter_cs(shared->sid);
- shared->activeSessions --;
- leave_cs(shared->sid);
-
- fprintf(stderr, "LVS session %d stopped, at %5.2f fps.\n", getpid(),
- ((double)count * 1000.0) / get_duration(session_time, get_msec()));
-
- return;
-#endif
-}
-
-#if 1
-int ReadLiveVideoPicture(int * frame, char * buf, int size) /* ret # bytes */
-{
-#ifndef LIVE_VIDEO
- return 0;
-#else
- int pframe = * frame;
- int ssize;
- int bufptr;
-
- if (lvspid == -1) return 0;
-
- if (first_frame == -1) { /* first frame in current session */
- curbuf = shared->curbuf - 1;
- bufptr = curbuf % shared->bufnum;
- enter_cs(shared->sid);
- }
- else {
- int bufnum = shared->bufnum < 3 ? shared->bufnum : 3;
- do {
- curbuf ++;
- if (curbuf <= shared->curbuf - bufnum) {
- /*
- fprintf(stderr, "LVS session %d skipped %d buffers\n",
- getpid(), shared->curbuf - bufnum + 1 - curbuf);
- */
- curbuf = shared->curbuf - bufnum + 1;
- }
- bufptr = curbuf % shared->bufnum;
- while (shared->buf[bufptr].fid <= prefid) {
- /*
- fprintf(stderr,
- "LVS session %d wait: curbuf %d, shared->curbuf %d, prefid %d, shared->fid %d\n",
- getpid(), curbuf, shared->curbuf, prefid, shared->buf[bufptr].fid);
- */
- enter_cs(shared->sid);
- shared->suscount ++;
- leave_cs(shared->sid);
- enter_cs(shared->susid);
- }
- } while (pframe > first_frame + (shared->buf[bufptr].fid - first_fid));
-
- enter_cs(shared->sid);
- /*
- fprintf(stderr, "pframe %d, aframe %d\n",
- pframe, first_frame + (shared->buf[bufptr].fid - first_fid));
- */
- }
- shared->buf[bufptr].refcnt ++;
- leave_cs(shared->sid);
-
- ssize = shared->buf[bufptr].size;
-
- ssize = (ssize < size ? ssize : size);
- memcpy(buf, shared->buf[bufptr].data, ssize);
-
- enter_cs(shared->sid);
-
- shared->buf[bufptr].refcnt --;
- prefid = shared->buf[bufptr].fid;
- if (first_frame == -1) {
- first_fid = prefid;
- first_frame = * frame;
- }
- else {
- * frame = first_frame + (prefid - first_fid);
- }
- leave_cs(shared->sid);
- /*
- fprintf(stderr,
- "LVS session %d read curbuf %d fid %d, frame %d size %d (ffid %d, fframe %d)\n",
- getpid(), curbuf, prefid, *frame, ssize, first_fid, first_frame);
- */
- /*
- fprintf(stderr, "LVS read fid %d, frame %d\n", prefid, *frame);
- */
- count ++;
- return ssize;
-#endif
-}
-#endif
-
-#if 0
-/* following version is for testing the speed of the vcr path, excluding the
- xil stuff */
-
-static long start_time;
-
-int ReadLiveVideoPicture(int * frame, char * buf, int size) /* ret # bytes */
-{
-#ifndef LIVE_VIDEO
- return 0;
-#else
- int pframe = * frame;
- int ssize;
- char * sbuf;
- if (lvspid == -1) return 0;
-
- loop_begin:
- /*
- enter_cs(shared->sid);
- */
- if (first_frame == -1) {
- first_frame = *frame;
- first_fid = shared->fid;
- start_time = get_msec();
- }
- else {
- int f = first_frame + ((double)get_duration(start_time, get_msec()) /
- ((double)1000.0 / (double)shared->fps));
- if (f < *frame) {
-
- leave_cs(shared->sid);
- /*
- fprintf(stderr, "f=%d < *frame=%d\n", f, *frame);
- */
- usleep(10000);
- goto loop_begin;
- }
- *frame = f;
- }
-
- prefid = shared->fid;
- sbuf = shared->buf[shared->curbuf].data;
- ssize = shared->buf[shared->curbuf].size;
-
- ssize = (ssize < size ? ssize : size);
- memcpy(buf, sbuf, ssize);
- /*
- leave_cs(shared->sid);
- */
- /*
- fprintf(stderr, "LVS read fid %d, frame %d size %d (ffid %d, fframe %d)\n",
- shared->fid, *frame, ssize, first_fid, first_frame);
- */
- count ++;
- return ssize;
-#endif
-}
-#endif
-
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h
deleted file mode 100644
index 2076b2921c5..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/server_proto.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* $Id$ */
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-
-#include "Globals.h"
-
-/* las.c */
-int InitLiveAudio(int argc, char ** argv); /* -1 -- failed, 0 - succ */
-void LeaveLiveAudio(void);
- /* each child forked not doing live audio should call this */
-void ExitLiveAudio(void);
-int OpenLiveAudio(AudioParameter * ap); /* -1 -- failed, 0 - succ */
-void StartPlayLiveAudio(void);
-void StopPlayLiveAudio(void);
-int ReadLiveAudioSamples(char * buf, int samples); /* ret # samples */
-
-/* lvs.c */
-
-int InitLiveVideo(int argc, char ** argv); /* -1 -- failed, 0 - succ */
-void LeaveLiveVideo(void);
- /* each child forked not doing live video should call this */
-void ExitLiveVideo(void);
-int OpenLiveVideo(int * format,
- int * width, int * height,
- int * averageFrameSize,
- double * fps,
- int * pelAspactRatio /* MPEG1 encoding used here */
- ); /* -1 -- failed, 0 - succ */
-void StartPlayLiveVideo(void);
-void StopPlayLiveVideo(void);
-int ReadLiveVideoPicture(int * frame, char * buf, int size); /* ret # bytes */
-
-/*from camera driver definitions */
-
-int LiveVideoProcess(int argc, char ** argv);
-
-/* as.c */
-int AudioServer(int ctr_fd, int data_fd, int rttag, int max_pkt_size);
-
-/* vs.c */
-int VideoServer(int ctr_fd, int data_fd, int rttag, int max_pkt_size);
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/vs.cpp b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/vs.cpp
deleted file mode 100644
index 673fd288329..00000000000
--- a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/vs.cpp
+++ /dev/null
@@ -1,2207 +0,0 @@
-/* $Id$ */
-
-/* Copyright (c) 1995 Oregon Graduate Institute of Science and Technology
- * P.O.Box 91000-1000, Portland, OR 97291, USA;
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of O.G.I. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. O.G.I. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * O.G.I. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * O.G.I. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Shanwei Cen
- * Department of Computer Science and Engineering
- * email: scen@cse.ogi.edu
- */
-#include <sys/types.h>
-#include <sys/uio.h>
-#include <unistd.h>
-#include <netdb.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <arpa/inet.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <time.h>
-#include <sys/time.h>
-#include <stdio.h>
-#include <errno.h>
-#include <signal.h>
-
-#include "include/common.h"
-#include "mpeg_shared/routine.h"
-#include "mpeg_shared/fileio.h"
-#include "mpeg_shared/com.h"
-#include "mpeg_shared/sendpt.h"
-#include "server_proto.h"
-
-ACE_RCSID(mpeg_server, vs, "$Id$")
-
-// %% Move all these functions to the VIDEO_SINGLETON class and remove
-// zombie code like VideoServer ()...
-static int CmdRead(char *buf, int psize)
-{
- int res = wait_read_bytes (VIDEO_SINGLETON::instance ()->serviceSocket,
- buf,
- psize);
- if (res == 0) return(1);
- if (res == -1) {
- fprintf(stderr, "VS error on read VIDEO_SINGLETON::instance ()->cmdSocket, size %d", psize);
- perror("");
- return(-1);
- }
- return 0;
-}
-
-static void CmdWrite(char *buf, int size)
-{
- int res = wait_write_bytes(VIDEO_SINGLETON::instance ()->serviceSocket, buf, size);
- if (res == -1) {
- if (errno != EPIPE) perror("VS writes to VIDEO_SINGLETON::instance ()->serviceSocket");
- exit(errno != EPIPE);
- }
-}
-
-int FBread(char * buf, int size)
-{ int res;
- while ((res = (VIDEO_SINGLETON::instance ()->conn_tag >= 0 ? wait_read_bytes(VIDEO_SINGLETON::instance ()->videoSocket, buf, size) :
- read(VIDEO_SINGLETON::instance ()->videoSocket, buf, size))) == -1)
- {
- if (errno == EINTR) {errno = 0; continue; }
- if (errno == EPIPE || errno == ECONNRESET) exit(0);
- perror("VS reads Feedback VIDEO_SINGLETON::instance ()->packet");
- return -1;
- }
- if (res < size) {
- if (res) fprintf(stderr, "VS warn: FBread() res %dB < size %dB\n", res, size);
- return -1;
- }
- return 0;
-}
-
-
-/* send a given VIDEO_SINGLETON::instance ()->packet pointed by 'VIDEO_SINGLETON::instance ()->packet' to the network */
-
-int send_to_network(int timeToUse)
-{
- int count = 0;
- VideoMessage * msghd = (VideoMessage *)(((char *)VIDEO_SINGLETON::instance ()->packet) - sizeof(VideoMessage));
- int sent = 0;
- int packetSize = ntohl(VIDEO_SINGLETON::instance ()->packet->dataBytes);
-
- msghd->packetsn = htonl(VIDEO_SINGLETON::instance ()->packetsn ++);
- msghd->packetSize = htonl(packetSize + sizeof(* VIDEO_SINGLETON::instance ()->packet));
- /*
- fprintf(stderr, "VS to send pkt %d of size %d.\n",
- ntohl(msghd->VIDEO_SINGLETON::instance ()->packetsn), ntohl(msghd->VIDEO_SINGLETON::instance ()->packetSize));
- */
- {
- VideoMessage * msg = NULL;
- int size = packetSize + sizeof(* VIDEO_SINGLETON::instance ()->packet); /* msghd->VIDEO_SINGLETON::instance ()->packetSize */
- int offset = 0;
- int targetTime;
-
- if (size > VIDEO_SINGLETON::instance ()->msgsize)
- {
-
- if (!timeToUse)
- {
- timeToUse = (VIDEO_SINGLETON::instance ()->msgsize + sizeof(*msg) + 28) * 2;
- /*
- set the max network as 500KB.
- 28 - UDP header size
- */
- /*
- fprintf(stderr, "computed timeToUse %d. ", timeToUse);
- */
- }
- else
- {
- timeToUse = (timeToUse * 7) >> 3;
- /*
- fprintf(stderr, "preset timeToUse %d.", timeToUse);
- */
- timeToUse /= (size + VIDEO_SINGLETON::instance ()->msgsize - 1) / VIDEO_SINGLETON::instance ()->msgsize;
- timeToUse = min(timeToUse, (VIDEO_SINGLETON::instance ()->msgsize + sizeof(*msg) + 28) * 100);
- /* limit min network bandwidth = 10K */
- }
-
- }
- while (size > 0)
- {
- int segsize, sentsize;
- int resent = 0;
-
- if (msg == NULL) { /* first message for current VIDEO_SINGLETON::instance ()->packet */
- count = 0;
- msg = msghd;
- targetTime = get_usec();
- }
- else {
-#if 0
- /* the select() is not precise enough for being used here*/
- int sleepTime;
- targetTime += timeToUse;
- sleepTime = get_duration(get_usec(), targetTime);
- if (sleepTime >= 5000) { /* resolution of timer is 10,000 usec */
- usleep(sleepTime); /* not first message, wait for a while */
- }
-#endif
- /*
- count ++;
- if (!(count % 10)) usleep(10000);
- */
- msg = (VideoMessage *)((char *)msg + VIDEO_SINGLETON::instance ()->msgsize);
- memcpy((char *)msg, (char *)msghd, sizeof(* msg));
- }
- msg->msgsn = htonl(VIDEO_SINGLETON::instance ()->msgsn++);
- msg->msgOffset = htonl(offset);
- msg->msgSize = htonl(min(size, VIDEO_SINGLETON::instance ()->msgsize));
-
- segsize = min(size, VIDEO_SINGLETON::instance ()->msgsize)+sizeof(*msg);
- if (VIDEO_SINGLETON::instance ()->conn_tag != 0) { /* VIDEO_SINGLETON::instance ()->packet stream */
- while ((sentsize = write(VIDEO_SINGLETON::instance ()->videoSocket, (char *)msg, segsize)) == -1) {
- if (errno == EINTR)
- continue;
- if (errno == ENOBUFS) {
- if (resent) {
- perror("Warning, pkt discarded because");
- sent = -1;
- break;
- }
- else {
- resent = 1;
- perror("VS to sleep 5ms");
- usleep(5000);
- continue;
- }
- }
- if (errno != EPIPE) {
- fprintf(stderr, "VS error on send VIDEO_SINGLETON::instance ()->packet %d of size %d ",
- VIDEO_SINGLETON::instance ()->msgsn-1, min(size, VIDEO_SINGLETON::instance ()->msgsize)+sizeof(*msg));
- perror("");
- }
- exit(errno != EPIPE);
- }
- }
- else {
- sentsize = wait_write_bytes(VIDEO_SINGLETON::instance ()->videoSocket, (char *)msg, segsize);
- if (sentsize == -1) {
- if (errno != EPIPE) {
- fprintf(stderr, "VS error on send VIDEO_SINGLETON::instance ()->packet %d of size %d ",
- VIDEO_SINGLETON::instance ()->msgsn-1, min(size, VIDEO_SINGLETON::instance ()->msgsize)+sizeof(*msg));
- perror("");
- }
- exit(errno != EPIPE);
- }
- }
- if (sentsize < segsize) {
- SFprintf(stderr, "VS warning: message size %dB, sent only %dB\n",
- segsize, sentsize);
- }
- if (sent == -1)
- break;
- /*
- fprintf(stderr, "VS: message %d of size %d sent.\n",
- VIDEO_SINGLETON::instance ()->msgsn-1, min(size, VIDEO_SINGLETON::instance ()->msgsize)+sizeof(*msg));
- */
- size -= VIDEO_SINGLETON::instance ()->msgsize;
- offset += VIDEO_SINGLETON::instance ()->msgsize;
- }
- }
- /*
- fprintf(stderr, "sent = %d\n", sent);
- */
- if (!sent) VIDEO_SINGLETON::instance ()->pkts_sent ++;
- return sent;
-}
-
-/*
- * send a VIDEO_SINGLETON::instance ()->packet with given VIDEO_SINGLETON::instance ()->systemHeader (optional), gop (optional) and frame.
- *
- * sh - system header id, if -1, then no system header will be sent.
- * otherwise, only when frame == 0, the given system header will be sent.
- * gop - group of pictures, gop header will be sent when frame == 0
- * (first I frame );
- * frame - frame to be sent, offset internal to given gop.
- */
-
-/* returns: 0 - VIDEO_SINGLETON::instance ()->packet sent, -1 - VIDEO_SINGLETON::instance ()->packet not sent (failed) */
-static int SendPacket(int shtag, int gop, int frame, int timeToUse)
-/* frame maybe out of range (PLAY, STEP), in this case, END_SEQ is sent
- to force display of last frame in VD */
-{
- char * buf = ((char *) VIDEO_SINGLETON::instance ()->packet) + sizeof(VideoPacket);
- int f = VIDEO_SINGLETON::instance ()->gopTable[gop].previousFrames + frame;
- int sh = VIDEO_SINGLETON::instance ()->gopTable[gop].systemHeader;
- /*
- SFprintf(stderr, "VS to send VIDEO_SINGLETON::instance ()->packet gop-%d, frame-%d.\n", gop, frame);
- */
-
- VIDEO_SINGLETON::instance ()->packet->currentUPF = ntohl(VIDEO_SINGLETON::instance ()->currentUPF);
-
- if (frame >= VIDEO_SINGLETON::instance ()->gopTable[gop].totalFrames)
- {
- VIDEO_SINGLETON::instance ()->packet->cmd = htonl(VIDEO_SINGLETON::instance ()->cmd);
- VIDEO_SINGLETON::instance ()->packet->cmdsn = htonl(VIDEO_SINGLETON::instance ()->cmdsn);
- VIDEO_SINGLETON::instance ()->packet->sh = htonl(sh);
- VIDEO_SINGLETON::instance ()->packet->gop = htonl(gop);
- VIDEO_SINGLETON::instance ()->packet->frame = htonl(VIDEO_SINGLETON::instance ()->numF);
- VIDEO_SINGLETON::instance ()->packet->display = htonl(VIDEO_SINGLETON::instance ()->numF-1);
- VIDEO_SINGLETON::instance ()->packet->future = htonl((unsigned)-1);
- VIDEO_SINGLETON::instance ()->packet->past = htonl((unsigned)-1);
- VIDEO_SINGLETON::instance ()->packet->dataBytes = htonl(4);
- *(int*)((char*)VIDEO_SINGLETON::instance ()->packet + sizeof(*VIDEO_SINGLETON::instance ()->packet)) = htonl(SEQ_END_CODE);
-
- return send_to_network(timeToUse);
- }
-
- if (frame)
- shtag = 0;
- else if (VIDEO_SINGLETON::instance ()->needHeader)
- {
- shtag = 1;
- VIDEO_SINGLETON::instance ()->needHeader = 0;
- }
-
- VIDEO_SINGLETON::instance ()->packet->cmd = htonl(VIDEO_SINGLETON::instance ()->cmd);
- VIDEO_SINGLETON::instance ()->packet->cmdsn = htonl(VIDEO_SINGLETON::instance ()->cmdsn);
- VIDEO_SINGLETON::instance ()->packet->sh = htonl(sh);
- VIDEO_SINGLETON::instance ()->packet->gop = htonl(gop);
- VIDEO_SINGLETON::instance ()->packet->frame = htonl(f);
- if (VIDEO_SINGLETON::instance ()->frameTable[f].type == 'B')
- {
- int pre1 = -1, pre2 = -1, i = f;
- while (i>0)
- if (VIDEO_SINGLETON::instance ()->frameTable[--i].type != 'B')
- {
- pre1 = i;
- break;
- }
- while (i>0)
- if (VIDEO_SINGLETON::instance ()->frameTable[--i].type != 'B')
- {
- pre2 = i;
- break;
- }
- if (pre2 == -1)
- {
- /*
- fprintf(stderr,
- "frame %d-%d (%d) is a B without past ref, no to be sent.\n",
- gop, frame, f);
- */
- return -1;
- }
- if (pre1 != VIDEO_SINGLETON::instance ()->lastRef[VIDEO_SINGLETON::instance ()->lastRefPtr] ||
- pre2 != VIDEO_SINGLETON::instance ()->lastRef[1 - VIDEO_SINGLETON::instance ()->lastRefPtr])
- {
- /*
- fprintf(stderr,
- "send of B frame %d gaveup for past %d/future %d ref not sent.\n",
- f, pre2, pre1);
- */
- return -1;
- }
- VIDEO_SINGLETON::instance ()->packet->display = htonl(f);
- VIDEO_SINGLETON::instance ()->packet->future = htonl(pre1);
- VIDEO_SINGLETON::instance ()->packet->past = htonl(pre2);
- }
- else
- {
- int next = f;
- int pre = f;
-
- while (next < VIDEO_SINGLETON::instance ()->numF && VIDEO_SINGLETON::instance ()->frameTable[++next].type == 'B');
- while (pre > 0 && VIDEO_SINGLETON::instance ()->frameTable[--pre].type == 'B');
- if (VIDEO_SINGLETON::instance ()->frameTable[f].type == 'P' && pre != VIDEO_SINGLETON::instance ()->lastRef[VIDEO_SINGLETON::instance ()->lastRefPtr])
- {
- /*
- fprintf(stderr,
- "send of P frame %d gaveup for past ref %d not sent.\n",
- f, pre);
- fprintf(stderr, "ref0=%d, ref1=%d, ptr=%d.\n",
- VIDEO_SINGLETON::instance ()->lastRef[0], VIDEO_SINGLETON::instance ()->lastRef[1], VIDEO_SINGLETON::instance ()->lastRefPtr);
- */
- return -1;
- }
- VIDEO_SINGLETON::instance ()->packet->display = htonl(next);
- VIDEO_SINGLETON::instance ()->packet->future = htonl((unsigned)-1);
- VIDEO_SINGLETON::instance ()->packet->past = htonl(VIDEO_SINGLETON::instance ()->frameTable[f].type == 'P' ? pre : (unsigned)-1);
- }
- {
- char * ptr = buf;
- int size = 0, offset = 0, i;
- if (shtag) /* send system header */
- {
- size = VIDEO_SINGLETON::instance ()->systemHeader[sh].size;
- FileRead(VIDEO_SINGLETON::instance ()->systemHeader[sh].offset, ptr, size);
- ptr += size;
- }
- if (!frame) /* send gop header */
- {
- size = VIDEO_SINGLETON::instance ()->gopTable[gop].headerSize;
- FileRead(VIDEO_SINGLETON::instance ()->gopTable[gop].offset, ptr, size);
- ptr += size;
- }
- size = VIDEO_SINGLETON::instance ()->frameTable[f].size;
- for (i=VIDEO_SINGLETON::instance ()->gopTable[gop].previousFrames; i<f; i++)
- offset += VIDEO_SINGLETON::instance ()->frameTable[i].size;
- FileRead((VIDEO_SINGLETON::instance ()->gopTable[gop].firstIoffset + offset), ptr, size);
- ptr += size;
- VIDEO_SINGLETON::instance ()->packet->dataBytes = htonl(ptr - buf);
- }
-
- {
- int sent = send_to_network(timeToUse);
- if (!sent)
- {
- /*
- fprintf(stderr, "%c%d\n", VIDEO_SINGLETON::instance ()->frameTable[f].type, f);
- fprintf(stderr, "%c frame %d sent.\n", VIDEO_SINGLETON::instance ()->frameTable[f].type, f);
- */
- if (VIDEO_SINGLETON::instance ()->frameTable[f].type != 'B')
- {
- VIDEO_SINGLETON::instance ()->lastRefPtr = 1 - VIDEO_SINGLETON::instance ()->lastRefPtr;
- VIDEO_SINGLETON::instance ()->lastRef[VIDEO_SINGLETON::instance ()->lastRefPtr] = f;
- }
- }
- return sent;
- }
-}
-
-
-int SendReferences(int group, int frame)
-{
- unsigned char orgcmd;
- int i, base;
- int pregroup;
- int result;
-
- if (group < 0 || group >= VIDEO_SINGLETON::instance ()->numG) return 0;
- if (frame <= 0 || frame >= VIDEO_SINGLETON::instance ()->gopTable[group].totalFrames) return 0;
-
- orgcmd = VIDEO_SINGLETON::instance ()->cmd;
- VIDEO_SINGLETON::instance ()->cmd = CmdREF;
-
- if (group > 0) {
- pregroup = 1;
- base = VIDEO_SINGLETON::instance ()->gopTable[group].previousFrames;
- for (i = 0; i <= frame; i ++) {
- if (VIDEO_SINGLETON::instance ()->frameTable[i + base].type == 'P') {
- pregroup = 0;
- break;
- }
- }
- }
- else pregroup = 0;
-
- if (pregroup) { /* reference frame can be in previous group */
- pregroup = group -1;
- base = VIDEO_SINGLETON::instance ()->gopTable[pregroup].previousFrames;
- for (i = 0; i < VIDEO_SINGLETON::instance ()->gopTable[pregroup].totalFrames; i ++) {
- if (VIDEO_SINGLETON::instance ()->frameTable[i + base].type != 'B') {
- /*
- SFprintf(stderr, "REF group%d, frame%d\n", pregroup, i);
- */
- result = SendPacket(i == 0, pregroup, i, 0);
- if (result != 0)
- return result;
- }
- }
- }
-
- base = VIDEO_SINGLETON::instance ()->gopTable[group].previousFrames;
- for (i = 0; i < frame; i ++) {
- if (VIDEO_SINGLETON::instance ()->frameTable[i + base].type != 'B') {
- /*
- SFprintf(stderr, "REF group%d, frame%d\n", group, i);
- */
- SendPacket(i == 0, group, i, 0);
- }
- }
- VIDEO_SINGLETON::instance ()->cmd = orgcmd;
-}
-
-int SendPicture(int * frame)
-{
- int size;
- char * buf = ((char *) VIDEO_SINGLETON::instance ()->packet) + sizeof(VideoPacket);
- /*
- SFprintf(stderr, "VS to send picture %d.\n", *frame);
- */
-
- size = ReadLiveVideoPicture(frame, buf, VIDEO_SINGLETON::instance ()->packetBufSize);
-
- VIDEO_SINGLETON::instance ()->packet->currentUPF = ntohl(VIDEO_SINGLETON::instance ()->currentUPF);
- VIDEO_SINGLETON::instance ()->packet->cmd = htonl(VIDEO_SINGLETON::instance ()->cmd);
- VIDEO_SINGLETON::instance ()->packet->cmdsn = htonl(VIDEO_SINGLETON::instance ()->cmdsn);
- VIDEO_SINGLETON::instance ()->packet->sh = VIDEO_SINGLETON::instance ()->packet->gop = VIDEO_SINGLETON::instance ()->packet->frame = VIDEO_SINGLETON::instance ()->packet->display = htonl(*frame);
- VIDEO_SINGLETON::instance ()->packet->future = htonl((unsigned)-1);
- VIDEO_SINGLETON::instance ()->packet->past = htonl((unsigned)-1);
-
- VIDEO_SINGLETON::instance ()->packet->dataBytes = htonl(size);
-
- return send_to_network(VIDEO_SINGLETON::instance ()->currentUPF);
-}
-
-static int ReadInfoFromFile(void)
-{
- int fd = -1, i;
- int fnlen = strlen(VIDEO_SINGLETON::instance ()->videoFile);
-
- strcpy(&VIDEO_SINGLETON::instance ()->videoFile[fnlen], ".Info");
- fd = open(VIDEO_SINGLETON::instance ()->videoFile, O_RDONLY);
- if (fd == -1)
- {
- fprintf(stderr, "Reminder: VS fails to open %s for read, ", VIDEO_SINGLETON::instance ()->videoFile);
- perror("try create one");
- goto fail_ReadInfoFromFile;
- }
- read_int(fd, &i);
- if (i != VIDEO_SINGLETON::instance ()->fileSize)
- {
- fprintf(stderr, "Warning: VIDEO_SINGLETON::instance ()->fileSize in Info: %d not the same as actual %d.\n",
- i, VIDEO_SINGLETON::instance ()->fileSize);
- goto fail_ReadInfoFromFile;
- }
-
- read_int(fd, &VIDEO_SINGLETON::instance ()->maxS);
- read_int(fd, &VIDEO_SINGLETON::instance ()->maxG);
- read_int(fd, &VIDEO_SINGLETON::instance ()->maxI);
- read_int(fd, &VIDEO_SINGLETON::instance ()->maxP);
- read_int(fd, &VIDEO_SINGLETON::instance ()->maxB);
- read_int(fd, &VIDEO_SINGLETON::instance ()->minS);
- read_int(fd, &VIDEO_SINGLETON::instance ()->minG);
- read_int(fd, &VIDEO_SINGLETON::instance ()->minI);
- read_int(fd, &VIDEO_SINGLETON::instance ()->minP);
- read_int(fd, &VIDEO_SINGLETON::instance ()->minB);
- read_int(fd, &VIDEO_SINGLETON::instance ()->numS);
- read_int(fd, &VIDEO_SINGLETON::instance ()->numG);
- read_int(fd, &VIDEO_SINGLETON::instance ()->numF);
- read_int(fd, &VIDEO_SINGLETON::instance ()->numI);
- read_int(fd, &VIDEO_SINGLETON::instance ()->numP);
- read_int(fd, &VIDEO_SINGLETON::instance ()->numB);
- read_int(fd, &VIDEO_SINGLETON::instance ()->averageFrameSize);
- read_int(fd, &VIDEO_SINGLETON::instance ()->horizontalSize);
- read_int(fd, &VIDEO_SINGLETON::instance ()->verticalSize);
- read_int(fd, &VIDEO_SINGLETON::instance ()->pelAspectRatio);
- read_int(fd, &VIDEO_SINGLETON::instance ()->pictureRate);
- read_int(fd, &VIDEO_SINGLETON::instance ()->vbvBufferSize);
- read_int(fd, &VIDEO_SINGLETON::instance ()->patternSize);
-
- memset(VIDEO_SINGLETON::instance ()->pattern, 0, PATTERN_SIZE);
- read_bytes(fd, VIDEO_SINGLETON::instance ()->pattern, VIDEO_SINGLETON::instance ()->patternSize);
-#ifdef STAT
- VIDEO_SINGLETON::instance ()->framesSent = (char *)malloc((VIDEO_SINGLETON::instance ()->numF + 7)>>3);
- if (VIDEO_SINGLETON::instance ()->framesSent == NULL)
- {
- fprintf(stderr, "Error: VS fails to alloc mem for VIDEO_SINGLETON::instance ()->framesSent for %d frames", VIDEO_SINGLETON::instance ()->numF);
- perror("");
- exit(1);
- }
-#endif
- VIDEO_SINGLETON::instance ()->systemHeader = (struct Video_Global::SystemHeader *)malloc(sizeof(struct Video_Global::SystemHeader) * VIDEO_SINGLETON::instance ()->numS);
- if (VIDEO_SINGLETON::instance ()->systemHeader == NULL)
- {
- perror("Error: VS error on malloc VIDEO_SINGLETON::instance ()->SystemHeader");
- exit(1);
- }
- VIDEO_SINGLETON::instance ()->gopTable = (struct Video_Global::GopTable *)malloc(sizeof(struct Video_Global::GopTable) * VIDEO_SINGLETON::instance ()->numG);
- if (VIDEO_SINGLETON::instance ()->gopTable == NULL)
- {
- perror("Error: VS error on malloc GopHeader");
- exit(1);
- }
- VIDEO_SINGLETON::instance ()->frameTable = (struct Video_Global::FrameTable *)malloc(sizeof(Video_Global::FrameTable) * VIDEO_SINGLETON::instance ()->numF);
- if (VIDEO_SINGLETON::instance ()->frameTable == NULL)
- {
- perror("Error: VS error on malloc VIDEO_SINGLETON::instance ()->frameTable");
- exit(1);
- }
- VIDEO_SINGLETON::instance ()->packetBufSize = VIDEO_SINGLETON::instance ()->maxS + VIDEO_SINGLETON::instance ()->maxG + max(VIDEO_SINGLETON::instance ()->maxI, max(VIDEO_SINGLETON::instance ()->maxP, VIDEO_SINGLETON::instance ()->maxB));
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *)malloc(sizeof(VideoMessage) + sizeof(VideoPacket) +
- VIDEO_SINGLETON::instance ()->packetBufSize);
- if (VIDEO_SINGLETON::instance ()->packet == NULL)
- {
- perror("Error: VS error on malloc VIDEO_SINGLETON::instance ()->packet buffer");
- exit(1);
- }
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *)((char *)VIDEO_SINGLETON::instance ()->packet + sizeof(VideoMessage));
-
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numS; i ++)
- {
- read_int(fd, (int *)&VIDEO_SINGLETON::instance ()->systemHeader[i].offset);
- read_int(fd, &VIDEO_SINGLETON::instance ()->systemHeader[i].size);
- }
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numG; i ++)
- {
- read_int(fd, &VIDEO_SINGLETON::instance ()->gopTable[i].systemHeader);
- read_int(fd, (int *)&VIDEO_SINGLETON::instance ()->gopTable[i].offset);
- read_int(fd, &VIDEO_SINGLETON::instance ()->gopTable[i].headerSize);
- read_int(fd, &VIDEO_SINGLETON::instance ()->gopTable[i].size);
- read_int(fd, &VIDEO_SINGLETON::instance ()->gopTable[i].totalFrames);
- read_int(fd, &VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames);
- read_int(fd, (int *)&VIDEO_SINGLETON::instance ()->gopTable[i].firstIoffset);
- }
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numF; i ++)
- {
- read_byte(fd, &VIDEO_SINGLETON::instance ()->frameTable[i].type);
- read_short(fd, (short *)&VIDEO_SINGLETON::instance ()->frameTable[i].size);
- }
-
- close(fd);
- /*
- fprintf(stderr, "Read Info from %s\n", VIDEO_SINGLETON::instance ()->videoFile);
- */
- VIDEO_SINGLETON::instance ()->videoFile[fnlen] = 0;
- return 0;
- fail_ReadInfoFromFile:
- if (fd >= 0)
- close(fd);
- VIDEO_SINGLETON::instance ()->videoFile[fnlen] = 0;
- /*
- fprintf(stderr, "To scan Info from %s\n", VIDEO_SINGLETON::instance ()->videoFile);
- */
- return -1;
-}
-
-static void WriteInfoToFile(void)
-{
- int fd = -1, i;
- int fnlen = strlen(VIDEO_SINGLETON::instance ()->videoFile);
-
- strcpy(&VIDEO_SINGLETON::instance ()->videoFile[fnlen], ".Info");
- fd = open(VIDEO_SINGLETON::instance ()->videoFile, O_WRONLY | O_CREAT, 0444);
- if (fd == -1)
- {
- fprintf(stderr, "VS fails to open %s for write", VIDEO_SINGLETON::instance ()->videoFile);
- perror("");
- goto fail_WriteInfoToFile;
- }
- write_int(fd, VIDEO_SINGLETON::instance ()->fileSize);
- write_int(fd, VIDEO_SINGLETON::instance ()->maxS);
- write_int(fd, VIDEO_SINGLETON::instance ()->maxG);
- write_int(fd, VIDEO_SINGLETON::instance ()->maxI);
- write_int(fd, VIDEO_SINGLETON::instance ()->maxP);
- write_int(fd, VIDEO_SINGLETON::instance ()->maxB);
- write_int(fd, VIDEO_SINGLETON::instance ()->minS);
- write_int(fd, VIDEO_SINGLETON::instance ()->minG);
- write_int(fd, VIDEO_SINGLETON::instance ()->minI);
- write_int(fd, VIDEO_SINGLETON::instance ()->minP);
- write_int(fd, VIDEO_SINGLETON::instance ()->minB);
- write_int(fd, VIDEO_SINGLETON::instance ()->numS);
- write_int(fd, VIDEO_SINGLETON::instance ()->numG);
- write_int(fd, VIDEO_SINGLETON::instance ()->numF);
- write_int(fd, VIDEO_SINGLETON::instance ()->numI);
- write_int(fd, VIDEO_SINGLETON::instance ()->numP);
- write_int(fd, VIDEO_SINGLETON::instance ()->numB);
- write_int(fd, VIDEO_SINGLETON::instance ()->averageFrameSize);
- write_int(fd, VIDEO_SINGLETON::instance ()->horizontalSize);
- write_int(fd, VIDEO_SINGLETON::instance ()->verticalSize);
- write_int(fd, VIDEO_SINGLETON::instance ()->pelAspectRatio);
- write_int(fd, VIDEO_SINGLETON::instance ()->pictureRate);
- write_int(fd, VIDEO_SINGLETON::instance ()->vbvBufferSize);
- write_int(fd, VIDEO_SINGLETON::instance ()->patternSize);
-
- write_bytes(fd, VIDEO_SINGLETON::instance ()->pattern, VIDEO_SINGLETON::instance ()->patternSize);
-
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numS; i ++)
- {
- write_int(fd, VIDEO_SINGLETON::instance ()->systemHeader[i].offset);
- write_int(fd, VIDEO_SINGLETON::instance ()->systemHeader[i].size);
- }
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numG; i ++)
- {
- write_int(fd, VIDEO_SINGLETON::instance ()->gopTable[i].systemHeader);
- write_int(fd, VIDEO_SINGLETON::instance ()->gopTable[i].offset);
- write_int(fd, VIDEO_SINGLETON::instance ()->gopTable[i].headerSize);
- write_int(fd, VIDEO_SINGLETON::instance ()->gopTable[i].size);
- write_int(fd, VIDEO_SINGLETON::instance ()->gopTable[i].totalFrames);
- write_int(fd, VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames);
- write_int(fd, VIDEO_SINGLETON::instance ()->gopTable[i].firstIoffset);
- }
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numF; i ++)
- {
- write_byte(fd, VIDEO_SINGLETON::instance ()->frameTable[i].type);
- write_short(fd, VIDEO_SINGLETON::instance ()->frameTable[i].size);
- }
-
- close(fd);
- VIDEO_SINGLETON::instance ()->videoFile[fnlen] = 0;
- return;
- fail_WriteInfoToFile:
- if (fd >= 0)
- close(fd);
- VIDEO_SINGLETON::instance ()->videoFile[fnlen] = 0;
- return;
-}
-
-/*
-#define nextByte {fileptr ++; \
- if (fread(&nb, 1, 1, fp) == 0) \
- { \
- perror("VS Crossed EOF or error while scanning"); \
- return 1; \
- } }
-
-*/
-
-#define nextByte {int val; fileptr ++; \
- if ((val = getc(VIDEO_SINGLETON::instance ()->fp)) == EOF) \
- {\
- perror("Crossed EOF or error while scanning"); \
- return 1; \
- } nb = val;}
-
-#define computePicSize \
- if (inpic) \
- { \
- if (pictype == 'I') \
- { \
- VIDEO_SINGLETON::instance ()->maxI = max(VIDEO_SINGLETON::instance ()->maxI, (int)(fileptr - picptr - 4)); \
- VIDEO_SINGLETON::instance ()->minI = min(VIDEO_SINGLETON::instance ()->minI, (int)(fileptr - picptr - 4)); \
- } \
- else if (pictype == 'P') \
- { \
- VIDEO_SINGLETON::instance ()->maxP = max(VIDEO_SINGLETON::instance ()->maxP, (int)(fileptr - picptr - 4)); \
- VIDEO_SINGLETON::instance ()->minP = min(VIDEO_SINGLETON::instance ()->minP, (int)(fileptr - picptr - 4)); \
- } \
- else \
- { \
- VIDEO_SINGLETON::instance ()->maxB = max(VIDEO_SINGLETON::instance ()->maxB, (int)(fileptr - picptr - 4)); \
- VIDEO_SINGLETON::instance ()->minB = min(VIDEO_SINGLETON::instance ()->minB, (int)(fileptr - picptr - 4)); \
- } \
- VIDEO_SINGLETON::instance ()->frameTable[ftptr].type = pictype; \
- VIDEO_SINGLETON::instance ()->frameTable[ftptr++].size = (int)(fileptr - picptr - 4); \
- inpic = 0; \
- }
-
-static int init_MPEG1_video_file(void)
-{
- unsigned char nb;
- int state = 0;
- unsigned long fileptr = 0;
- unsigned long i, j, k;
- int shptr, gopptr, ftptr;
- int inpic = 0;
- unsigned long picptr = 0;
- int pictype = 0;
- int first = 0;
- int failureType = 0;
-
- VIDEO_SINGLETON::instance ()->fp = fopen(VIDEO_SINGLETON::instance ()->videoFile, "r");
- if (VIDEO_SINGLETON::instance ()->fp == NULL)
- {
- fprintf(stderr, "error on opening video file %s", VIDEO_SINGLETON::instance ()->videoFile);
- perror("");
- return 2;
- }
- if (fseek(VIDEO_SINGLETON::instance ()->fp, 0, 2) == -1)
- {
- fprintf(stderr, "File %s not seekable", VIDEO_SINGLETON::instance ()->videoFile);
- perror("");
- return 3;
- }
- VIDEO_SINGLETON::instance ()->fileSize = ftell(VIDEO_SINGLETON::instance ()->fp);
-
- fseek(VIDEO_SINGLETON::instance ()->fp, 0, 0);
-
- if (ReadInfoFromFile())
- {
- for (;;)
- {
- nextByte;
- if (state >= 0 && nb == 0x00)
- state ++;
- else if (state >= 2 && nb == 0x01)
- state = -1;
- else if (state == -1)
- {
- if (!first) first ++;
- else if (first == 1) first ++;
-
- switch (nb)
- {
- case 0xb7: /* seq_end_code */
- goto exit_phase1;
- break;
- case 0xb3: /* seq_start_code */
- if (first == 1) first = 3;
- if (first != 3)
- {
- fprintf(stderr, "VS error: given file is not in MPEG format.\n");
- return 4;
- }
- VIDEO_SINGLETON::instance ()->numS ++;
- break;
- case 0xb8: /* gop_start_code */
- VIDEO_SINGLETON::instance ()->numG ++;
- break;
- case 0x00: /* picture_start_code */
- nextByte;
- nextByte;
- nb &= 0x38;
- if (nb == 0x08)
- {
- VIDEO_SINGLETON::instance ()->numI ++;
- if (VIDEO_SINGLETON::instance ()->numG == 2)
- VIDEO_SINGLETON::instance ()->pattern[VIDEO_SINGLETON::instance ()->patternSize++] = 'I';
- }
- else if (nb == 0x10)
- {
- VIDEO_SINGLETON::instance ()->numP ++;
- if (VIDEO_SINGLETON::instance ()->numG == 2)
- VIDEO_SINGLETON::instance ()->pattern[VIDEO_SINGLETON::instance ()->patternSize++] = 'P';
- }
- else if (nb == 0x18)
- {
- VIDEO_SINGLETON::instance ()->numB ++;
- if (VIDEO_SINGLETON::instance ()->numG == 2)
- VIDEO_SINGLETON::instance ()->pattern[VIDEO_SINGLETON::instance ()->patternSize++] = 'B';
- }
- /*
- else
- fprintf(stderr, "VS error: unkonw picture type %d\n", nb);
- */
- break;
- default:
- break;
- }
- state = 0;
- }
- else
- state = 0;
- }
- exit_phase1:
-
- if (first != 3)
- {
- fprintf(stderr, "VS error: given file \"%s\" is not of MPEG format.\n", VIDEO_SINGLETON::instance ()->videoFile);
- return 4;
- }
-
- VIDEO_SINGLETON::instance ()->pattern[VIDEO_SINGLETON::instance ()->patternSize] = 0;
- memset(VIDEO_SINGLETON::instance ()->sendPattern, 1, PATTERN_SIZE);
-
- VIDEO_SINGLETON::instance ()->numF = VIDEO_SINGLETON::instance ()->numI + VIDEO_SINGLETON::instance ()->numP + VIDEO_SINGLETON::instance ()->numB;
- VIDEO_SINGLETON::instance ()->averageFrameSize = fileptr / (unsigned)VIDEO_SINGLETON::instance ()->numF;
- /*
- fprintf(stderr, "Pass one finished, total bytes read: %u, average frame size %d\n",
- fileptr, VIDEO_SINGLETON::instance ()->averageFrameSize);
- fprintf(stderr, "VIDEO_SINGLETON::instance ()->numS-%d, VIDEO_SINGLETON::instance ()->numG-%d, VIDEO_SINGLETON::instance ()->numF-%d, VIDEO_SINGLETON::instance ()->numI-%d, VIDEO_SINGLETON::instance ()->numP-%d, VIDEO_SINGLETON::instance ()->numB-%d\n",
- VIDEO_SINGLETON::instance ()->numS, VIDEO_SINGLETON::instance ()->numG, VIDEO_SINGLETON::instance ()->numI, VIDEO_SINGLETON::instance ()->numI, VIDEO_SINGLETON::instance ()->numP, VIDEO_SINGLETON::instance ()->numB);
- fprintf(stderr, "VIDEO_SINGLETON::Instance ()->Pattern detected: %s\n", VIDEO_SINGLETON::instance ()->pattern);
- */
- if (VIDEO_SINGLETON::instance ()->numF > MAX_FRAMES)
- {
- fprintf(stderr, "VS error: VIDEO_SINGLETON::instance ()->Number of frames (%d) is bigger than MAX_FRAMES (%d).\n\
- you need to update the constant definition in common.h and recompile.\n",
- VIDEO_SINGLETON::instance ()->numF, MAX_FRAMES);
- return 5;
- }
-
-#ifdef STAT
- VIDEO_SINGLETON::instance ()->framesSent = (char *)malloc((VIDEO_SINGLETON::instance ()->numF + 7)>>3);
- if (VIDEO_SINGLETON::instance ()->framesSent == NULL)
- {
- fprintf(stderr, "VS fails to alloc mem for VIDEO_SINGLETON::instance ()->framesSent for %d frames", VIDEO_SINGLETON::instance ()->numF);
- perror("");
- return 6;
- }
-#endif
-
- VIDEO_SINGLETON::instance ()->systemHeader = (struct Video_Global::SystemHeader *)malloc(sizeof(struct Video_Global::SystemHeader) * VIDEO_SINGLETON::instance ()->numS);
- if (VIDEO_SINGLETON::instance ()->systemHeader == NULL)
- {
- perror("VS error on malloc VIDEO_SINGLETON::instance ()->SystemHeader");
- return 7;
- }
- VIDEO_SINGLETON::instance ()->gopTable = (struct Video_Global::GopTable *)malloc(sizeof(struct Video_Global::GopTable) * VIDEO_SINGLETON::instance ()->numG);
- if (VIDEO_SINGLETON::instance ()->gopTable == NULL)
- {
- perror("VS error on malloc GopHeader");
- return 8;
- }
- VIDEO_SINGLETON::instance ()->frameTable = (struct Video_Global::FrameTable *)malloc(sizeof(Video_Global::FrameTable) * VIDEO_SINGLETON::instance ()->numF);
- if (VIDEO_SINGLETON::instance ()->frameTable == NULL)
- {
- perror("VS error on malloc VIDEO_SINGLETON::instance ()->frameTable");
- return 9;
- }
-
- rewind(VIDEO_SINGLETON::instance ()->fp);
- fileptr = 0;
- state = 0;
- inpic = 0;
- shptr = -1;
- gopptr = -1;
- ftptr = 0;
-
- for (;;)
- {
- nextByte;
- if (state >= 0 && nb == 0x00)
- state ++;
- else if (state >= 2 && nb == 0x01)
- state = -1;
- else if (state == -1)
- {
- switch (nb)
- {
- case 0xb7: /* seq_end_code */
- if (gopptr >= 0 && VIDEO_SINGLETON::instance ()->gopTable[gopptr].size == 0)
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].size = fileptr - VIDEO_SINGLETON::instance ()->gopTable[gopptr].offset - 4;
- computePicSize;
- goto exit_phase2;
- break;
- case 0xb3: /* seq_start_code */
- if (gopptr >= 0 && VIDEO_SINGLETON::instance ()->gopTable[gopptr].size == 0)
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].size = fileptr - VIDEO_SINGLETON::instance ()->gopTable[gopptr].offset - 4;
- computePicSize;
- shptr ++;
- VIDEO_SINGLETON::instance ()->systemHeader[shptr].offset = fileptr - 4;
- VIDEO_SINGLETON::instance ()->systemHeader[shptr].size = 0;
- break;
- case 0xb8: /* gop_start_code */
- if (VIDEO_SINGLETON::instance ()->systemHeader[shptr].size == 0)
- VIDEO_SINGLETON::instance ()->systemHeader[shptr].size =fileptr - VIDEO_SINGLETON::instance ()->systemHeader[shptr].offset - 4;
- if (gopptr >= 0 && VIDEO_SINGLETON::instance ()->gopTable[gopptr].size == 0)
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].size = fileptr - VIDEO_SINGLETON::instance ()->gopTable[gopptr].offset - 4;
- computePicSize;
- gopptr ++;
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].systemHeader = shptr;
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].offset = fileptr - 4;
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].headerSize = 0;
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].size = 0;
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].totalFrames = 0;
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].previousFrames = gopptr ?
- (VIDEO_SINGLETON::instance ()->gopTable[gopptr - 1].totalFrames + VIDEO_SINGLETON::instance ()->gopTable[gopptr - 1].previousFrames) : 0;
-
- break;
- case 0x00: /* picture_start_code */
- if (VIDEO_SINGLETON::instance ()->gopTable[gopptr].headerSize == 0)
- {
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].headerSize = fileptr - VIDEO_SINGLETON::instance ()->gopTable[gopptr].offset - 4;
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].firstIoffset = fileptr - 4;
- }
- VIDEO_SINGLETON::instance ()->gopTable[gopptr].totalFrames ++;
- computePicSize;
- picptr = fileptr - 4;
- nextByte;
- nextByte;
- nb &= 0x38;
- if (nb == 0x08)
- {
- pictype = 'I';
- inpic = 1;
- }
- else if (nb == 0x10)
- {
- pictype = 'P';
- inpic = 1;
- }
- else if (nb == 0x18)
- {
- pictype = 'B';
- inpic = 1;
- }
- break;
- default:
-
- break;
- }
- state = 0;
- }
- else
- state = 0;
- }
-
- exit_phase2:
- for (shptr = 0; shptr<VIDEO_SINGLETON::instance ()->numS; shptr++)
- {
- VIDEO_SINGLETON::instance ()->maxS = max(VIDEO_SINGLETON::instance ()->maxS, VIDEO_SINGLETON::instance ()->systemHeader[shptr].size);
- VIDEO_SINGLETON::instance ()->minS = min(VIDEO_SINGLETON::instance ()->minS, VIDEO_SINGLETON::instance ()->systemHeader[shptr].size);
- }
- for (gopptr = 0; gopptr<VIDEO_SINGLETON::instance ()->numG; gopptr++)
- {
- VIDEO_SINGLETON::instance ()->maxG = max(VIDEO_SINGLETON::instance ()->maxG, VIDEO_SINGLETON::instance ()->gopTable[gopptr].headerSize);
- VIDEO_SINGLETON::instance ()->minG = min(VIDEO_SINGLETON::instance ()->minG, VIDEO_SINGLETON::instance ()->gopTable[gopptr].headerSize);
- }
- VIDEO_SINGLETON::instance ()->packetBufSize = VIDEO_SINGLETON::instance ()->maxS + VIDEO_SINGLETON::instance ()->maxG + max(VIDEO_SINGLETON::instance ()->maxI, max(VIDEO_SINGLETON::instance ()->maxP, VIDEO_SINGLETON::instance ()->maxB));
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *)malloc(sizeof(VideoMessage) + sizeof(VideoPacket) +
- VIDEO_SINGLETON::instance ()->packetBufSize);
- if (VIDEO_SINGLETON::instance ()->packet == NULL)
- {
- perror("VS error on malloc VIDEO_SINGLETON::instance ()->packet buffer");
- return 10;
- }
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *)((char *)VIDEO_SINGLETON::instance ()->packet + sizeof(VideoMessage));
- /*
- fprintf(stderr, "Pass 2 finished.\n");
- fprintf(stderr, "VIDEO_SINGLETON::instance ()->maxS-%d, VIDEO_SINGLETON::instance ()->maxG-%d, VIDEO_SINGLETON::instance ()->maxI-%d, VIDEO_SINGLETON::instance ()->maxP-%d, VIDEO_SINGLETON::instance ()->maxB-%d.\n", VIDEO_SINGLETON::instance ()->maxS, VIDEO_SINGLETON::instance ()->maxG, VIDEO_SINGLETON::instance ()->maxI, VIDEO_SINGLETON::instance ()->maxP, VIDEO_SINGLETON::instance ()->maxB);
- fprintf(stderr, "VIDEO_SINGLETON::instance ()->minS-%d, VIDEO_SINGLETON::instance ()->minG-%d, VIDEO_SINGLETON::instance ()->minI-%d, VIDEO_SINGLETON::instance ()->minP-%d, VIDEO_SINGLETON::instance ()->minB-%d.\n", VIDEO_SINGLETON::instance ()->minS, VIDEO_SINGLETON::instance ()->minG, VIDEO_SINGLETON::instance ()->minI, VIDEO_SINGLETON::instance ()->minP, VIDEO_SINGLETON::instance ()->minB);
- */
- /*
- {
- int i;
-
- fprintf(stderr, "id: offset size -- system header table:\n");
- for (i=0; i<VIDEO_SINGLETON::instance ()->numS; i++)
- fprintf(stderr, "%-3d %-9u %d\n", i, VIDEO_SINGLETON::instance ()->systemHeader[i].offset, VIDEO_SINGLETON::instance ()->systemHeader[i].size);
- fprintf(stderr,
- "id: header offset hdsize totSize frames preframs Ioffset Isize -- GOP\n");
- for (i=0; i<VIDEO_SINGLETON::instance ()->numG; i++)
- {
- fprintf(stderr, "%-4d %-8d %-8u %-8d %-8d %-8d %-8d %-8u %d\n",
- i,
- VIDEO_SINGLETON::instance ()->gopTable[i].VIDEO_SINGLETON::instance ()->systemHeader,
- VIDEO_SINGLETON::instance ()->gopTable[i].offset,
- VIDEO_SINGLETON::instance ()->gopTable[i].headerSize,
- VIDEO_SINGLETON::instance ()->gopTable[i].size,
- VIDEO_SINGLETON::instance ()->gopTable[i].totalFrames,
- VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames,
- VIDEO_SINGLETON::instance ()->gopTable[i].firstIoffset,
- VIDEO_SINGLETON::instance ()->frameTable[VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames].size
- );
- }
-
- fprintf(stderr, "\nframe information:");
- for (i=0; i<VIDEO_SINGLETON::instance ()->numF; i++)
- fprintf(stderr, "%c%c%-8d", (i%10 ? '\0' : '\n'), VIDEO_SINGLETON::instance ()->frameTable[i].type, VIDEO_SINGLETON::instance ()->frameTable[i].size);
- fprintf(stderr, "\n");
-
- }
- */
- fseek(VIDEO_SINGLETON::instance ()->fp, VIDEO_SINGLETON::instance ()->systemHeader[0].offset+4, 0);
- nextByte;
- VIDEO_SINGLETON::instance ()->horizontalSize = ((int)nb <<4) & 0xff0;
- nextByte;
- VIDEO_SINGLETON::instance ()->horizontalSize |= (nb >>4) & 0x0f;
- VIDEO_SINGLETON::instance ()->verticalSize = ((int)nb <<8) & 0xf00;
- nextByte;
- VIDEO_SINGLETON::instance ()->verticalSize |= (int)nb & 0xff;
- nextByte;
- VIDEO_SINGLETON::instance ()->pelAspectRatio = ((int)nb >> 4) & 0x0f;
- VIDEO_SINGLETON::instance ()->pictureRate = (int)nb & 0x0f;
- nextByte;
- nextByte;
- nextByte;
- VIDEO_SINGLETON::instance ()->vbvBufferSize = ((int)nb << 5) & 0x3e0;
- nextByte;
- VIDEO_SINGLETON::instance ()->vbvBufferSize |= ((int)nb >>3) & 0x1f;
- /*
- fprintf(stderr, "SysHeader info: hsize-%d, vsize-%d, pelAspect-%d, rate-%d, vbv-%d.\n",
- VIDEO_SINGLETON::instance ()->horizontalSize, VIDEO_SINGLETON::instance ()->verticalSize, VIDEO_SINGLETON::instance ()->pelAspectRatio, VIDEO_SINGLETON::instance ()->pictureRate, VIDEO_SINGLETON::instance ()->vbvBufferSize);
- */
- WriteInfoToFile();
- }
-#if 0
- {
- int i, j = 20;
-
- for (i = VIDEO_SINGLETON::instance ()->numG - 1;; i --) {
- if (VIDEO_SINGLETON::instance ()->gopTable[i].offset < 4235260) {
- fprintf(stderr, "group %d: offset %ld\n", i, VIDEO_SINGLETON::instance ()->gopTable[i].offset);
- if (j -- == 0) break;
- }
- }
- /*
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numG; i ++) {
- if (VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames > 1800) {
- fprintf(stderr, "group %d: offset %ld pre-frames %d\n",
- i, VIDEO_SINGLETON::instance ()->gopTable[i].offset, VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames);
- break;
- }
- }
- */
- }
-#endif
- {
- VIDEO_SINGLETON::instance ()->firstPatternSize = VIDEO_SINGLETON::instance ()->gopTable[0].totalFrames;
- VIDEO_SINGLETON::instance ()->firstSendPattern = (char *)malloc(VIDEO_SINGLETON::instance ()->firstPatternSize);
- if (VIDEO_SINGLETON::instance ()->firstSendPattern == NULL)
- {
- fprintf(stderr, "VS failed to allocate VIDEO_SINGLETON::instance ()->firstVIDEO_SINGLETON::instance ()->SendVIDEO_SINGLETON::Instance ()->Pattern for %d frames",
- VIDEO_SINGLETON::instance ()->firstPatternSize);
- perror("");
- return 11;
- }
- }
- VIDEO_SINGLETON::instance ()->firstGopFrames = VIDEO_SINGLETON::instance ()->gopTable[0].totalFrames;
- return 0;
-}
-
- int INITvideo(void)
-{
- INITvideoPara para;
- int failureType = 0;
- int result;
- /*
- fprintf(stderr, "VS about to read Para.\n");
- */
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.version = ntohl(para.version);
- para.nameLength = ntohl(para.nameLength);
-#endif
- if (para.nameLength>0)
- {
- result = CmdRead(VIDEO_SINGLETON::instance ()->videoFile, para.nameLength);
- if (result != 0)
- return result;
- }
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit || para.version != VERSION) {
- char errmsg[128];
- VIDEO_SINGLETON::instance ()->cmd = CmdFAIL;
- CmdWrite((char *)&VIDEO_SINGLETON::instance ()->cmd, 1);
- if (Mpeg_Global::session_num > Mpeg_Global::session_limit) {
- sprintf(errmsg,
- "Too many sessions being serviced, please try again later.\n");
- }
- else {
- sprintf(errmsg, "Version # not match, VS %d.%02d, Client %d.%02d",
- VERSION / 100, VERSION % 100,
- para.version / 100, para.version % 100);
- }
- write_string(VIDEO_SINGLETON::instance ()->serviceSocket, errmsg);
- exit(0);
- }
- VIDEO_SINGLETON::instance ()->cmdsn = para.sn;
- /*
- fprintf(stderr, "MPEG file %s got.\n", VIDEO_SINGLETON::instance ()->videoFile);
- */
- VIDEO_SINGLETON::instance ()->videoFile[para.nameLength] = 0;
-
- if (!strncasecmp("LiveVideo", VIDEO_SINGLETON::instance ()->videoFile, 9)) {
- if (OpenLiveVideo(&VIDEO_SINGLETON::instance ()->video_format, &VIDEO_SINGLETON::instance ()->horizontalSize,
- &VIDEO_SINGLETON::instance ()->verticalSize, &VIDEO_SINGLETON::instance ()->averageFrameSize,
- &VIDEO_SINGLETON::instance ()->fps, &VIDEO_SINGLETON::instance ()->pelAspectRatio) == -1) {
- failureType = 100;
- goto failure;
- }
- if (VIDEO_SINGLETON::instance ()->video_format == VIDEO_MPEG2) {
- failureType = 101;
- goto failure;
- }
- VIDEO_SINGLETON::instance ()->live_source = 1;
-
- VIDEO_SINGLETON::instance ()->fileSize =0x7fffffff;
- VIDEO_SINGLETON::instance ()->maxS = VIDEO_SINGLETON::instance ()->maxG = VIDEO_SINGLETON::instance ()->maxI = VIDEO_SINGLETON::instance ()->maxP = VIDEO_SINGLETON::instance ()->maxB = VIDEO_SINGLETON::instance ()->minS = VIDEO_SINGLETON::instance ()->minG = VIDEO_SINGLETON::instance ()->minI = VIDEO_SINGLETON::instance ()->minP = VIDEO_SINGLETON::instance ()->minB = 1;
- VIDEO_SINGLETON::instance ()->numS = VIDEO_SINGLETON::instance ()->numG = VIDEO_SINGLETON::instance ()->numF = VIDEO_SINGLETON::instance ()->numI = 0x7fffffff;
- VIDEO_SINGLETON::instance ()->numP = VIDEO_SINGLETON::instance ()->numB = 0;
- VIDEO_SINGLETON::instance ()->vbvBufferSize = 1;
- VIDEO_SINGLETON::instance ()->firstGopFrames = 1;
- VIDEO_SINGLETON::instance ()->patternSize = 1;
- VIDEO_SINGLETON::instance ()->pattern[0] = 'I';
- VIDEO_SINGLETON::instance ()->pattern[1] = 0;
- VIDEO_SINGLETON::instance ()->packetBufSize = VIDEO_SINGLETON::instance ()->verticalSize * VIDEO_SINGLETON::instance ()->horizontalSize * 3;
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *)malloc(sizeof(VideoMessage) + sizeof(VideoPacket) +
- VIDEO_SINGLETON::instance ()->packetBufSize);
- if (VIDEO_SINGLETON::instance ()->packet == NULL)
- {
- perror("Error: VS error on malloc VIDEO_SINGLETON::instance ()->packet buffer");
- exit(1);
- }
- VIDEO_SINGLETON::instance ()->packet = (VideoPacket *)((char *)VIDEO_SINGLETON::instance ()->packet + sizeof(VideoMessage));
-
- }
- else {
- static double pictureRateTable[] = {23.976, 24, 25, 29.97, 30, 50, 59.94, 60};
-
- VIDEO_SINGLETON::instance ()->video_format = VIDEO_MPEG1;
- failureType = init_MPEG1_video_file();
- if (failureType) goto failure;
- VIDEO_SINGLETON::instance ()->fps = pictureRateTable[VIDEO_SINGLETON::instance ()->pictureRate - 1];
- }
-
- {
- INITvideoReply reply;
-
- reply.totalHeaders = htonl(VIDEO_SINGLETON::instance ()->numS);
- reply.totalGroups = htonl(VIDEO_SINGLETON::instance ()->numG);
- reply.totalFrames = htonl(VIDEO_SINGLETON::instance ()->numF);
- reply.sizeIFrame = htonl(VIDEO_SINGLETON::instance ()->maxI);
- reply.sizePFrame = htonl(VIDEO_SINGLETON::instance ()->maxP);
- reply.sizeBFrame = htonl(VIDEO_SINGLETON::instance ()->maxB);
- reply.sizeSystemHeader = htonl(VIDEO_SINGLETON::instance ()->maxS);
- reply.sizeGop = htonl(VIDEO_SINGLETON::instance ()->maxG);
- reply.averageFrameSize = htonl(VIDEO_SINGLETON::instance ()->averageFrameSize);
- reply.verticalSize = htonl(VIDEO_SINGLETON::instance ()->verticalSize);
- reply.horizontalSize = htonl(VIDEO_SINGLETON::instance ()->horizontalSize);
- reply.pelAspectRatio = htonl(VIDEO_SINGLETON::instance ()->pelAspectRatio);
- reply.pictureRate1000 = htonl((int)(VIDEO_SINGLETON::instance ()->fps * 1000));
- reply.vbvBufferSize = htonl(VIDEO_SINGLETON::instance ()->vbvBufferSize);
- reply.firstGopFrames = htonl(VIDEO_SINGLETON::instance ()->firstGopFrames);
- reply.patternSize = htonl(VIDEO_SINGLETON::instance ()->patternSize);
- strncpy(reply.pattern, VIDEO_SINGLETON::instance ()->pattern, PATTERN_SIZE);
-
- reply.live = htonl(VIDEO_SINGLETON::instance ()->live_source);
- reply.format = htonl(VIDEO_SINGLETON::instance ()->video_format);
-
- CmdWrite((char *)&VIDEO_SINGLETON::instance ()->cmd, 1);
-
- CmdWrite((char *)&reply, sizeof(reply));
-
- /* write the first SH, GOP and IFrame to VIDEO_SINGLETON::instance ()->serviceSocket (TCP),
- using code for SendPacket() */
- {
- int tmpSocket = VIDEO_SINGLETON::instance ()->videoSocket;
-
- if (VIDEO_SINGLETON::instance ()->live_source) StartPlayLiveVideo();
-
- VIDEO_SINGLETON::instance ()->videoSocket = VIDEO_SINGLETON::instance ()->serviceSocket;
-
- if (VIDEO_SINGLETON::instance ()->live_source) {
- int frame = 0;
- SendPicture(&frame);
- }
- else if (VIDEO_SINGLETON::instance ()->video_format == VIDEO_MPEG1) {
- SendPacket(1, 0, 0, 0);
- }
- else {
- fprintf(stderr, "VS: VIDEO_SINGLETON::instance ()->video_format %d not supported.\n",
- VIDEO_SINGLETON::instance ()->video_format);
- }
- VIDEO_SINGLETON::instance ()->videoSocket = tmpSocket;
-
- if (VIDEO_SINGLETON::instance ()->live_source) StopPlayLiveVideo();
- }
-
- return 0;
-
- }
- failure:
- {
- char * msg;
- char errmsg[64];
- VIDEO_SINGLETON::instance ()->cmd = CmdFAIL;
- sprintf(errmsg, "VS failed to alloc internal buf (type %d)", failureType);
- CmdWrite((char *)&VIDEO_SINGLETON::instance ()->cmd, 1);
- msg = failureType == 1 ? "not a complete MPEG stream" :
- failureType == 2 ? "can't open MPEG file" :
- failureType == 3 ? "MPEG file is not seekable" :
- failureType == 4 ? "not an MPEG stream" :
- failureType == 5 ?
- "too many frames in MPEG file, need change MAX_FRAMES and recompile VS" :
- failureType == 100 ? "failed to connect to live video source" :
- failureType == 101 ? "live MPEG2 not supported" :
- errmsg;
- write_string(VIDEO_SINGLETON::instance ()->serviceSocket, msg);
- exit(0);
- }
-}
-
-#define CheckGroupRange(pnextGroup) \
-{ if ((pnextGroup) < 0 || (pnextGroup) >= VIDEO_SINGLETON::instance ()->numG) \
- { fprintf(stderr, "VS: %d.VIDEO_SINGLETON::instance ()->nextGroup(%d) out of range (%d).\n", VIDEO_SINGLETON::instance ()->cmd, (pnextGroup), VIDEO_SINGLETON::instance ()->numG); \
- return 0; } }
-
-#define CheckFrameRange(pnextFrame) \
-{ if ((pnextFrame) < 0 || (pnextFrame) >= VIDEO_SINGLETON::instance ()->numF) \
- { fprintf(stderr, "VS: %d.VIDEO_SINGLETON::instance ()->nextFrame(%d) out of range (%d).\n", VIDEO_SINGLETON::instance ()->cmd, (pnextFrame), VIDEO_SINGLETON::instance ()->numF); \
- return 0; } }
-
-int FrameToGroup(int * frame)
-{
- int f = * frame;
- int i = 0;
- while (i < VIDEO_SINGLETON::instance ()->numG && VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames <= f) i++;
- i --;
- * frame = f - VIDEO_SINGLETON::instance ()->gopTable[i].previousFrames;
- return i;
-}
-
-static int POSITIONvideo()
-{
- int result;
- POSITIONpara para;
- /*
- fprintf(stderr, "POSITION . . .\n");
- */
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-
- if (VIDEO_SINGLETON::instance ()->live_source) return 0;
-
-#ifdef NeedByteOrderConversion
- para.VIDEO_SINGLETON::instance ()->nextGroup = ntohl(para.VIDEO_SINGLETON::instance ()->nextGroup);
- para.sn = ntohl(para.sn);
-#endif
-
- CheckGroupRange(para.nextGroup);
- VIDEO_SINGLETON::instance ()->cmdsn = para.sn;
- result = SendPacket(VIDEO_SINGLETON::instance ()->numS>1 || para.nextGroup == 0, para.nextGroup, 0, 0);
- return result;
-}
-
-static int STEPvideo()
-{
- int group;
- STEPpara para;
- int tag = 0;
- int result;
-
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.VIDEO_SINGLETON::instance ()->nextFrame = ntohl(para.VIDEO_SINGLETON::instance ()->nextFrame);
-#endif
-
- VIDEO_SINGLETON::instance ()->cmdsn = para.sn;
-
- if (!VIDEO_SINGLETON::instance ()->live_source) {
- if (para.nextFrame >= VIDEO_SINGLETON::instance ()->numF) /* send SEQ_END */
- {
- tag = 1;
- para.nextFrame --;
- }
- /*
- fprintf(stderr, "STEP . . .frame-%d\n", para.VIDEO_SINGLETON::instance ()->nextFrame);
- */
- CheckFrameRange(para.nextFrame);
- group = FrameToGroup(&para.nextFrame);
- if (VIDEO_SINGLETON::instance ()->precmd != CmdSTEP && !tag ) {
- result = SendReferences(group, para.nextFrame);
- if (result < 0 )
- return result;
- }
- }
- if (VIDEO_SINGLETON::instance ()->live_source) StartPlayLiveVideo();
-
- if (VIDEO_SINGLETON::instance ()->live_source) {
- SendPicture(&para.nextFrame);
- }
- else if (VIDEO_SINGLETON::instance ()->video_format == VIDEO_MPEG1) {
- SendPacket(VIDEO_SINGLETON::instance ()->numS>1, group, tag ? VIDEO_SINGLETON::instance ()->numF : para.nextFrame, 0);
- }
- else {
- fprintf(stderr, "VS: wierd1\n");
- }
-
- if (VIDEO_SINGLETON::instance ()->live_source) StopPlayLiveVideo();
- return 0;
-}
-
-static int timerHeader, timerGroup, timerFrame;
-static int timerOn = 0;
-static int timerAdjust = 0;
-static int preTimerVal = 0;
-static void StopTimer(void);
-static void TimerSpeed(void);
-static void TimerProcessing(void);
-
-static void timerHandler(int sig)
-{
- int val2, val3;
- int usec = VIDEO_SINGLETON::instance ()->currentUPF + VIDEO_SINGLETON::instance ()->addedUPF;
-
- if (Mpeg_Global::drift_ppm) {
- usec -= (int)((double)usec * (double)Mpeg_Global::drift_ppm / 1000000.0);
- }
-
- if (timerAdjust > 1)
- usec = (int)(((double)usec * (double)(SPEEDUP_INV_SCALE - 1)) /
- (double)SPEEDUP_INV_SCALE);
- val3 = get_duration(preTimerVal, (val2 = get_usec()));
- /*
- if (val3 >= usec<< 1))
- fprintf(stderr, "Slower: %d out of VIDEO_SINGLETON::instance ()->currentUPF %d.\n",
- val3, usec);
- else
- fprintf(stderr, "+\n");
- */
- preTimerVal = val2;
- if (val3 < 0 || val3 > 100000000)
- val3 = usec;
- val2 = (val3 + (usec>>1)) / usec;
- if (val2 < 0) val2 = 0;
- if (val2) {
- TimerProcessing();
- val2 --;
- }
- VIDEO_SINGLETON::instance ()->addedSignals += val2;
-
- if (VIDEO_SINGLETON::instance ()->addedSignals) {
- val2 = timerAdjust;
- if (timerAdjust < MAX_TIMER_ADJUST) {
- timerAdjust += VIDEO_SINGLETON::instance ()->addedSignals * SPEEDUP_INV_SCALE;
- if (val2 < SPEEDUP_INV_SCALE) {
- TimerSpeed();
- }
- }
- else {
- /*
- fprintf(stderr, "VS timerAdjust %d, VIDEO_SINGLETON::instance ()->addedSignals %d, timerFrame %d\n",
- timerAdjust, VIDEO_SINGLETON::instance ()->addedSignals, timerFrame);
- */
- for (val3 = 0; val3 < VIDEO_SINGLETON::instance ()->addedSignals; val3 ++)
- TimerProcessing();
- }
- VIDEO_SINGLETON::instance ()->addedSignals = 0;
- }
-}
-
-static void TimerProcessing(void)
-{
-/*
- fprintf(stderr, "VS: timerHandler...\n");
-*/
- if (!timerOn) {
- return;
- }
- if (timerAdjust < 0)
- {
- timerAdjust += SPEEDUP_INV_SCALE;
- return;
- }
- if (timerAdjust >0)
- {
- if ((--timerAdjust) == 0)
- TimerSpeed();
- }
- if (VIDEO_SINGLETON::instance ()->cmd == CmdPLAY)
- {
- if (timerGroup == VIDEO_SINGLETON::instance ()->numG - 1 && timerFrame >= VIDEO_SINGLETON::instance ()->gopTable[timerGroup].totalFrames - 1)
- {
- timerFrame ++; /* force sending of END_SEQ when PLAY VIDEO_SINGLETON::instance ()->cmd */
- StopTimer();
- return;
- }
- else
- {
- timerFrame ++;
- if (timerFrame >= VIDEO_SINGLETON::instance ()->gopTable[timerGroup].totalFrames)
- {
- timerGroup ++;
- timerFrame = 0;
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- }
- }
- }
- else {
- if (VIDEO_SINGLETON::instance ()->cmd == CmdFF) {
- if (timerGroup == VIDEO_SINGLETON::instance ()->numG - 1) {
- StopTimer();
- return;
- }
- timerGroup ++;
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- }
- else {
- if (timerGroup == 0) {
- StopTimer();
- return;
- }
- timerGroup --;
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- }
- }
-}
-
-static void StartTimer(void)
-{
- VIDEO_SINGLETON::instance ()->addedUPF = 0;
- VIDEO_SINGLETON::instance ()->addedSignals = 0;
- timerAdjust = (VIDEO_SINGLETON::instance ()->VStimeAdvance * SPEEDUP_INV_SCALE) / VIDEO_SINGLETON::instance ()->currentUPF;
- /*
- SFprintf(stderr, "VS StartTimer(): fast-start frames %d\n",
- timerAdjust / SPEEDUP_INV_SCALE);
- */
- TimerSpeed();
- setsignal(SIGALRM, timerHandler);
- timerOn = 1;
- preTimerVal = get_usec();
- /*
- fprintf(stderr, "VS: timer started at %d upf.\n", VIDEO_SINGLETON::instance ()->currentUPF + VIDEO_SINGLETON::instance ()->addedUPF);
- */
-}
-
-static void TimerSpeed(void)
-{
- struct itimerval val;
- int usec = VIDEO_SINGLETON::instance ()->currentUPF + VIDEO_SINGLETON::instance ()->addedUPF;
- if (Mpeg_Global::drift_ppm) {
- /*
- int drift = (double)usec * (double)Mpeg_Global::drift_ppm / 1000000.0;
- SFprintf(stderr, "Mpeg_Global::drift_ppm %d, usec %d, drift %d, new usec %d\n",
- Mpeg_Global::drift_ppm, usec, drift, usec - drift);
- */
- usec -= (int)((double)usec * (double)Mpeg_Global::drift_ppm / 1000000.0);
- }
- if (timerAdjust > 1)
- usec = (int)(((double)usec * (double)(SPEEDUP_INV_SCALE - 1)) /
- (double)SPEEDUP_INV_SCALE);
- val.it_interval.tv_sec = val.it_value.tv_sec = usec / 1000000;
- val.it_interval.tv_usec = val.it_value.tv_usec = usec % 1000000;
- setitimer(ITIMER_REAL, &val, NULL);
- /*
- SFprintf(stderr,
- "VS TimerSpeed() at %s speed, timerAdjust %d VIDEO_SINGLETON::instance ()->addedSignals %d.\n",
- (timerAdjust > 1) ? "higher" : "normal", timerAdjust, VIDEO_SINGLETON::instance ()->addedSignals);
- */
-}
-
-static void StopTimer()
-{
- struct itimerval val;
- setsignal(SIGALRM, SIG_IGN);
- val.it_interval.tv_sec = val.it_value.tv_sec = 0;
- val.it_interval.tv_usec = val.it_value.tv_usec = 0;
- setitimer(ITIMER_REAL, &val, NULL);
- timerOn = 0;
- /*
- fprintf(stderr, "VS: timer stopped.\n");
- */
-}
-
-void GetFeedBack()
-{
- VideoFeedBackPara para;
- struct itimerval val;
- int timerUsec;
-
- if (FBread((char *)&para, sizeof(para)) == -1 ||
- ntohl(para.cmdsn) != VIDEO_SINGLETON::instance ()->cmdsn) {
- /*
- SFprintf(stderr, "VS warning: a FB VIDEO_SINGLETON::instance ()->packet discarded.\n");
- */
- return;
- }
-#ifdef NeedByteOrderConversion
- para.VIDEO_SINGLETON::instance ()->needHeader = ntohl(para.VIDEO_SINGLETON::instance ()->needHeader);
- para.addUsecPerFrame = ntohl(para.addUsecPerFrame);
- para.addFrames = ntohl(para.addFrames);
- para.VIDEO_SINGLETON::instance ()->sendVIDEO_SINGLETON::Instance ()->PatternGops = ntohl(para.VIDEO_SINGLETON::instance ()->sendVIDEO_SINGLETON::Instance ()->PatternGops);
- para.VIDEO_SINGLETON::instance ()->frameRateLimit1000 = ntohl(para.VIDEO_SINGLETON::instance ()->frameRateLimit1000);
-#endif
- VIDEO_SINGLETON::instance ()->frameRateLimit = para.frameRateLimit1000 / 1000.0;
- VIDEO_SINGLETON::instance ()->sendPatternGops = para.sendPatternGops;
-
- if (!timerOn) return;
-
- VIDEO_SINGLETON::instance ()->needHeader = para.needHeader;
- memcpy(VIDEO_SINGLETON::instance ()->sendPattern, para.sendPattern, PATTERN_SIZE);
- if (para.addFrames <= 0 || timerAdjust < MAX_TIMER_ADJUST)
- {
- timerAdjust += para.addFrames * SPEEDUP_INV_SCALE;
- TimerSpeed();
- }
- else /* drastic compensation for big gap */
- VIDEO_SINGLETON::instance ()->addedSignals += para.addFrames;
- if (para.addUsecPerFrame) {
- VIDEO_SINGLETON::instance ()->addedUPF += para.addUsecPerFrame;
- TimerSpeed();
- }
- /*
- SFprintf(stderr, "VS fb: addf %d, addupf %d\n",
- para.addFrames, para.addUsecPerFrame);
- */
-}
-
-static int FastVideoPlay(void)
-{
- int result;
- FFpara para;
- int preGroup = -1;
- int preHeader = -1;
- int nfds = (VIDEO_SINGLETON::instance ()->serviceSocket > VIDEO_SINGLETON::instance ()->videoSocket ? VIDEO_SINGLETON::instance ()->serviceSocket : VIDEO_SINGLETON::instance ()->videoSocket) + 1;
-
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.VIDEO_SINGLETON::instance ()->nextGroup = ntohl(para.VIDEO_SINGLETON::instance ()->nextGroup);
- para.usecPerFrame = ntohl(para.usecPerFrame);
- para.framesPerSecond = ntohl(para.framesPerSecond);
- para.VIDEO_SINGLETON::instance ()->VStimeAdvance = ntohl(para.VIDEO_SINGLETON::instance ()->VStimeAdvance);
-#endif
-
- if (VIDEO_SINGLETON::instance ()->live_source) return 0;
-
- VIDEO_SINGLETON::instance ()->VStimeAdvance = para.VStimeAdvance;
- /*
- fprintf(stderr, "VIDEO_SINGLETON::instance ()->VStimeAdvance from client: %d\n", VIDEO_SINGLETON::instance ()->VStimeAdvance);
- */
- CheckGroupRange(para.nextGroup);
- VIDEO_SINGLETON::instance ()->cmdsn = para.sn;
- timerGroup = para.nextGroup;
- timerFrame = 0;
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- VIDEO_SINGLETON::instance ()->currentUPF = para.usecPerFrame;
- StartTimer();
-
- for (;;)
- {
- struct fd_set read_mask;
-/*
- fprintf(stderr, "VS: FF/FB - a loop begines. . .\n");
-*/
- if (preGroup != timerGroup)
- {
- SendPacket(preHeader != timerHeader, timerGroup, 0,
- para.usecPerFrame * VIDEO_SINGLETON::instance ()->patternSize >> 2);
- preHeader = timerHeader;
- preGroup = timerGroup;
- }
-
- FD_ZERO(&read_mask);
- FD_SET(VIDEO_SINGLETON::instance ()->serviceSocket, &read_mask);
- FD_SET(VIDEO_SINGLETON::instance ()->videoSocket, &read_mask);
-#ifdef _HPUX_SOURCE
- if (select(nfds, (int *)&read_mask, NULL, NULL, NULL) == -1)
-#else
- if (select(nfds, &read_mask, NULL, NULL, NULL) == -1)
-#endif
- {
- if (errno == EINTR)
- {
- ACE_DEBUG ((LM_DEBUG,
- "PLAYVIDEO:select EINTR signal \n"));
- continue;
- }
- perror("Error - VS select between service and video sockets");
- exit(1);
-
- }
- if (FD_ISSET(VIDEO_SINGLETON::instance ()->serviceSocket, &read_mask)) /* stop */
- {
- result = CmdRead((char *)&VIDEO_SINGLETON::instance ()->cmd, 1);
- if (result != 0)
- return result;
- if (VIDEO_SINGLETON::instance ()->cmd == CmdCLOSE) {
- exit(0);
- }
- else if (VIDEO_SINGLETON::instance ()->cmd != CmdSTOP) {
- fprintf(stderr, "VS error: VIDEO_SINGLETON::instance ()->cmd=%d while STOP is expected.\n", VIDEO_SINGLETON::instance ()->cmd);
- VIDEO_SINGLETON::instance ()->normalExit = 0;
- exit(1);
- }
- result = CmdRead((char *)&VIDEO_SINGLETON::instance ()->cmdsn, sizeof(int));
- if (result != 0 )
- return result;
-#ifdef NeedByteOrderConversion
- VIDEO_SINGLETON::instance ()->cmdsn = ntohl(VIDEO_SINGLETON::instance ()->cmdsn);
-#endif
- StopTimer();
- break;
- }
- if (FD_ISSET(VIDEO_SINGLETON::instance ()->videoSocket, &read_mask)) /* feedback, speed adjustment */
- {
- ACE_DEBUG((LM_DEBUG,
- "FastVideo Play:Data socket selected"));
- GetFeedBack();
- }
- ACE_DEBUG((LM_DEBUG,
- "none of the sockets selected \n"));
- }
- return 0;
-}
-
-static void FFvideo()
-{
- /*
- fprintf(stderr, "FF . . .\n");
- */
- FastVideoPlay();
-}
-
-static void FBvideo()
-{
- /*
- fprintf(stderr, "FB . . . \n");
- */
- FastVideoPlay();
-}
-
-void ComputeFirstSendPattern(float limit)
-{
- char * buf = VIDEO_SINGLETON::instance ()->firstSendPattern;
- int len = VIDEO_SINGLETON::instance ()->firstPatternSize;
- char * pat = (char *)malloc(len);
- int f;
-
- if (pat == NULL) {
- fprintf(stderr, "VS error on allocating %d bytes for computing first SP", len);
- perror("");
- exit(1);
- }
- for (f = 0; f < len; f ++) {
- pat[f] = VIDEO_SINGLETON::instance ()->frameTable[f].type;
- }
- memset(buf, 0, len);
-
- if (limit <= 0)
- limit = 1.0;
-
- f = (int)((double)len *
- ((double)limit / (1000000.0 / (double)VIDEO_SINGLETON::instance ()->currentUPF)) + 0.5);
- /* rounded to integer, instead of truncated */
- if (f >= len)
- f = len;
- else if (f <= 1)
- f = 1;
-
- ComputeSendPattern(pat, buf, len, f);
-
- /*
- f = len - f;
- fprintf(stderr, "VIDEO_SINGLETON::instance ()->FirstVIDEO_SINGLETON::instance ()->SendVIDEO_SINGLETON::Instance ()->Pattern (%d frames dropped): ", f);
- {
- int i;
- for (i = 0; i < len; i ++)
- fputc(buf[i] ? pat[i] : '-', stderr);
- }
- fputc('\n', stderr);
- */
- free(pat);
-}
-
- int PLAYliveVideo(PLAYpara * para)
-{
- int doscale;
- int count;
- int first_frame;
- int frame = para->nextFrame;
- int nfds = (VIDEO_SINGLETON::instance ()->serviceSocket > VIDEO_SINGLETON::instance ()->videoSocket ? VIDEO_SINGLETON::instance ()->serviceSocket : VIDEO_SINGLETON::instance ()->videoSocket) + 1;
- struct fd_set read_mask;
- struct timeval tval = {0, 0};
- double ratio;
- int result;
-
- VIDEO_SINGLETON::instance ()->currentUPF = (int)(1000000.0 / VIDEO_SINGLETON::instance ()->fps); /* ignore para.usecPerFrame */
- if (VIDEO_SINGLETON::instance ()->frameRateLimit < VIDEO_SINGLETON::instance ()->fps) {
- doscale = 1;
- ratio = min(VIDEO_SINGLETON::instance ()->frameRateLimit, VIDEO_SINGLETON::instance ()->fps) / VIDEO_SINGLETON::instance ()->fps;
- first_frame = frame;
- count = 0;
- /*
- fprintf(stderr, "doscale %d, VIDEO_SINGLETON::instance ()->frameRateLimit %5.2f, VIDEO_SINGLETON::instance ()->fps %5.2f, ratio %5.2f\n",
- doscale, VIDEO_SINGLETON::instance ()->frameRateLimit, VIDEO_SINGLETON::instance ()->fps, ratio);
- */
- }
- else doscale = 0;
- StartPlayLiveVideo();
-
- for (;;) {
-
- if (doscale) {
- for (;;) {
- if ((int)((frame - first_frame) * ratio + 0.5) < count) frame ++;
- else break;
- }
- count ++;
- }
- SendPicture(&frame);
- frame ++;
-
- FD_ZERO(&read_mask);
- FD_SET(VIDEO_SINGLETON::instance ()->serviceSocket, &read_mask);
- FD_SET(VIDEO_SINGLETON::instance ()->videoSocket, &read_mask);
-#ifdef _HPUX_SOURCE
- if (select(nfds, (int *)&read_mask, NULL, NULL, &tval) == -1)
-#else
- if (select(nfds, &read_mask, NULL, NULL, &tval) == -1)
-#endif
- {
- if (errno == EINTR)
- continue;
- perror("Error - VS select between service and video sockets");
- StopPlayLiveVideo();
- exit(1);
-
- }
- if (FD_ISSET(VIDEO_SINGLETON::instance ()->serviceSocket, &read_mask)) /* stop */
- {
- unsigned char tmp;
- result = CmdRead((char *)&tmp, 1);
- if (result != 0)
- return result;
- if (tmp == CmdCLOSE) {
- StopPlayLiveVideo();
- exit(0);
- }
- else if (tmp == CmdSTOP) {
- VIDEO_SINGLETON::instance ()->cmd = tmp;
- /*
- fprintf(stderr, "VS: VIDEO_SINGLETON::Instance ()->CmdSTOP. . .\n");
- */
- result = CmdRead((char *)&VIDEO_SINGLETON::instance ()->cmdsn, sizeof(int));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- VIDEO_SINGLETON::instance ()->cmdsn = ntohl(VIDEO_SINGLETON::instance ()->cmdsn);
-#endif
- StopPlayLiveVideo();
- break;
- }
- else if (tmp == CmdSPEED)
- {
- SPEEDpara para;
- /*
- fprintf(stderr, "VS: VIDEO_SINGLETON::Instance ()->CmdSPEED. . .\n");
- */
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
- /* ignore this thing for live video */
- }
- else
- {
- fprintf(stderr, "VS error(live): VIDEO_SINGLETON::instance ()->cmd=%d while expect STOP/SPEED.\n", tmp);
- VIDEO_SINGLETON::instance ()->normalExit = 0;
- StopPlayLiveVideo();
- exit(1);
- }
- }
- if (FD_ISSET(VIDEO_SINGLETON::instance ()->videoSocket, &read_mask)) /* feedback, only for frame rate
- adjustment */
- {
- VideoFeedBackPara para;
- if (FBread((char *)&para, sizeof(para)) == -1 ||
- ntohl(para.cmdsn) != VIDEO_SINGLETON::instance ()->cmdsn) {
- /*
- SFprintf(stderr, "VS warning: a FB VIDEO_SINGLETON::instance ()->packet discarded.\n");
- */
- return 0;
- }
-#ifdef NeedByteOrderConversion
- para.VIDEO_SINGLETON::instance ()->frameRateLimit1000 = ntohl(para.VIDEO_SINGLETON::instance ()->frameRateLimit1000);
-#endif
- VIDEO_SINGLETON::instance ()->frameRateLimit = para.frameRateLimit1000 / 1000.0;
- if (VIDEO_SINGLETON::instance ()->frameRateLimit < VIDEO_SINGLETON::instance ()->fps) {
- doscale = 1;
- ratio = min(VIDEO_SINGLETON::instance ()->frameRateLimit, VIDEO_SINGLETON::instance ()->fps) / VIDEO_SINGLETON::instance ()->fps;
- first_frame = frame;
- count = 0;
- /*
- fprintf(stderr, "doscale %d, VIDEO_SINGLETON::instance ()->frameRateLimit %5.2f, VIDEO_SINGLETON::instance ()->fps %5.2f, ratio %5.2f\n",
- doscale, VIDEO_SINGLETON::instance ()->frameRateLimit, VIDEO_SINGLETON::instance ()->fps, ratio);
- */
- }
- else doscale = 0;
- }
- }
- return 0;
-}
-
-static int PLAYvideo()
-{
- PLAYpara para;
- int preGroup = -1;
- int preHeader = -1;
- int preFrame = -1;
- int result;
-
- fprintf(stderr, "PLAY . . .\n");
-
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.VIDEO_SINGLETON::instance ()->nextFrame = ntohl(para.VIDEO_SINGLETON::instance ()->nextFrame);
- para.usecPerFrame = ntohl(para.usecPerFrame);
- para.framesPerSecond = ntohl(para.framesPerSecond);
- para.VIDEO_SINGLETON::instance ()->frameRateLimit1000 = ntohl(para.VIDEO_SINGLETON::instance ()->frameRateLimit1000);
- para.collectStat = ntohl(para.collectStat);
- para.VIDEO_SINGLETON::instance ()->sendVIDEO_SINGLETON::Instance ()->PatternGops = ntohl(para.VIDEO_SINGLETON::instance ()->sendVIDEO_SINGLETON::Instance ()->PatternGops);
- para.VIDEO_SINGLETON::instance ()->VStimeAdvance = ntohl(para.VIDEO_SINGLETON::instance ()->VStimeAdvance);
-#endif
-
- VIDEO_SINGLETON::instance ()->frameRateLimit = para.frameRateLimit1000 / 1000.0;
- VIDEO_SINGLETON::instance ()->cmdsn = para.sn;
- VIDEO_SINGLETON::instance ()->currentUPF = para.usecPerFrame;
- VIDEO_SINGLETON::instance ()->VStimeAdvance = para.VStimeAdvance;
-
- {
- int ts = htonl(get_usec());
- CmdWrite((char *)&ts, sizeof(int));
- }
-
- if (VIDEO_SINGLETON::instance ()->live_source || VIDEO_SINGLETON::instance ()->video_format != VIDEO_MPEG1) {
- if (VIDEO_SINGLETON::instance ()->live_source)
- PLAYliveVideo (&para);
- return 0;
- }
-
-
- fprintf(stderr, "VIDEO_SINGLETON::instance ()->VStimeAdvance from client: %d\n", VIDEO_SINGLETON::instance ()->VStimeAdvance);
-
- VIDEO_SINGLETON::instance ()->sendPatternGops = para.sendPatternGops;
- ComputeFirstSendPattern(VIDEO_SINGLETON::instance ()->frameRateLimit);
-#ifdef STAT
- if (para.collectStat)
- memset(VIDEO_SINGLETON::instance ()->framesSent, 0, (VIDEO_SINGLETON::instance ()->numF + 7)>>3);
-#endif
- CheckFrameRange(para.nextFrame);
- timerFrame = para.nextFrame;
- timerGroup = FrameToGroup(&timerFrame);
- timerHeader = VIDEO_SINGLETON::instance ()->gopTable[timerGroup].systemHeader;
- memcpy(VIDEO_SINGLETON::instance ()->sendPattern, para.sendPattern, PATTERN_SIZE);
- result = SendReferences(timerGroup, timerFrame);
- if (result < 0)
- return result;
- StartTimer();
-
- fprintf (stderr, "VS Going into the for loop\n");
- for (;;)
- {
- int curGroup = timerGroup;
- int curFrame = timerFrame;
- int curHeader = timerHeader;
- char * sp;
- struct fd_set read_mask;
- int nfds = (VIDEO_SINGLETON::instance ()->serviceSocket > VIDEO_SINGLETON::instance ()->videoSocket ? VIDEO_SINGLETON::instance ()->serviceSocket : VIDEO_SINGLETON::instance ()->videoSocket) + 1;
-
- if (preGroup != curGroup || curFrame != preFrame)
- {
- int sendStatus = -1;
- int frameStep = 1;
- if (curGroup == 0)
- {
- int i = curFrame + 1;
- while (i < VIDEO_SINGLETON::instance ()->firstPatternSize && !VIDEO_SINGLETON::instance ()->firstSendPattern[i])
- {
- frameStep ++;
- i++;
- }
- }
- else /* (curGroup > 0) */
- {
- int i = curFrame + 1;
- sp = VIDEO_SINGLETON::instance ()->sendPattern + ((curGroup - 1) % VIDEO_SINGLETON::instance ()->sendPatternGops) * VIDEO_SINGLETON::instance ()->patternSize;
- while (i < VIDEO_SINGLETON::instance ()->patternSize && !sp[i])
- {
- frameStep ++;
- i++;
- }
- }
- if (curGroup == 0)
- {
- if (VIDEO_SINGLETON::instance ()->firstSendPattern[curFrame])
- sendStatus = 0;
- else /* (!VIDEO_SINGLETON::instance ()->firstVIDEO_SINGLETON::instance ()->SendVIDEO_SINGLETON::Instance ()->Pattern[curFrame]) */
- {
- int i = curFrame - 1;
- while (i > 0 && !VIDEO_SINGLETON::instance ()->firstSendPattern[i])
- i--;
- if (i > preFrame)
- /* the frame (curGroup, i) hasn't been sent yet */
- {
- sendStatus = 0;
- curFrame = i;
- }
- else
- sendStatus = -1;
- }
- }
- else if (sp[curFrame]) /* curGroup > 0 */
- sendStatus = 0;
- else /* (!sp[curFrame]) */
- {
- int i = curFrame - 1;
- while (i > 0 && !sp[i])
- i--;
- if (curGroup == preGroup && i > preFrame)
- /* the frame (curGroup, i) hasn't been sent yet */
- {
- sendStatus = 0;
- curFrame = i;
- }
- else
- sendStatus = -1;
- }
- if (!sendStatus)
- {
- // Send the current video frame, calls send_to_network which
- // fragments and sends via blocking write .
- sendStatus = SendPacket(preHeader != curHeader,
- curGroup, curFrame,
- (VIDEO_SINGLETON::instance ()->currentUPF + VIDEO_SINGLETON::instance ()->addedUPF) * frameStep);
- if (!sendStatus)
- {
- preHeader = curHeader;
- preGroup = curGroup;
- preFrame = curFrame;
-#ifdef STAT
- if (para.collectStat)
- {
- int f = VIDEO_SINGLETON::instance ()->gopTable[curGroup].previousFrames + curFrame;
- VIDEO_SINGLETON::instance ()->framesSent[f>>3] |= (1 << (f % 8));
- }
-#endif
- }
- }
- }
-
- // Wait for a command on serviceSocket or Feedback on videoSocket (UDP)
- FD_ZERO(&read_mask);
- FD_SET(VIDEO_SINGLETON::instance ()->serviceSocket, &read_mask);
- FD_SET(VIDEO_SINGLETON::instance ()->videoSocket, &read_mask);
-#ifdef _HPUX_SOURCE
- if (select(nfds, (int *)&read_mask, NULL, NULL, NULL) == -1)
-#else
- if (select(nfds, &read_mask, NULL, NULL, NULL) == -1)
-#endif
- {
- if (errno == EINTR) /* select() interrupted */
- {
- ACE_DEBUG ((LM_DEBUG,
- "PLAYVideo:Select interrupted coninuing..\n"));
- continue;
- }
- perror("Error - VS select between service and video sockets");
- exit(1);
-
- }
- if (FD_ISSET(VIDEO_SINGLETON::instance ()->serviceSocket, &read_mask)) /* stop, speed change, loop swap */
- {
- ACE_DEBUG ((LM_DEBUG,
- "PLAYvideo:serviceSocket selected \n"));
- unsigned char tmp;
- result = CmdRead((char *)&tmp, 1);
- if (result != 0)
- return result;
-
- if (tmp == CmdCLOSE) {
- exit(0);
- }
- else if (tmp == CmdSTOP) {
- VIDEO_SINGLETON::instance ()->cmd = tmp;
- /*
- fprintf(stderr, "VS: VIDEO_SINGLETON::Instance ()->CmdSTOP. . .\n");
- */
- result = CmdRead((char *)&VIDEO_SINGLETON::instance ()->cmdsn, sizeof(int));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- VIDEO_SINGLETON::instance ()->cmdsn = ntohl(VIDEO_SINGLETON::instance ()->cmdsn);
-#endif
- StopTimer();
- break;
- }
- else if (tmp == CmdSPEED)
- {
- SPEEDpara para;
- /*
- fprintf(stderr, "VS: VIDEO_SINGLETON::Instance ()->CmdSPEED. . .\n");
- */
- result = CmdRead((char *)&para, sizeof(para));
- if (result != 0)
- return result;
-#ifdef NeedByteOrderConversion
- para.sn = ntohl(para.sn);
- para.usecPerFrame = ntohl(para.usecPerFrame);
- para.framesPerSecond = ntohl(para.framesPerSecond);
- para.sendPatternGops = ntohl(para.sendPatternGops);
- para.frameRateLimit1000 = ntohl(para.frameRateLimit1000);
-#endif
- VIDEO_SINGLETON::instance ()->frameRateLimit = para.frameRateLimit1000 / 1000.0;
- VIDEO_SINGLETON::instance ()->sendPatternGops = para.sendPatternGops;
- VIDEO_SINGLETON::instance ()->currentUPF = para.usecPerFrame;
- VIDEO_SINGLETON::instance ()->addedUPF = 0;
- memcpy(VIDEO_SINGLETON::instance ()->sendPattern, para.sendPattern, PATTERN_SIZE);
- TimerSpeed();
- }
- else
- {
- fprintf(stderr, "VS error: VIDEO_SINGLETON::instance ()->cmd=%d while expect STOP/SPEED.\n", tmp);
- VIDEO_SINGLETON::instance ()->normalExit = 0;
- exit(1);
- }
- }
- if (FD_ISSET(VIDEO_SINGLETON::instance ()->videoSocket, &read_mask)) /* feedBack, speed adjustment */
- {
- ACE_DEBUG ((LM_DEBUG,
- "PLAYVIDEO:Data SOCKET selected\n"));
- GetFeedBack();
- }
- ACE_DEBUG ((LM_DEBUG,
- "PLAYVIDEO:none selected\n"));
- }
- return 0;
-}
-
-#include <ctype.h>
-
-static void STATstream(void)
-{
- int i, j = 0;
- for (i = 0; i < VIDEO_SINGLETON::instance ()->numF; i++)
- {
- short size = htons(VIDEO_SINGLETON::instance ()->frameTable[i].size);
- char type = VIDEO_SINGLETON::instance ()->frameTable[i].type;
- if (i == VIDEO_SINGLETON::instance ()->gopTable[j].previousFrames)
- {
- type = tolower(type);
- j ++;
- }
- CmdWrite((char *)&type, 1);
- CmdWrite((char *)&size, 2);
- }
-}
-
-static void STATsent(void)
-{
-#ifdef STAT
- CmdWrite((char *)VIDEO_SINGLETON::instance ()->framesSent, (VIDEO_SINGLETON::instance ()->numF + 7) / 8);
-#else
- int i;
- char zeroByte = 0;
- for (i = 0; i < (VIDEO_SINGLETON::instance ()->numF + 7) / 8; i++)
- CmdWrite((char *)&zeroByte, 1);
-#endif
-}
-
-static void on_exit_routine(void)
-{
- struct sockaddr_in peeraddr_in;
- int size = sizeof(peeraddr_in);
- /*
- if (!VIDEO_SINGLETON::instance ()->normalExit) {
- fprintf(stderr, "VS exitting abnormally, dump core...\n");
- kill(getpid(), SIGSEGV);
- usleep(2000000);
- }
- */
- /*
- fprintf(stderr, "A VS session terminated.\n");
- */
- if (getpeername(VIDEO_SINGLETON::instance ()->serviceSocket,
- (struct sockaddr *)&peeraddr_in, &size) == 0 &&
- peeraddr_in.sin_family == AF_INET) {
- if (strncmp(inet_ntoa(peeraddr_in.sin_addr), "129.95.50", 9)) {
- struct hostent *hp;
- time_t val = time(NULL);
- char * buf = ctime(&VIDEO_SINGLETON::instance ()->start_time);
-
- hp = gethostbyaddr((char *)&(peeraddr_in.sin_addr), 4, AF_INET);
- buf[strlen(buf)-1] = 0;
- printf("%s: %s %3dm%02ds %dP %s\n",
- buf,
- hp == NULL ? inet_ntoa(peeraddr_in.sin_addr) : hp->h_name,
- (val - VIDEO_SINGLETON::instance ()->start_time) / 60, (val - VIDEO_SINGLETON::instance ()->start_time) % 60,
- VIDEO_SINGLETON::instance ()->pkts_sent, VIDEO_SINGLETON::instance ()->videoFile);
- }
- }
- ComCloseConn(VIDEO_SINGLETON::instance ()->serviceSocket);
- ComCloseConn(VIDEO_SINGLETON::instance ()->videoSocket);
-}
-
-int VideoServer(int ctr_fd, int data_fd, int rttag, int max_pkt_size)
-{
- int result;
-
- VIDEO_SINGLETON::instance ()->serviceSocket = ctr_fd;
- VIDEO_SINGLETON::instance ()->videoSocket = data_fd;
- VIDEO_SINGLETON::instance ()->conn_tag = max_pkt_size;
-
- if (max_pkt_size > 0) VIDEO_SINGLETON::instance ()->msgsize = max_pkt_size;
- else if (max_pkt_size < 0) VIDEO_SINGLETON::instance ()->msgsize = - max_pkt_size;
- else VIDEO_SINGLETON::instance ()->msgsize = 1024 * 1024;
- /*
- SFprintf(stderr, "VS VIDEO_SINGLETON::instance ()->msgsize = %d\n", VIDEO_SINGLETON::instance ()->msgsize);
- */
- VIDEO_SINGLETON::instance ()->msgsize -= sizeof(VideoMessage);
-
- VIDEO_SINGLETON::instance ()->start_time = time(NULL);
-
- atexit(on_exit_routine);
-
- VIDEO_SINGLETON::instance ()->lastRef[0] = VIDEO_SINGLETON::instance ()->lastRef[1] = -1;
- VIDEO_SINGLETON::instance ()->lastRefPtr = 0;
-
- result = INITvideo();
-
- if (result != 0)
- return result;
-
- if (rttag) {
- if (SetRTpriority("VS", 0) == -1) rttag = 0;
- }
-
- for (;;)
- {
-
- fprintf(stderr, "VS: waiting for a new command...\n");
-
- VIDEO_SINGLETON::instance ()->precmd = VIDEO_SINGLETON::instance ()->cmd;
- result = CmdRead((char *)&VIDEO_SINGLETON::instance ()->cmd, 1);
- if (result != 0)
- {
- // cerr << result;
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) VideoServer "),
- result);
- }
- fprintf(stderr, "VS got VIDEO_SINGLETON::instance ()->cmd %d\n", VIDEO_SINGLETON::instance ()->cmd);
-
- switch (VIDEO_SINGLETON::instance ()->cmd)
- {
- case CmdPOSITION:
- case CmdPOSITIONrelease:
- result = POSITIONvideo();
- if (result != 0)
- return result;
- break;
- case CmdSTEP:
- result = STEPvideo();
- if (result != 0)
- return result;
- break;
- case CmdFF:
- FFvideo();
- break;
- case CmdFB:
- FBvideo();
- break;
- case CmdPLAY:
- result = PLAYvideo();
- if (result != 0)
- return result;
- break;
- case CmdCLOSE:
- /*
- fprintf(stderr, "a session closed.\n");
- VIDEO_SINGLETON::instance ()->normalExit =1;
- */
- // exit(0);
- return 0;
- break;
- case CmdSTATstream:
- STATstream();
- break;
- case CmdSTATsent:
- STATsent();
- break;
- default:
- fprintf(stderr,
- "VS error: video channel command %d not known.\n", VIDEO_SINGLETON::instance ()->cmd);
- VIDEO_SINGLETON::instance ()->normalExit = 0;
- return -1;
- break;
- }
- }
-}