2 * FreeRDP: A Remote Desktop Protocol client.
3 * Video Redirection Virtual Channel - Interface Manipulation
5 * Copyright 2010-2011 Vic Lee
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
20 #ifndef __TSMF_IFMAN_H
21 #define __TSMF_IFMAN_H
23 typedef struct _TSMF_IFMAN TSMF_IFMAN;
26 IWTSVirtualChannelCallback* channel_callback;
27 const char* decoder_name;
28 const char* audio_name;
29 const char* audio_device;
30 uint8 presentation_id[16];
37 boolean output_pending;
38 uint32 output_interface_id;
41 int tsmf_ifman_rim_exchange_capability_request(TSMF_IFMAN* ifman);
42 int tsmf_ifman_exchange_capability_request(TSMF_IFMAN* ifman);
43 int tsmf_ifman_check_format_support_request(TSMF_IFMAN* ifman);
44 int tsmf_ifman_on_new_presentation(TSMF_IFMAN* ifman);
45 int tsmf_ifman_add_stream(TSMF_IFMAN* ifman);
46 int tsmf_ifman_set_topology_request(TSMF_IFMAN* ifman);
47 int tsmf_ifman_remove_stream(TSMF_IFMAN* ifman);
48 int tsmf_ifman_shutdown_presentation(TSMF_IFMAN* ifman);
49 int tsmf_ifman_on_stream_volume(TSMF_IFMAN* ifman);
50 int tsmf_ifman_on_channel_volume(TSMF_IFMAN* ifman);
51 int tsmf_ifman_set_video_window(TSMF_IFMAN* ifman);
52 int tsmf_ifman_update_geometry_info(TSMF_IFMAN* ifman);
53 int tsmf_ifman_set_allocator(TSMF_IFMAN* ifman);
54 int tsmf_ifman_notify_preroll(TSMF_IFMAN* ifman);
55 int tsmf_ifman_on_sample(TSMF_IFMAN* ifman);
56 int tsmf_ifman_on_flush(TSMF_IFMAN* ifman);
57 int tsmf_ifman_on_end_of_stream(TSMF_IFMAN* ifman);
58 int tsmf_ifman_on_playback_started(TSMF_IFMAN* ifman);
59 int tsmf_ifman_on_playback_paused(TSMF_IFMAN* ifman);
60 int tsmf_ifman_on_playback_restarted(TSMF_IFMAN* ifman);
61 int tsmf_ifman_on_playback_stopped(TSMF_IFMAN* ifman);
62 int tsmf_ifman_on_playback_rate_changed(TSMF_IFMAN* ifman);