Changeset 1025:3ed6c7d0365d in mediastreamer2
- Timestamp:
- Jun 28, 2010 12:38:57 PM (3 years ago)
- Branch:
- default
- Files:
-
- 3 edited
-
include/mediastreamer2/mediastream.h (modified) (2 diffs)
-
src/speexec.c (modified) (3 diffs)
-
src/videostream.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
include/mediastreamer2/mediastream.h
r1015 r1025 182 182 VideoStreamRenderCallback rendercb; 183 183 void *render_pointer; 184 char *display_name; 184 185 bool_t adapt_bitrate; 185 186 }; … … 190 191 void video_stream_enable_adaptive_bitrate_control(VideoStream *s, bool_t yesno); 191 192 void video_stream_set_render_callback(VideoStream *s, VideoStreamRenderCallback cb, void *user_pointer); 193 void video_stream_set_display_filter_name(VideoStream *s, const char *fname); 192 194 int video_stream_start(VideoStream * stream, RtpProfile *profile, const char *remip, int remport, int rem_rtcp_port, 193 195 int payload, int jitt_comp, MSWebCam *device); -
src/speexec.c
r1023 r1025 113 113 int nbytes=s->framesize*2; 114 114 mblk_t *refm; 115 int ref_samples=0;116 115 uint8_t *ref,*echo; 117 116 int size; … … 119 118 if (f->inputs[0]!=NULL){ 120 119 while((refm=ms_queue_get(f->inputs[0]))!=NULL){ 121 mblk_t *cp=copymsg(refm); 122 ref_samples+=msgdsize(refm)/2; 120 mblk_t *cp=dupmsg(refm); 123 121 ms_bufferizer_put(&s->ref,refm); 124 122 ms_bufferizer_put(&s->delayed_ref,cp); … … 133 131 } 134 132 } 133 134 ms_message("echo bytes=%i, ref bytes=%i",ms_bufferizer_get_avail(&s->echo), 135 ms_bufferizer_get_avail(&s->ref)); 135 136 136 137 ref=(uint8_t*)alloca(nbytes); -
src/videostream.c
r997 r1025 62 62 if (stream->evq!=NULL) 63 63 ortp_ev_queue_destroy(stream->evq); 64 if (stream->display_name!=NULL) 65 ms_free(stream->display_name); 66 64 67 ms_free (stream); 65 68 } … … 163 166 } 164 167 168 static void choose_display_name(VideoStream *stream){ 169 #ifdef WIN32 170 stream->display_name=ms_strdup("MSDrawDibDisplay"); 171 #else 172 stream->display_name=ms_strdup("MSVideoOut"); 173 #endif 174 } 175 165 176 VideoStream *video_stream_new(int locport, bool_t use_ipv6){ 166 177 VideoStream *stream = (VideoStream *)ms_new0 (VideoStream, 1); … … 171 182 stream->sent_vsize.width=MS_VIDEO_SIZE_CIF_W; 172 183 stream->sent_vsize.height=MS_VIDEO_SIZE_CIF_H; 184 choose_display_name(stream); 185 173 186 return stream; 174 187 } 175 188 176 189 void video_stream_set_sent_video_size(VideoStream *stream, MSVideoSize vsize){ 177 ms_message("Setting video size %dx%d", vsize.width, vsize.height);190 ms_message("Setting video size %dx%d", vsize.width, vsize.height); 178 191 stream->sent_vsize=vsize; 179 192 } … … 198 211 s->rendercb=cb; 199 212 s->render_pointer=user_pointer; 213 } 214 215 void video_stream_set_display_filter_name(VideoStream *s, const char *fname){ 216 if (s->display_name!=NULL){ 217 ms_free(s->display_name); 218 s->display_name=NULL; 219 } 220 if (fname!=NULL) 221 s->display_name=ms_strdup(fname); 200 222 } 201 223 … … 267 289 ms_filter_set_notify_callback (stream->output,ext_display_cb,stream); 268 290 }else{ 269 #ifndef WIN32 270 stream->output=ms_filter_new(MS_VIDEO_OUT_ID); 271 #else 272 stream->output=ms_filter_new(MS_DRAWDIB_DISPLAY_ID); 273 #endif 291 stream->output=ms_filter_new_from_name (stream->display_name); 274 292 } 275 293 … … 398 416 399 417 /* creates the filters */ 418 choose_display_name(stream); 400 419 stream->source = ms_web_cam_create_reader(device); 401 420 402 #ifndef WIN32 403 stream->output = ms_filter_new(MS_VIDEO_OUT_ID); 404 #else 405 stream->output = ms_filter_new(MS_DRAWDIB_DISPLAY_ID); 406 #endif 407 421 stream->output=ms_filter_new_from_name (stream->display_name); 408 422 409 423 /* configure the filters */ … … 580 594 return -1; 581 595 } 582 #ifndef WIN32 583 stream->output=ms_filter_new(MS_VIDEO_OUT_ID); 584 #else 585 stream->output=ms_filter_new(MS_DRAWDIB_DISPLAY_ID); 586 #endif 596 stream->output=ms_filter_new_from_name (stream->display_name); 587 597 /*force the decoder to output YUV420P */ 588 598 format=MS_YUV420P;
Note: See TracChangeset
for help on using the changeset viewer.
