~paulbrianstewart/mplayer/medibuntu.natty

« back to all changes in this revision

Viewing changes to stream/stream_rtsp.c

  • Committer: Gauvain Pocentek
  • Date: 2010-09-25 09:39:02 UTC
  • mfrom: (66.1.6 maverick)
  • Revision ID: gauvain@images-20100925093902-9q2akz3ls3qzhaaw
* Merge from Ubuntu:
  - put back faac support
  - recommends apport-hooks-medibuntu
  - change Maintainer, Uploaders & Vcs-* fields.
* merge from debian, remaining changes:
  - build depend against, lame, x264, xvid
* debian/patches/60eval-api.patch, backport patch from upstream to
  unbreak compilation for eval.h move not yet in 0.6
* gmplayer is gone now, please see smplayer as alternative frontend.
  LP: #503537, #493088, #467534, #467524, #460326, #390399, #285570,
      #208680, #118709, #513065, #459595, #455913, #179918, #65165.
* enable the mencoder package
* sort build depends alphabetically
* enable dvdnav support, Closes: #582508, #488226, LP: #611749
* prepare new upload
* no longer build mplayer-gui, it doesn't build anymore with shared
  swscale
* merge from debian/experimental, remaining changes:
  - build depend against, lame, x264, xvid
  - enable mencoder and mplayer-gui
* ensure that quilt patches are actually applied
* New Upstream Version, LP: #539315
* Build (against) again the System FFmpeg 
* tighten dependency on FFmpeg 0.6
* remove patches merged upstream
* remove 22disable-xscreensaver.patch
* refresh patches
* readd x264, xvid and mp3lame support, LP: #606125
* remove old parallel building mechanism, fixes FTBFS
* New upstream version
* compile against internal ffmpeg for now, LP: #587203, #588097
* recompile for directfb transtion, LP: #587163
* remove patches that were merged upstream
* avoid removing DOCS/html directory. it is included in release
  tarball
* convert to source Format: 3.0 (quilt)
* refreshed patches
* remove files that are included in upstream tarball
* rework debian/rules file
  - support parallel building
  - merge build rules for mplayer and mencoder package
  - remove unreferenced COMMON_CONFIGURE_FLAGS macro
  - rename DEB_BUILD_CONFIGURE -> CONFIGURE_FLAGS
  - don't build documentation - release tarballs have them prebuilt
  - build HTML documentation only if not already avaiable in the build
    tree
  - remove remaining references to debian/strip.sh from debian/rules
* remove copied vdpau headers
* copy in mencoder.c from upstream
* enable mplayer-gui (Closes: #579925) and mencoder packages. 
  (Closes: #396954, #400940, #580168)
* Fix rtsp vulnerability. Patch applied by DSA. Closes: #581245
* Fix another integer overflow, Closes: #524805
* prepare new upload
* sync libao2/ao_pulse.c with svn r30062, Closes: #558196, #580113
* make configure use pkg-config for fribidi checks. Closes: #582784,
  LP: #556200
* document 23mplayer-debug-printf.patch
* avoid mentioning of GTK frontend in mplayer description
* improve package descriptions of mplayer-doc and mplayer-dbg
* medium urgency because of fixed security issue
* fix SVN_VERION regex in debian rules to unbreak get-orig-source
  target. Closes: #582369
* forcefully disable arts support. Closes: #581225
* Remove mencoder from Depends in mplayer-dbg package.
* new upstream snapshot from rc3 branch.
* remove patches applied upstream:
  
  - 24_enable_fontconfig_by_default.diff
  - 30_add_gmplayer_man_rules.diff
  - 40_improve_desktop_file.patch
  - 41_fix_forcedsubsonly.patch
  - 50_fix_crashes_with_invalid_SDPs.patch
  - 50_fix_initial_volume_setting_pulse_output.patch
  - 61-malloc-bsd.patch
  - 62-disable-vidix-on-kfreebsd-amd64.patch
  - 63-sys-kd-include.patch
* don't install apport hook
* gross hack to avoid building mplayer-nogui and mplayer-gui packages
* add md5sum to remove to avoid spurious conffile prompt, Closes: #568272
* Make mplayer build on kFreeBSD (backports from upstream), Closes: #578622
  - Revert obscure hack that disables the malloc.h check on certain BSD
    platforms. 
  - disable vidix on kFreeBSD-amd64
  - rename 'struct keypad' -> 'struct m_keypad' to avoid FTBFS on
    kFreeBSD/amd64
* enable fontconfig by default. (Closes: #573257)

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
 
47
47
#define RTSP_DEFAULT_PORT 554
48
48
 
49
 
extern int network_bandwidth;
50
 
 
51
49
static int
52
50
rtsp_streaming_read (int fd, char *buffer,
53
51
                     int size, streaming_ctrl_t *stream_ctrl)
78
76
                         port = (stream->streaming_ctrl->url->port ?
79
77
                                 stream->streaming_ctrl->url->port :
80
78
                                 RTSP_DEFAULT_PORT), 1);
81
 
    
 
79
 
82
80
    if (fd < 0 && !stream->streaming_ctrl->url->port)
83
81
      fd = connect2Server (stream->streaming_ctrl->url->hostname,
84
82
                           port = 7070, 1);
85
83
 
86
84
    if (fd < 0)
87
85
      return -1;
88
 
    
 
86
 
89
87
    file = stream->streaming_ctrl->url->file;
90
88
    if (file[0] == '/')
91
89
      file++;
92
90
 
93
91
    mrl = malloc (strlen (stream->streaming_ctrl->url->hostname)
94
92
                  + strlen (file) + 16);
95
 
    
 
93
 
96
94
    sprintf (mrl, "rtsp://%s:%i/%s",
97
95
             stream->streaming_ctrl->url->hostname, port, file);
98
96
 
112
110
 
113
111
    free (mrl);
114
112
    temp--;
115
 
  } while ((redirected != 0) && (temp > 0));    
 
113
  } while ((redirected != 0) && (temp > 0));
116
114
 
117
115
  if (!rtsp)
118
116
    return -1;
119
117
 
120
118
  stream->fd = fd;
121
119
  stream->streaming_ctrl->data = rtsp;
122
 
  
 
120
 
123
121
  stream->streaming_ctrl->streaming_read = rtsp_streaming_read;
124
122
  stream->streaming_ctrl->streaming_seek = NULL;
125
123
  stream->streaming_ctrl->prebuffer_size = 128*1024;  // 640 KBytes
126
124
  stream->streaming_ctrl->buffering = 1;
127
125
  stream->streaming_ctrl->status = streaming_playing_e;
128
 
  
 
126
 
129
127
  return 0;
130
128
}
131
129
 
132
130
static void
133
 
rtsp_streaming_close (struct stream_st *s)
 
131
rtsp_streaming_close (struct stream *s)
134
132
{
135
133
  rtsp_session_t *rtsp = NULL;
136
 
  
 
134
 
137
135
  rtsp = (rtsp_session_t *) s->streaming_ctrl->data;
138
136
  if (rtsp)
139
137
    rtsp_session_end (rtsp);
144
142
{
145
143
  URL_t *url;
146
144
  extern int index_mode;
147
 
  
 
145
 
148
146
  mp_msg (MSGT_OPEN, MSGL_V, "STREAM_RTSP, URL: %s\n", stream->url);
149
147
  stream->streaming_ctrl = streaming_ctrl_new ();
150
148
  if (!stream->streaming_ctrl)